From d5459e5ddf067268ce45190a0fe786b806370adc Mon Sep 17 00:00:00 2001 From: simonkuehling Date: Mon, 13 Feb 2023 21:00:53 +0100 Subject: [PATCH 001/140] Show units next to [No Stock]-badge in part search (implements #4330) (#4339) --- InvenTree/templates/js/translated/part.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 1c0fa1460d..c4c0d115b5 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -617,7 +617,12 @@ function partStockLabel(part, options={}) { return `{% trans "Building" %}: ${part.building} ${units}`; } else { // There is no stock - return `{% trans "No Stock" %}`; + var unit_badge = ''; + if (units) { + // show units next to [No Stock] badge + unit_badge = `{% trans "Unit" %}: ${units} `; + } + return `${unit_badge}{% trans "No Stock" %}`; } } From bc309603ebe0866467eb64154afd6b3f1d5700bd Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 14 Feb 2023 22:06:17 +1100 Subject: [PATCH 002/140] Allow currency list to be specified from environment variables (#4343) - Add option to get_setting in config.py to allow list casting --- InvenTree/InvenTree/config.py | 27 ++++++++++++++++++++++++++- InvenTree/InvenTree/settings.py | 18 +++++++++++------- 2 files changed, 37 insertions(+), 8 deletions(-) diff --git a/InvenTree/InvenTree/config.py b/InvenTree/InvenTree/config.py index 892e5751c4..703b0097da 100644 --- a/InvenTree/InvenTree/config.py +++ b/InvenTree/InvenTree/config.py @@ -13,6 +13,25 @@ CONFIG_DATA = None CONFIG_LOOKUPS = {} +def to_list(value, delimiter=','): + """Take a configuration setting and make sure it is a list. + + For example, we might have a configuration setting taken from the .config file, + which is already a list. + + However, the same setting may be specified via an environment variable, + using a comma delimited string! + """ + + if type(value) in [list, tuple]: + return value + + # Otherwise, force string value + value = str(value) + + return [x.strip() for x in value.split(delimiter)] + + def is_true(x): """Shortcut function to determine if a value "looks" like a boolean""" return str(x).strip().lower() in ['1', 'y', 'yes', 't', 'true', 'on'] @@ -101,7 +120,12 @@ def get_setting(env_var=None, config_key=None, default_value=None, typecast=None """ def try_typecasting(value, source: str): """Attempt to typecast the value""" - if typecast is not None: + + # Force 'list' of strings + if typecast is list: + value = to_list(value) + + elif typecast is not None: # Try to typecast the value try: val = typecast(value) @@ -109,6 +133,7 @@ def get_setting(env_var=None, config_key=None, default_value=None, typecast=None return val except Exception as error: logger.error(f"Failed to typecast '{env_var}' with value '{value}' to type '{typecast}' with error {error}") + set_metadata(source) return value diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index e773a1d378..68174f019a 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -103,7 +103,8 @@ MEDIA_ROOT = config.get_media_dir() # List of allowed hosts (default = allow all) ALLOWED_HOSTS = get_setting( config_key='allowed_hosts', - default_value=['*'] + default_value=['*'], + typecast=list, ) # Cross Origin Resource Sharing (CORS) options @@ -119,7 +120,8 @@ CORS_ORIGIN_ALLOW_ALL = get_boolean_setting( CORS_ORIGIN_WHITELIST = get_setting( config_key='cors.whitelist', - default_value=[] + default_value=[], + typecast=list, ) # Needed for the parts importer, directly impacts the maximum parts that can be uploaded @@ -736,9 +738,11 @@ if get_boolean_setting('TEST_TRANSLATIONS', default_value=False): # pragma: no django.conf.locale.LANG_INFO = LANG_INFO # Currencies available for use -CURRENCIES = get_setting('INVENTREE_CURRENCIES', 'currencies', [ - 'AUD', 'CAD', 'CNY', 'EUR', 'GBP', 'JPY', 'NZD', 'USD', -]) +CURRENCIES = get_setting( + 'INVENTREE_CURRENCIES', 'currencies', + ['AUD', 'CAD', 'CNY', 'EUR', 'GBP', 'JPY', 'NZD', 'USD'], + typecast=list, +) # Maximum number of decimal places for currency rendering CURRENCY_DECIMAL_PLACES = 6 @@ -746,7 +750,7 @@ CURRENCY_DECIMAL_PLACES = 6 # Check that each provided currency is supported for currency in CURRENCIES: if currency not in moneyed.CURRENCIES: # pragma: no cover - print(f"Currency code '{currency}' is not supported") + logger.error(f"Currency code '{currency}' is not supported") sys.exit(1) # Custom currency exchange backend @@ -795,7 +799,7 @@ IMPORT_EXPORT_USE_TRANSACTIONS = True SITE_ID = 1 # Load the allauth social backends -SOCIAL_BACKENDS = get_setting('INVENTREE_SOCIAL_BACKENDS', 'social_backends', []) +SOCIAL_BACKENDS = get_setting('INVENTREE_SOCIAL_BACKENDS', 'social_backends', [], typecast=list) for app in SOCIAL_BACKENDS: INSTALLED_APPS.append(app) # pragma: no cover From f4bc65523cee1872ab06415752f60b1e79319476 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 16 Feb 2023 09:52:03 +1100 Subject: [PATCH 003/140] New Crowdin updates (#4320) * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin --- InvenTree/locale/cs/LC_MESSAGES/django.po | 1107 ++--- InvenTree/locale/da/LC_MESSAGES/django.po | 1157 ++--- InvenTree/locale/de/LC_MESSAGES/django.po | 1109 ++--- InvenTree/locale/el/LC_MESSAGES/django.po | 1109 ++--- InvenTree/locale/es/LC_MESSAGES/django.po | 5047 +++++++++++---------- InvenTree/locale/fa/LC_MESSAGES/django.po | 1107 ++--- InvenTree/locale/fr/LC_MESSAGES/django.po | 1313 +++--- InvenTree/locale/he/LC_MESSAGES/django.po | 1107 ++--- InvenTree/locale/hu/LC_MESSAGES/django.po | 1109 ++--- InvenTree/locale/id/LC_MESSAGES/django.po | 1109 ++--- InvenTree/locale/it/LC_MESSAGES/django.po | 2183 ++++----- InvenTree/locale/ja/LC_MESSAGES/django.po | 1107 ++--- InvenTree/locale/ko/LC_MESSAGES/django.po | 1107 ++--- InvenTree/locale/nl/LC_MESSAGES/django.po | 1159 ++--- InvenTree/locale/no/LC_MESSAGES/django.po | 1109 ++--- InvenTree/locale/pl/LC_MESSAGES/django.po | 1109 ++--- InvenTree/locale/pt/LC_MESSAGES/django.po | 1107 ++--- InvenTree/locale/ru/LC_MESSAGES/django.po | 1119 ++--- InvenTree/locale/sl/LC_MESSAGES/django.po | 1109 ++--- InvenTree/locale/sv/LC_MESSAGES/django.po | 1109 ++--- InvenTree/locale/th/LC_MESSAGES/django.po | 1107 ++--- InvenTree/locale/tr/LC_MESSAGES/django.po | 1109 ++--- InvenTree/locale/vi/LC_MESSAGES/django.po | 1107 ++--- InvenTree/locale/zh/LC_MESSAGES/django.po | 1109 ++--- 24 files changed, 16070 insertions(+), 15854 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index c54c764a65..f07137466d 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -44,7 +44,7 @@ msgstr "Zadejte datum" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Poznámky" @@ -212,14 +212,14 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Odkaz" @@ -237,9 +237,9 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Chyba při přejmenování souboru" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Neplatný výběr" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Název" @@ -317,9 +317,9 @@ msgstr "Název" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "nadřazený" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Cesta" @@ -433,107 +433,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Čeština" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Němčina" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Řečtina" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Angličtina" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Španělština" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Španělština (Mexiko)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Farsi / Perština" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Francouzština" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Hebrejština" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Maďarština" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Italština" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japonština" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Korejština" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Nizozemština" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norština" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polština" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugalština" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portugalština (Brazilská)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Ruština" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Švédština" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Thajština" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Turečtina" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnamština" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Čínština" @@ -810,7 +810,7 @@ msgstr "" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,13 +939,14 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "" #: build/models.py:285 -msgid "User responsible for this build order" +msgid "User or group responsible for this build order" msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 @@ -1034,7 +1035,7 @@ msgstr "" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "" @@ -1045,7 +1046,7 @@ msgstr "" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Jméno společnosti" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Potvrdit" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 5804042b02..46b2af2037 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-15 21:25\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -44,7 +44,7 @@ msgstr "Angiv dato" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Bemærkninger" @@ -92,11 +92,11 @@ msgstr "Du skal indtaste den samme e-mail hver gang." #: InvenTree/forms.py:230 InvenTree/forms.py:236 msgid "The provided primary email address is not valid." -msgstr "" +msgstr "Den indtastede email adresse er ikke gyldig." #: InvenTree/forms.py:242 msgid "The provided email domain is not approved." -msgstr "" +msgstr "Det angivne e-mail domæne er ikke godkendt." #: InvenTree/helpers.py:166 msgid "Connection error" @@ -212,14 +212,14 @@ msgstr "Vedhæftning" msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Link" @@ -237,9 +237,9 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Fejl ved omdøbning af fil" msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Ugyldigt valg" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Navn" @@ -317,9 +317,9 @@ msgstr "Navn" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "overordnet" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Sti" @@ -433,107 +433,107 @@ msgstr "URL til ekstern billedfil" msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Tjekkisk" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Dansk" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Græsk" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Spansk (Mexikansk)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Hollandsk" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilien)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" -msgstr "" +msgstr "Slovensk" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Kinesisk" @@ -810,7 +810,7 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,14 +834,14 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 #: templates/js/translated/stock.js:2887 msgid "Part" -msgstr "" +msgstr "Del" #: build/models.py:189 msgid "Select part to build" @@ -849,7 +849,7 @@ msgstr "Vælg dele til produktion" #: build/models.py:194 msgid "Sales Order Reference" -msgstr "" +msgstr "Salgsordrereference" #: build/models.py:198 msgid "SalesOrder to which this build is allocated" @@ -858,7 +858,7 @@ msgstr "Salgsordre, som er tildelt denne produktion" #: build/models.py:203 build/serializers.py:824 #: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 msgid "Source Location" -msgstr "" +msgstr "Kilde Lokation" #: build/models.py:207 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" @@ -866,11 +866,11 @@ msgstr "Vælg lokation for lager, som skal benyttes til denne produktion (lad fe #: build/models.py:212 msgid "Destination Location" -msgstr "" +msgstr "Destinations Placering" #: build/models.py:216 msgid "Select location where the completed items will be stored" -msgstr "" +msgstr "Vælg placering, hvor de færdige elementer vil blive gemt" #: build/models.py:220 msgid "Build Quantity" @@ -882,11 +882,11 @@ msgstr "Antal lagervarer som skal produceres" #: build/models.py:227 msgid "Completed items" -msgstr "" +msgstr "Afsluttede elementer" #: build/models.py:229 msgid "Number of stock items which have been completed" -msgstr "" +msgstr "Antal lagervarer som er færdiggjort" #: build/models.py:233 msgid "Build Status" @@ -899,7 +899,7 @@ msgstr "Produktions statuskode" #: build/models.py:246 build/serializers.py:225 order/serializers.py:455 #: stock/models.py:720 templates/js/translated/order.js:1568 msgid "Batch Code" -msgstr "" +msgstr "Batch Kode" #: build/models.py:250 build/serializers.py:226 msgid "Batch code for this build output" @@ -908,11 +908,11 @@ msgstr "Batch kode til dette produktions output" #: build/models.py:253 order/models.py:87 part/models.py:1002 #: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 msgid "Creation Date" -msgstr "" +msgstr "Oprettelsesdato" #: build/models.py:257 order/models.py:681 msgid "Target completion date" -msgstr "" +msgstr "Projekteret afslutningsdato" #: build/models.py:258 msgid "Target date for build completion. Build will be overdue after this date." @@ -921,32 +921,33 @@ msgstr "" #: build/models.py:261 order/models.py:292 #: templates/js/translated/build.js:2685 msgid "Completion Date" -msgstr "" +msgstr "Dato for afslutning" #: build/models.py:267 msgid "completed by" -msgstr "" +msgstr "udført af" #: build/models.py:275 templates/js/translated/build.js:2653 msgid "Issued by" -msgstr "" +msgstr "Udstedt af" #: build/models.py:276 msgid "User who issued this build order" -msgstr "" +msgstr "Bruger som udstedte denne byggeordre" #: build/models.py:284 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" -msgstr "" +msgstr "Ansvarlig" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "" +msgid "User or group responsible for this build order" +msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -954,28 +955,28 @@ msgstr "" #: part/templates/part/part_base.html:390 stock/models.py:714 #: stock/templates/stock/item_base.html:203 msgid "External Link" -msgstr "" +msgstr "Ekstern link" #: build/models.py:295 msgid "Extra build notes" -msgstr "" +msgstr "Ekstra bygge noter" #: build/models.py:299 msgid "Build Priority" -msgstr "" +msgstr "Bygge Prioritet" #: build/models.py:302 msgid "Priority of this build order" -msgstr "" +msgstr "Prioritet af denne byggeordre" #: build/models.py:540 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "" +msgstr "Bygningsordre {build} er fuldført" #: build/models.py:546 msgid "A build order has been completed" -msgstr "" +msgstr "En byggeordre er fuldført" #: build/models.py:725 msgid "No build output specified" @@ -1034,7 +1035,7 @@ msgstr "" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "" @@ -1045,7 +1046,7 @@ msgstr "" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 8641afbfc2..52d475a701 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-07 09:21\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:03\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -44,7 +44,7 @@ msgstr "Datum eingeben" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Notizen" @@ -212,14 +212,14 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Link" @@ -237,9 +237,9 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Fehler beim Umbenennen" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Name" @@ -317,9 +317,9 @@ msgstr "Name" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "Eltern" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Pfad" @@ -433,107 +433,107 @@ msgstr "URL der Remote-Bilddatei" msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Tschechisch" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Dänisch" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Griechisch" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Spanisch" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Spanisch (Mexikanisch)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Persisch" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Hebräisch" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Ungarisch" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Italienisch" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japanisch" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Koreanisch" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Niederländisch" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norwegisch" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugiesisch" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portugiesisch (Brasilien)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "Slowenisch" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Chinesisch" @@ -810,7 +810,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Verantwortlicher Benutzer" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Nutzer der für diesen Bauauftrag zuständig ist" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "Bauauftrag starten um Teile zuzuweisen" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Lagerartikel" @@ -1045,7 +1046,7 @@ msgstr "Quell-Lagerartikel" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Quell-Lagerartikel" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1171,7 +1172,7 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "Zieldatum" @@ -1513,7 +1514,7 @@ msgstr "Zugewiesene Teile" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "{name.title()} Datei" msgid "Select {name} file to upload" msgstr "{name} Datei zum Hochladen auswählen" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "Aktualisiert" @@ -1754,1142 +1755,1142 @@ msgstr "Nur Ganzzahl eingeben" msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "Keine Gruppe" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "Eine leere Domain ist nicht erlaubt." -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ungültiger Domainname: {domain}" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/models.py:874 +#: common/models.py:885 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:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "Name der Serverinstanz" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "Anzeige von `Über` einschränken" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Firmenname" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "Wählen Sie die Basiswährung für die Preiskalkulation" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "Download-Größenlimit" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "Maximal zulässige Größe für heruntergeladene Bilder" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "Benutzer-Agent zum Herunterladen von Daten" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "Bestätigung verpflichtend" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "Eine ausdrückliche Benutzerbestätigung für bestimmte Aktionen erfordern." -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "Baumtiefe" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standard Ebene für Baumansicht. Tiefere Ebenen kann bei Bedarf nachgeladen werden." -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "Automatische Sicherung" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "Automatische Sicherung der Datenbank- und Mediendateien aktivieren" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "Tage zwischen Sicherung" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "Anzahl der Tage zwischen automatischen Sicherungen" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "Alte Aufgaben löschen" -#: common/models.py:984 +#: common/models.py:995 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:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "Fehlerprotokolle löschen" -#: common/models.py:995 +#: common/models.py:1006 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:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "Benachrichtigungen löschen" -#: common/models.py:1006 +#: common/models.py:1017 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:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "Barcode-Scanner Unterstützung" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "Barcode-Eingabeverzögerung" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "Verzögerungszeit bei Barcode-Eingabe" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "Barcode Webcam-Unterstützung" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:1068 +#: common/models.py:1079 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:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:1075 +#: common/models.py:1086 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:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "Vorlage" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "Komponente" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "Initialer Lagerbestand" -#: common/models.py:1152 +#: common/models.py:1163 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:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" -#: common/models.py:1159 +#: common/models.py:1170 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:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "Standardsymbol der Teilkategorie" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "Dezimalstellen für Preise" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "Anzahl der Dezimalstellen, die bei der Darstellung der Preisdaten angezeigt werden sollen" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/models.py:1212 +#: common/models.py:1223 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:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "Neuberechnungs-Zyklus für Preisinformationen" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "Tage" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/models.py:1269 +#: common/models.py:1280 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:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "Testberichte aktivieren" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "Testberichte anhängen" -#: common/models.py:1311 +#: common/models.py:1322 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:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel erschöpft ist" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1339 +#: common/models.py:1350 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:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1359 +#: common/models.py:1370 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:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1387 +#: common/models.py:1398 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:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1394 +#: common/models.py:1405 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:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Verkaufsaufträge bearbeiten" -#: common/models.py:1408 +#: common/models.py:1419 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:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1415 +#: common/models.py:1426 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:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1422 +#: common/models.py:1433 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:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1451 +#: common/models.py:1462 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:1457 +#: common/models.py:1468 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1472 +#: common/models.py:1483 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:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (komma-separiert, mit @ startend)" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1507 +#: common/models.py:1518 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:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "Plugin-Signaturen überprüfen" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "Signaturen für Plugins prüfen und anzeigen" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1730 +#: common/models.py:1741 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:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1737 +#: common/models.py:1748 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:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "Zuliefererteile durchsuchen" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:1786 +#: common/models.py:1797 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:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:1842 +#: common/models.py:1853 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:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "Inventurinformationen anzeigen" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "Preis" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "Token" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "Host" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "Body" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "ID" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "Titel" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "Gelesen" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" @@ -3180,7 +3181,7 @@ msgstr "Hersteller auswählen" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "MPN" @@ -3210,7 +3211,7 @@ msgstr "Parametername" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "Wert" @@ -3222,7 +3223,7 @@ msgstr "Parameterwert" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "Einheiten" @@ -3242,7 +3243,7 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "Zulieferer" @@ -3254,7 +3255,7 @@ msgstr "Zulieferer auswählen" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" @@ -3306,7 +3307,7 @@ msgstr "Teile-Verpackungen" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "Packmenge" @@ -3326,8 +3327,8 @@ msgstr "Mehrere bestellen" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "Verfügbar" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "Bild entfernen" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "Verknüpftes Bild von dieser Firma entfernen" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Entfernen" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "Bild hochladen" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "Bild herunterladen" @@ -3595,8 +3596,8 @@ msgstr "Zuliefererteil entfernen" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "Löschen" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "Parameter löschen" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "Parameter hinzufügen" @@ -3769,8 +3770,8 @@ msgstr "Teilverfügbarkeit aktualisieren" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -3907,7 +3908,7 @@ msgstr "Keine passende Bestellung gefunden" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "Zuliefererteil" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "Empfangen" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Sendung" @@ -4681,7 +4682,7 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "Teil-ID" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "Beschreibung des Teils" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "IPN (Interne Produktnummer)" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "Version" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "Schlüsselwörter" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "Kategorie-ID" @@ -4738,8 +4739,8 @@ msgstr "Auf Lager" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "Bestellt" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "Zugeordnet" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "Im Bau" @@ -4787,7 +4788,7 @@ msgstr "Pfad zur Kategorie" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Teile" @@ -4966,7 +4967,7 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "Kategorie" @@ -5062,9 +5063,13 @@ msgstr "BOM Kontrolldatum" msgid "Creation User" msgstr "Erstellungs-Nutzer" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "Letzte Inventur" @@ -5208,7 +5213,7 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden" 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:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "Test-Name" @@ -5250,7 +5255,7 @@ msgstr "Test-Beschreibung" msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "Benötigt" @@ -5259,7 +5264,7 @@ msgstr "Benötigt" msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "Erfordert Wert" @@ -5267,7 +5272,7 @@ msgstr "Erfordert Wert" 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:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "Teil duplizieren" @@ -5567,83 +5572,83 @@ msgstr "Lieferanteninformationen" msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" @@ -6046,13 +6051,13 @@ msgstr "Teil ist virtuell (kein physisches Teil)" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "Inaktiv" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "Teildetails anzeigen" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "Minimaler Bestand" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "letzte Seriennummer" msgid "Search for serial number" msgstr "Nach Seriennummer suchen" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "Barcode mit Teil verknüpfen" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "Berechnen" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "Verknüpftes Bild von diesem Teil entfernen" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "Keine passenden Bilder gefunden" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "Teildetails ausblenden" @@ -6258,8 +6263,8 @@ msgstr "Verkaufspreise" msgid "Add Sell Price Break" msgstr "Verkaufspreisstaffel hinzufügen" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "Kein Bestand" @@ -6693,7 +6698,7 @@ msgstr "Lagerartikel Test-Bericht" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "Verbaute Objekte" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "Seriennummer" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "Standort-ID" @@ -6751,7 +6756,7 @@ msgstr "Lagerortpfad" msgid "Stock Item ID" msgstr "Lagerartikel ID" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "Zuliefererteil-ID" @@ -6772,7 +6777,7 @@ msgstr "Kunden ID" msgid "Installed In" msgstr "verbaut in" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "Bauauftrag-ID" @@ -8341,7 +8346,7 @@ msgstr "E-Mail-Adresse bestätigen" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Bitte bestätigen Sie, dass %(email)s eine E-Mail-Adresse für den Benutzer %(user_display)s ist." -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Bestätigen" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "Mindestmenge" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "Beinhaltet Variante und Ersatzbestand" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "Beinhaltet Variantenbestand" @@ -9254,8 +9259,8 @@ msgstr "Lagerartikel zuordnen" msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "Auswählen" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "Vorlagenteil" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "Parameter löschen" @@ -9448,61 +9453,61 @@ msgstr "Filter entfernen" msgid "Create filter" msgstr "Filter anlegen" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "Aktion verboten" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "Erstellvorgang nicht erlaubt" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "Updatevorgang nicht erlaubt" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "Löschvorgang nicht erlaubt" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "Anzeigevorgang nicht erlaubt" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "Dieses Formular offen lassen" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "Gib eine gültige Nummer ein" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "Spalten auswählen" @@ -9635,25 +9640,25 @@ msgstr "Fehler 400 von Server erhalten" msgid "Error requesting form data" msgstr "Fehler bei Formulardaten-Anfrage" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "Firmen-ID" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "Bestands-ID" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "Bestell-ID" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "Sendungs-ID" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "Herstellerteil-ID" @@ -9881,7 +9886,7 @@ msgstr "Empfang der Teile bestätigen" msgid "Receive Purchase Order Items" msgstr "Bestellpositionen erhalten" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" @@ -9914,8 +9919,8 @@ msgstr "Keine Positionen gefunden" msgid "Total" msgstr "Summe" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "Gesamtstückzahl" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "Gesamtpreis" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "Diese Position ist überfällig" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "Position empfangen" @@ -10118,302 +10123,306 @@ msgstr "Einstellungen für Teilkopien" msgid "Add Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "Icon (optional) - alle verfügbaren Icons einsehbar auf" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "Teil-Kategorie bearbeiten" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "Möchten Sie diese Kategorie wirklich löschen?" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "In übergeordnete Kategorie verschieben" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "Aktion für Teile in dieser Kategorie" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "Aktion für Unterkategorien" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "Teil hinzufügen" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "Ein weiteres Teil anlegen" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "Teil erfolgreich angelegt" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "Teil bearbeiten" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "Teil bearbeitet" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "Teil-Variante anlegen" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "Aktives Teil" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "Teil kann nicht gelöscht werden, da es derzeit aktiv ist" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "Alle Lagerartikel für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "Dieses Teil wird von allen Stücklisten entfernt" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Alle Hersteller- und Zuliefererinformationen für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "Teil löschen" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "Benachrichtigungen für dieses Teil abonnieren" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abgemeldet" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "Die Stückliste zu validieren markiert jede Zeile als gültig" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "Stückliste prüfen" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "überprüfte Stückliste" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "Stückliste kopieren" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "virtuelles Teil" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "Abonnierter Teil" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "Lagerartikel wurde in letzter Zeit nicht geprüft" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "Element aktualisieren" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "Element löschen" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "Keine Inventurinformationen verfügbar" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "Inventureintrag bearbeiten" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "Inventureintrag löschen" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "Kein Bestand" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "Zu Bauaufträgen zugeordnet" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "Zu Bestellungen zugeordnet" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "Listenansicht" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "Rasteransicht" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "Legen Sie die Teilkategorie für die ausgewählten Teile fest" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "Teil-Kategorie auswählen" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "Teil-Kategorie wählen" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "Kategorie erforderlich" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "Baumansicht" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "Unterkategorien laden" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "Testergebnis-Vorlage bearbeiten" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "Testergebnis-Vorlage löschen" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "Kein Datum angegeben" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "Das angegebene Datum liegt in der Vergangenheit" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "Spekulativ" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "Keine Zeitplanung für dieses Teil vorhanden" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "Fehler beim Abrufen der Zeitplanungsinformationen für dieses Teil" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "Geplante Lagermengen" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "Maximale Anzahl" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "Minimaler Lagerbestand" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index a9d66832b2..f772a35fc6 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -44,7 +44,7 @@ msgstr "Εισάγετε ημερομηνία" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Σημειώσεις" @@ -212,14 +212,14 @@ msgstr "Συνημμένο" msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Σύνδεσμος" @@ -237,9 +237,9 @@ msgstr "Σχόλιο" msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Σφάλμα κατά τη μετονομασία" msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Μη έγκυρη επιλογή" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Όνομα" @@ -317,9 +317,9 @@ msgstr "Όνομα" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "γονέας" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Μονοπάτι" @@ -433,107 +433,107 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Τσέχικα" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Γερμανικά" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Ελληνικά" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Αγγλικά" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Ισπανικά" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Ισπανικά (Μεξικό)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Φαρσί / Περσικά" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Γαλλικά" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Εβραϊκά" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Ούγγρικα" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Ιταλικά" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Ιαπωνικά" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Κορεάτικα" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Dutch" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Νορβηγικά" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Πολωνικά" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Πορτογαλικά" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Πορτογαλικά (Βραζιλίας)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Ρωσικά" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Σουηδικά" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Ταϊλανδέζικα" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Τούρκικα" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Βιετναμέζικα" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Κινέζικα" @@ -810,7 +810,7 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελ #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Υπεύθυνος" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Υπεύθυνος για αυτή την παραγγελία κατασκευής" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "Κατασκευή για εκχώρηση τμημάτων" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" @@ -1045,7 +1046,7 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index a93542e3c4..462997ea3d 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,32 +2,32 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-07 09:21\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" -"Language-Team: Spanish, Mexico\n" -"Language: es_MX\n" +"Language-Team: Spanish\n" +"Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: es-MX\n" +"X-Crowdin-Language: es-ES\n" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" #: InvenTree/api.py:61 msgid "API endpoint not found" -msgstr "endpoint API no encontrado" +msgstr "\"API Endpoint\" no encontrado" #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" -msgstr "Detalles del error pueden encontrarse en el panel de administración" +msgstr "Los detalles del error pueden encontrarse en el panel de administración" #: InvenTree/fields.py:129 msgid "Enter date" -msgstr "Ingrese la fecha" +msgstr "Seleccionar una fecha" #: InvenTree/fields.py:204 build/serializers.py:388 #: build/templates/build/sidebar.html:21 company/models.py:530 @@ -44,7 +44,7 @@ msgstr "Ingrese la fecha" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Notas" @@ -60,31 +60,31 @@ msgstr "El valor proporcionado no coincide con el patrón requerido: " #: InvenTree/forms.py:135 msgid "Enter password" -msgstr "Introduzca contraseña" +msgstr "Introduce la contraseña" #: InvenTree/forms.py:136 msgid "Enter new password" -msgstr "Ingrese su nueva contraseña" +msgstr "Introduce una nueva contraseña" #: InvenTree/forms.py:145 msgid "Confirm password" -msgstr "Confirmar la contraseña" +msgstr "Confirma la contraseña" #: InvenTree/forms.py:146 msgid "Confirm new password" -msgstr "Confirmar contraseña nueva" +msgstr "Confirma la nueva contraseña" #: InvenTree/forms.py:150 msgid "Old password" -msgstr "Contraseña vieja" +msgstr "Contraseña anterior" #: InvenTree/forms.py:179 msgid "Email (again)" -msgstr "Email (de nuevo)" +msgstr "Correo electrónico (de nuevo)" #: InvenTree/forms.py:183 msgid "Email address confirmation" -msgstr "Confirmación de dirección de email" +msgstr "Confirmación de correo electrónico" #: InvenTree/forms.py:204 msgid "You must type the same email each time." @@ -92,11 +92,11 @@ msgstr "Debe escribir el mismo correo electrónico cada vez." #: InvenTree/forms.py:230 InvenTree/forms.py:236 msgid "The provided primary email address is not valid." -msgstr "La dirección de correo electrónico principal proporcionada no es válida." +msgstr "" #: InvenTree/forms.py:242 msgid "The provided email domain is not approved." -msgstr "El dominio de correo electrónico proporcionado no está aprobado." +msgstr "" #: InvenTree/helpers.py:166 msgid "Connection error" @@ -140,7 +140,7 @@ msgstr "No se ha proporcionado un número de serie" #: InvenTree/helpers.py:635 msgid "Duplicate serial" -msgstr "Serie duplicada" +msgstr "Número de serie duplicado" #: InvenTree/helpers.py:668 InvenTree/helpers.py:703 #, python-brace-format @@ -159,12 +159,12 @@ msgstr "Secuencia de grupo no válida: {g}" #: InvenTree/helpers.py:753 msgid "No serial numbers found" -msgstr "Numeros de serie no encontrados" +msgstr "No se ha encontrado ningún número de serie" #: InvenTree/helpers.py:756 #, 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})" +msgstr "El número de números de serie únicos ({s}) debe coincidir con la cantidad ({q})" #: InvenTree/helpers.py:955 msgid "Remove HTML tags from this value" @@ -180,15 +180,15 @@ msgstr "Clave de formato especificado desconocida" #: InvenTree/models.py:251 msgid "Missing required format key" -msgstr "Falta la clave de formato necesaria" +msgstr "Falta la clave de formato requerida" #: InvenTree/models.py:263 msgid "Reference field cannot be empty" -msgstr "El campo de servidor no puede estar vacío" +msgstr "El campo de referencia no puede estar vacío" #: InvenTree/models.py:270 msgid "Reference must match required pattern" -msgstr "La referencia debe coincidir con la expresión regular {pattern}" +msgstr "La referencia debe coincidir con el patrón requerido" #: InvenTree/models.py:306 msgid "Reference number is too large" @@ -212,14 +212,14 @@ msgstr "Archivo adjunto" msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Enlace" @@ -237,9 +237,9 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -262,7 +262,7 @@ msgstr "Directorio de archivos adjuntos no válido" #: InvenTree/models.py:467 #, python-brace-format msgid "Filename contains illegal character '{c}'" -msgstr "El nombre del archivo contiene el carácter ilegal '{c}'" +msgstr "El nombre del archivo contiene el carácter no válido '{c}'" #: InvenTree/models.py:470 msgid "Filename missing extension" @@ -280,7 +280,7 @@ msgstr "Error al cambiar el nombre del archivo" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Selección no válida" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Nombre" @@ -317,9 +317,9 @@ msgstr "Nombre" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -331,20 +331,20 @@ msgstr "Descripción (opcional)" #: InvenTree/models.py:573 msgid "parent" -msgstr "padre" +msgstr "superior" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Ruta" #: InvenTree/models.py:682 msgid "Barcode Data" -msgstr "Datos de código de barras" +msgstr "Hash del Código de barras" #: InvenTree/models.py:683 msgid "Third party barcode data" -msgstr "Datos de código de barras de terceros" +msgstr "Datos del código de barras de terceros" #: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" @@ -352,7 +352,7 @@ msgstr "Hash del Código de barras" #: InvenTree/models.py:689 msgid "Unique hash of barcode data" -msgstr "Hash único de datos de código de barras" +msgstr "Hash único de los datos de código de barras" #: InvenTree/models.py:734 msgid "Existing barcode found" @@ -360,11 +360,11 @@ msgstr "Código de barras existente encontrado" #: InvenTree/models.py:787 msgid "Server Error" -msgstr "Error de Servidor" +msgstr "Error del servidor" #: InvenTree/models.py:788 msgid "An error has been logged by the server." -msgstr "Se ha registrado un error por el servidor." +msgstr "Un error ha sido registrado por el servidor." #: InvenTree/serializers.py:58 part/models.py:3534 msgid "Must be a valid number" @@ -372,7 +372,7 @@ msgstr "Debe ser un numero valido" #: InvenTree/serializers.py:294 msgid "Filename" -msgstr "Nombre de Archivo" +msgstr "Nombre de archivo" #: InvenTree/serializers.py:329 msgid "Invalid value" @@ -384,7 +384,7 @@ msgstr "Archivo de datos" #: InvenTree/serializers.py:352 msgid "Select data file for upload" -msgstr "Seleccione el archivo para subir" +msgstr "Archivo seleccionado para subir" #: InvenTree/serializers.py:373 msgid "Unsupported file type" @@ -396,7 +396,7 @@ msgstr "El archivo es demasiado grande" #: InvenTree/serializers.py:400 msgid "No columns found in file" -msgstr "No hay columnas en el archivo" +msgstr "No se encontraron columnas en el archivo" #: InvenTree/serializers.py:403 msgid "No data rows found in file" @@ -408,7 +408,7 @@ msgstr "No se proporcionaron filas de datos" #: InvenTree/serializers.py:529 msgid "No data columns supplied" -msgstr "No hay columnas de datos proporcionadas" +msgstr "No se proporcionaron columnas de datos" #: InvenTree/serializers.py:606 #, python-brace-format @@ -427,123 +427,123 @@ msgstr "URL" #: InvenTree/serializers.py:642 msgid "URL of remote image file" -msgstr "URL de imagen remota" +msgstr "URL del archivo de imagen remoto" #: InvenTree/serializers.py:656 msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Checo" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Danés" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Alemán" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Griego" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Inglés" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Español" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Español (México)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" -msgstr "Farsi / Persa" +msgstr "Farsi / persa" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Francés" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Hebreo" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Húngaro" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japonés" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Holandés" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Noruego" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polaco" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugués" -#: InvenTree/settings.py:709 -msgid "Portuguese (Brazilian)" -msgstr "Portugués (Brasileño)" - -#: InvenTree/settings.py:710 -msgid "Russian" -msgstr "Ruso" - #: InvenTree/settings.py:711 -msgid "Slovenian" -msgstr "Esloveno" +msgid "Portuguese (Brazilian)" +msgstr "Português (Brasil)" #: InvenTree/settings.py:712 -msgid "Swedish" -msgstr "Sueco" +msgid "Russian" +msgstr "Ruso (Русский)" #: InvenTree/settings.py:713 +msgid "Slovenian" +msgstr "" + +#: InvenTree/settings.py:714 +msgid "Swedish" +msgstr "Svenska" + +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Tailandés" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" -msgstr "Turco" +msgstr "Türkçe" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" -msgstr "Chino" +msgstr "Chino (中文)" #: InvenTree/status.py:98 msgid "Background worker check failed" -msgstr "Falló la comprobación en segundo plano del worker" +msgstr "Falló la comprobación en segundo plano" #: InvenTree/status.py:102 msgid "Email backend not configured" -msgstr "No se ha configurado el backend de correo" +msgstr "No se ha configurado un servidor de correo electrónico" #: InvenTree/status.py:105 msgid "InvenTree system health checks failed" @@ -562,7 +562,7 @@ msgstr "Colocado" #: order/templates/order/order_base.html:143 #: order/templates/order/sales_order_base.html:133 msgid "Complete" -msgstr "Terminado" +msgstr "Completado" #: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 @@ -572,7 +572,7 @@ msgstr "Cancelado" #: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 #: InvenTree/status_codes.py:183 msgid "Lost" -msgstr "Perdida" +msgstr "Perdido" #: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 #: InvenTree/status_codes.py:186 @@ -590,7 +590,7 @@ msgstr "OK" #: InvenTree/status_codes.py:180 msgid "Attention needed" -msgstr "Atención necesaria" +msgstr "Atención requerida" #: InvenTree/status_codes.py:181 msgid "Damaged" @@ -606,7 +606,7 @@ msgstr "Rechazado" #: InvenTree/status_codes.py:185 msgid "Quarantined" -msgstr "En cuarentena" +msgstr "En Cuarentena" #: InvenTree/status_codes.py:259 msgid "Legacy stock tracking entry" @@ -618,7 +618,7 @@ msgstr "Artículo de stock creado" #: InvenTree/status_codes.py:263 msgid "Edited stock item" -msgstr "Elemento de stock editado" +msgstr "Artículo de stock editado" #: InvenTree/status_codes.py:264 msgid "Assigned serial number" @@ -642,11 +642,11 @@ msgstr "Ubicación cambiada" #: InvenTree/status_codes.py:272 msgid "Installed into assembly" -msgstr "Instalado en el ensamblaje" +msgstr "Instalado en el ensamblado" #: InvenTree/status_codes.py:273 msgid "Removed from assembly" -msgstr "Retirado del ensamblaje" +msgstr "Eliminado del ensamblado" #: InvenTree/status_codes.py:275 msgid "Installed component item" @@ -654,7 +654,7 @@ msgstr "Artículo del componente instalado" #: InvenTree/status_codes.py:276 msgid "Removed component item" -msgstr "Elemento de componente eliminado" +msgstr "Artículo de componente eliminado" #: InvenTree/status_codes.py:278 msgid "Split from parent item" @@ -662,7 +662,7 @@ msgstr "Separar del elemento principal" #: InvenTree/status_codes.py:279 msgid "Split child item" -msgstr "Dividir elemento secundario" +msgstr "Separar elemento secundario" #: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 msgid "Merged stock items" @@ -670,27 +670,27 @@ msgstr "Artículos de stock combinados" #: InvenTree/status_codes.py:283 msgid "Converted to variant" -msgstr "Convertir a variante" +msgstr "Convertido a variante" #: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 msgid "Sent to customer" -msgstr "Enviar al cliente" +msgstr "Enviado al cliente" #: InvenTree/status_codes.py:286 msgid "Returned from customer" -msgstr "Devolución del cliente" +msgstr "Devuelto por el cliente" #: InvenTree/status_codes.py:288 msgid "Build order output created" -msgstr "Trabajo de ensamblaje creado" +msgstr "Orden de ensamblado creada" #: InvenTree/status_codes.py:289 msgid "Build order output completed" -msgstr "Construir orden de salida completado" +msgstr "Orden de ensamblado completada" #: InvenTree/status_codes.py:290 msgid "Consumed by build order" -msgstr "Consumido por orden de construcción" +msgstr "Consumido por orden de ensamblado" #: InvenTree/status_codes.py:292 msgid "Received against purchase order" @@ -707,7 +707,7 @@ msgstr "No es un código de moneda válido" #: InvenTree/validators.py:91 #, python-brace-format msgid "IPN must match regex pattern {pat}" -msgstr "El IPN debe coincidir con la expresión regular {pat}" +msgstr "IPN debe coincidir con el patrón de regex {pat}" #: InvenTree/validators.py:133 InvenTree/validators.py:149 msgid "Overage value must not be negative" @@ -747,7 +747,7 @@ msgstr "Acerca de InvenTree" #: build/api.py:228 msgid "Build must be cancelled before it can be deleted" -msgstr "La compilación debe cancelarse antes de poder ser eliminada" +msgstr "La construcción debe cancelarse antes de que pueda ser eliminada" #: build/models.py:106 msgid "Invalid choice for parent build" @@ -760,7 +760,7 @@ msgstr "Opción no válida para la construcción padre" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:791 msgid "Build Order" -msgstr "Construir órden" +msgstr "Petición de Ensamblado" #: build/models.py:112 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -771,11 +771,11 @@ msgstr "Construir órden" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:254 users/models.py:41 msgid "Build Orders" -msgstr "Construir órdenes" +msgstr "Peticiones de Ensamblado" #: build/models.py:155 msgid "Build Order Reference" -msgstr "Número de orden de construcción o armado" +msgstr "Referencia de Orden de Ensamblado" #: build/models.py:156 order/models.py:241 order/models.py:651 #: order/models.py:941 part/admin.py:257 part/models.py:3444 @@ -792,7 +792,7 @@ msgstr "Referencia" #: build/models.py:167 msgid "Brief description of the build" -msgstr "Breve descripción de la construcción o armado" +msgstr "Breve descripción del ensamblado" #: build/models.py:175 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 @@ -801,7 +801,7 @@ msgstr "Construcción o Armado Superior" #: build/models.py:176 msgid "BuildOrder to which this build is allocated" -msgstr "Orden de Construcción o Armado a la que se asigna" +msgstr "Construcción de orden a la que se asigna esta versión" #: build/models.py:181 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:685 @@ -810,7 +810,7 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,14 +834,14 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 #: templates/js/translated/stock.js:2887 msgid "Part" -msgstr "Parte" +msgstr "Pieza" #: build/models.py:189 msgid "Select part to build" @@ -849,11 +849,11 @@ msgstr "Seleccionar parte a construir o armar" #: build/models.py:194 msgid "Sales Order Reference" -msgstr "Referencia de orden de venta" +msgstr "Referencia de Pedido de Entrega" #: build/models.py:198 msgid "SalesOrder to which this build is allocated" -msgstr "Orden de Venta a la que se asigna" +msgstr "Pedido de Entrega a la que este ensamblaje se asigna" #: build/models.py:203 build/serializers.py:824 #: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 @@ -870,7 +870,7 @@ msgstr "Ubicación de destino" #: build/models.py:216 msgid "Select location where the completed items will be stored" -msgstr "Seleccione la ubicación donde se almacenarán los elementos completados" +msgstr "Seleccione la ubicación donde se almacenarán los artículos completados" #: build/models.py:220 msgid "Build Quantity" @@ -878,11 +878,11 @@ msgstr "Cantidad a crear" #: build/models.py:223 msgid "Number of stock items to build" -msgstr "Número de objetos existentes a construir" +msgstr "Número de artículos de stock a ensamblar" #: build/models.py:227 msgid "Completed items" -msgstr "Elementos completados" +msgstr "Artículos completados" #: build/models.py:229 msgid "Number of stock items which have been completed" @@ -894,16 +894,16 @@ msgstr "Estado de la construcción" #: build/models.py:237 msgid "Build status code" -msgstr "Código de estado de construcción" +msgstr "" #: build/models.py:246 build/serializers.py:225 order/serializers.py:455 #: stock/models.py:720 templates/js/translated/order.js:1568 msgid "Batch Code" -msgstr "Numero de lote" +msgstr "" #: build/models.py:250 build/serializers.py:226 msgid "Batch code for this build output" -msgstr "Número de lote de este producto final" +msgstr "" #: build/models.py:253 order/models.py:87 part/models.py:1002 #: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 @@ -916,37 +916,38 @@ msgstr "Fecha límite de finalización" #: build/models.py:258 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." +msgstr "Fecha límite para la finalización del ensamblado. El ensamblado estará vencido después de esta fecha." #: build/models.py:261 order/models.py:292 #: templates/js/translated/build.js:2685 msgid "Completion Date" -msgstr "Fecha de finalización" +msgstr "Fecha de Finalización" #: build/models.py:267 msgid "completed by" -msgstr "terminado por" +msgstr "" #: build/models.py:275 templates/js/translated/build.js:2653 msgid "Issued by" -msgstr "Emitido por" +msgstr "" #: build/models.py:276 msgid "User who issued this build order" -msgstr "El usuario que emitió esta orden" +msgstr "" #: build/models.py:284 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Responsable" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Usuario responsable de esta orden" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -954,75 +955,75 @@ msgstr "Usuario responsable de esta orden" #: part/templates/part/part_base.html:390 stock/models.py:714 #: stock/templates/stock/item_base.html:203 msgid "External Link" -msgstr "Link externo" +msgstr "Enlaces Externo" #: build/models.py:295 msgid "Extra build notes" -msgstr "Notas adicionales de construcción" +msgstr "" #: build/models.py:299 msgid "Build Priority" -msgstr "Prioridad de construcción" +msgstr "" #: build/models.py:302 msgid "Priority of this build order" -msgstr "Prioridad de esta orden de construcción" +msgstr "" #: build/models.py:540 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "El pedido {build} ha sido procesado" +msgstr "" #: build/models.py:546 msgid "A build order has been completed" -msgstr "Pedido #[order] ha sido procesado" +msgstr "" #: build/models.py:725 msgid "No build output specified" -msgstr "No se ha especificado salida de construcción" +msgstr "" #: build/models.py:728 msgid "Build output is already completed" -msgstr "La construcción de la salida ya está completa" +msgstr "" #: build/models.py:731 msgid "Build output does not match Build Order" -msgstr "La salida de la construcción no coincide con el orden de construcción" +msgstr "" #: build/models.py:1188 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" +msgstr "" #: build/models.py:1197 #, 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})" +msgstr "" #: build/models.py:1207 order/models.py:1416 msgid "Stock item is over-allocated" -msgstr "Artículo de stock sobreasignado" +msgstr "" #: build/models.py:1213 order/models.py:1419 msgid "Allocation quantity must be greater than zero" -msgstr "Cantidad asignada debe ser mayor que cero" +msgstr "" #: build/models.py:1219 msgid "Quantity must be 1 for serialized stock" -msgstr "La cantidad debe ser 1 para el stock serializado" +msgstr "" #: build/models.py:1276 msgid "Selected stock item not found in BOM" -msgstr "Artículo de stock seleccionado no encontrado en BOM" +msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 #: templates/navbar.html:38 msgid "Build" -msgstr "Construcción o Armado" +msgstr "" #: build/models.py:1346 msgid "Build to allocate parts" -msgstr "Armar para asignar partes" +msgstr "" #: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 #: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 @@ -1034,18 +1035,18 @@ msgstr "Armar para asignar partes" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" -msgstr "Artículo de stock" +msgstr "" #: build/models.py:1363 msgid "Source stock item" -msgstr "Producto original de stock" +msgstr "" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Producto original de stock" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1086,55 +1087,55 @@ msgstr "Cantidad" #: build/models.py:1376 msgid "Stock quantity to allocate to build" -msgstr "Cantidad de stock a asignar para construir" +msgstr "" #: build/models.py:1384 msgid "Install into" -msgstr "Instalar en" +msgstr "" #: build/models.py:1385 msgid "Destination stock item" -msgstr "Artículo de stock de destino" +msgstr "" #: build/serializers.py:138 build/serializers.py:693 #: templates/js/translated/build.js:1235 msgid "Build Output" -msgstr "Resultado de la construcción o armado" +msgstr "" #: build/serializers.py:150 msgid "Build output does not match the parent build" -msgstr "La salida de construcción no coincide con la construcción padre" +msgstr "" #: build/serializers.py:154 msgid "Output part does not match BuildOrder part" -msgstr "La parte de salida no coincide con la parte de la Orden de Construcción" +msgstr "" #: build/serializers.py:158 msgid "This build output has already been completed" -msgstr "Esta salida de construcción ya ha sido completada" +msgstr "" #: build/serializers.py:169 msgid "This build output is not fully allocated" -msgstr "Esta salida de construcción no está completamente asignada" +msgstr "" #: build/serializers.py:194 msgid "Enter quantity for build output" -msgstr "Ingrese la cantidad para la producción de la construcción" +msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" -msgstr "La cantidad debe ser mayor que cero" +msgstr "" #: build/serializers.py:215 msgid "Integer quantity required for trackable parts" -msgstr "Cantidad entera requerida para partes rastreables" +msgstr "" #: build/serializers.py:218 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" +msgstr "" #: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 #: stock/serializers.py:303 templates/js/translated/order.js:1579 @@ -1144,23 +1145,23 @@ msgstr "Números de serie" #: build/serializers.py:233 msgid "Enter serial numbers for build outputs" -msgstr "Introduzca los números de serie de salidas de construcción" +msgstr "" #: build/serializers.py:246 msgid "Auto Allocate Serial Numbers" -msgstr "Autoasignar Números de Serie" +msgstr "" #: build/serializers.py:247 msgid "Automatically allocate required items with matching serial numbers" -msgstr "Asignar automáticamente los elementos requeridos con números de serie coincidentes" +msgstr "" #: build/serializers.py:282 stock/api.py:601 msgid "The following serial numbers already exist or are invalid" -msgstr "Los siguientes números seriales ya existen o son inválidos" +msgstr "" #: build/serializers.py:331 build/serializers.py:400 msgid "A list of build outputs must be provided" -msgstr "Debe proporcionarse una lista de salidas de construcción" +msgstr "" #: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 #: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 @@ -1171,15 +1172,15 @@ msgstr "Debe proporcionarse una lista de salidas de construcción" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" -msgstr "Unicación" +msgstr "Ubicación" #: build/serializers.py:371 msgid "Location for completed build outputs" -msgstr "Ubicación para las salidas de construcción completadas" +msgstr "" #: build/serializers.py:377 build/templates/build/build_base.html:145 #: build/templates/build/detail.html:62 order/models.py:670 @@ -1194,15 +1195,15 @@ msgstr "Estado" #: build/serializers.py:383 msgid "Accept Incomplete Allocation" -msgstr "Aceptar Asignación Incompleta" +msgstr "" #: build/serializers.py:384 msgid "Complete outputs if stock has not been fully allocated" -msgstr "Completar salidas si el inventario no se ha asignado completamente" +msgstr "" #: build/serializers.py:453 msgid "Remove Allocated Stock" -msgstr "Quitar inventario asignado" +msgstr "" #: build/serializers.py:454 msgid "Subtract any stock which has already been allocated to this build" @@ -1210,7 +1211,7 @@ msgstr "" #: build/serializers.py:460 msgid "Remove Incomplete Outputs" -msgstr "Eliminar salidas incompletas" +msgstr "" #: build/serializers.py:461 msgid "Delete any build outputs which have not been completed" @@ -1226,15 +1227,15 @@ msgstr "" #: build/serializers.py:513 msgid "Overallocated Stock" -msgstr "Stock sobreasignado" +msgstr "Existencias sobreasignadas" #: build/serializers.py:515 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "" +msgstr "Cómo quieres manejar los artículos extra de stock asignados a la orden de ensamblado" #: build/serializers.py:525 msgid "Some stock items have been overallocated" -msgstr "" +msgstr "Algunos artículos de stock han sido sobreasignados" #: build/serializers.py:530 msgid "Accept Unallocated" @@ -1250,7 +1251,7 @@ msgstr "El stock requerido no ha sido completamente asignado" #: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" -msgstr "Aceptar incompleto" +msgstr "Acepta incompleto" #: build/serializers.py:547 msgid "Accept that the required number of build outputs have not been completed" @@ -1258,28 +1259,28 @@ msgstr "Aceptar que el número requerido de salidas de construcción no se han c #: build/serializers.py:557 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" -msgstr "La cantidad de construcción requerida aún no se ha completado" +msgstr "" #: build/serializers.py:566 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" -msgstr "El orden de construcción tiene salidas incompletas" +msgstr "" #: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 #: part/models.py:3717 msgid "BOM Item" -msgstr "Item de Lista de Materiales" +msgstr "" #: build/serializers.py:606 msgid "Build output" -msgstr "Resultado de la construcción o armado" +msgstr "" #: build/serializers.py:614 msgid "Build output must point to the same build" -msgstr "La salida de la construcción debe apuntar a la misma construcción" +msgstr "" #: build/serializers.py:655 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" +msgstr "" #: build/serializers.py:670 stock/serializers.py:771 msgid "Item must be in stock" @@ -1288,15 +1289,15 @@ msgstr "El artículo debe estar en stock" #: build/serializers.py:728 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "Cantidad disponible ({q}) excedida" +msgstr "" #: build/serializers.py:734 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" +msgstr "" #: build/serializers.py:741 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" +msgstr "" #: build/serializers.py:746 msgid "This stock item has already been allocated to this build output" @@ -1304,7 +1305,7 @@ msgstr "" #: build/serializers.py:769 order/serializers.py:1374 msgid "Allocation items must be provided" -msgstr "Debe proporcionarse la adjudicación de artículos" +msgstr "" #: build/serializers.py:825 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" @@ -1312,15 +1313,15 @@ msgstr "" #: build/serializers.py:833 msgid "Exclude Location" -msgstr "Excluir ubicación" +msgstr "" #: build/serializers.py:834 msgid "Exclude stock items from this selected location" -msgstr "Excluir artículos de stock de esta ubicación seleccionada" +msgstr "" #: build/serializers.py:839 msgid "Interchangeable Stock" -msgstr "Stock intercambiable" +msgstr "" #: build/serializers.py:840 msgid "Stock items in multiple locations can be used interchangeably" @@ -1328,7 +1329,7 @@ msgstr "" #: build/serializers.py:845 msgid "Substitute Stock" -msgstr "Sustituir stock" +msgstr "" #: build/serializers.py:846 msgid "Allow allocation of substitute parts" @@ -1336,7 +1337,7 @@ msgstr "" #: build/serializers.py:851 msgid "Optional Items" -msgstr "Elementos opcionales" +msgstr "" #: build/serializers.py:852 msgid "Allocate optional BOM items to build order" @@ -1344,7 +1345,7 @@ msgstr "" #: build/tasks.py:100 msgid "Stock required for build order" -msgstr "Stock requerido para la orden de construcción" +msgstr "" #: build/tasks.py:118 msgid "Overdue Build Order" @@ -1359,23 +1360,23 @@ msgstr "" #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" -msgstr "Imprimir acciones" +msgstr "Acciones de impresión" #: build/templates/build/build_base.html:43 msgid "Print build order report" -msgstr "Imprimir informe de orden de construcción" +msgstr "" #: build/templates/build/build_base.html:50 msgid "Build actions" -msgstr "Acciones de construcción o armado" +msgstr "" #: build/templates/build/build_base.html:54 msgid "Edit Build" -msgstr "Editar construcción o armado" +msgstr "" #: build/templates/build/build_base.html:56 msgid "Cancel Build" -msgstr "Cancelar construcción o armado" +msgstr "" #: build/templates/build/build_base.html:59 msgid "Duplicate Build" @@ -1383,46 +1384,46 @@ msgstr "" #: build/templates/build/build_base.html:62 msgid "Delete Build" -msgstr "Eliminar construcción o armado" +msgstr "" #: build/templates/build/build_base.html:67 #: build/templates/build/build_base.html:68 msgid "Complete Build" -msgstr "Completar construcción" +msgstr "" #: build/templates/build/build_base.html:90 msgid "Build Description" -msgstr "Descripción de Construcción" +msgstr "Descripción de Ensamblado" #: build/templates/build/build_base.html:98 msgid "No build outputs have been created for this build order" -msgstr "No se han creado salidas para esta orden de construcción" +msgstr "" #: build/templates/build/build_base.html:104 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "Este pedido de construcción está asignado a la orden de venta %(link)s" +msgstr "Este Pedido de Ensamblaje está asignado a la Petición de Entrega %(link)s" #: build/templates/build/build_base.html:111 #, python-format msgid "This Build Order is a child of Build Order %(link)s" -msgstr "Esta orden de construcción es hijo de la orden de construcción %(link)s" +msgstr "" #: build/templates/build/build_base.html:118 msgid "Build Order is ready to mark as completed" -msgstr "Orden de construcción está lista para marcar como completada" +msgstr "" #: build/templates/build/build_base.html:123 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "La orden de construcción no se puede completar ya que existen salidas pendientes" +msgstr "" #: build/templates/build/build_base.html:128 msgid "Required build quantity has not yet been completed" -msgstr "La cantidad de construcción requerida aún no se ha completado" +msgstr "" #: build/templates/build/build_base.html:133 msgid "Stock has not been fully allocated to this Build Order" -msgstr "Stock no ha sido asignado completamente a este pedido de construcción" +msgstr "" #: build/templates/build/build_base.html:154 #: build/templates/build/detail.html:138 order/models.py:947 @@ -1431,14 +1432,14 @@ msgstr "Stock no ha sido asignado completamente a este pedido de construcción" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" -msgstr "Fecha objetivo" +msgstr "Fecha Límite" #: build/templates/build/build_base.html:159 #, python-format msgid "This build was due on %(target)s" -msgstr "Esta construcción vence el %(target)s" +msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 @@ -1455,7 +1456,7 @@ msgstr "Vencido" #: order/templates/order/sales_order_base.html:171 #: templates/js/translated/table_filters.js:428 msgid "Completed" -msgstr "Completados" +msgstr "Completado" #: build/templates/build/build_base.html:179 #: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 @@ -1468,58 +1469,58 @@ msgstr "Completados" #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 msgid "Sales Order" -msgstr "Orden de Venta" +msgstr "Pedido de Entrega" #: build/templates/build/build_base.html:186 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" -msgstr "Emitido por" +msgstr "" #: build/templates/build/build_base.html:200 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 msgid "Priority" -msgstr "Prioridad" +msgstr "" #: build/templates/build/build_base.html:259 msgid "Delete Build Order" -msgstr "Eliminar Orden de Trabajo" +msgstr "" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "Detalles de Trabajo" +msgstr "" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "Fuente de stock" +msgstr "" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "Las existencias se pueden tomar desde cualquier ubicación disponible." +msgstr "" #: build/templates/build/detail.html:49 order/models.py:1060 #: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 msgid "Destination" -msgstr "Destinación" +msgstr "" #: build/templates/build/detail.html:56 msgid "Destination location not specified" -msgstr "Se requiere ubicación de destino" +msgstr "" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "Partes asignadas" +msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 #: templates/js/translated/table_filters.js:270 msgid "Batch" -msgstr "Lote" +msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 @@ -1530,27 +1531,27 @@ msgstr "Creado" #: build/templates/build/detail.html:144 msgid "No target date set" -msgstr "Sin fecha objetivo" +msgstr "Sin fecha límite" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "Trabajo incompleto" +msgstr "" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "Órdenes de Trabajo herederas" +msgstr "" #: build/templates/build/detail.html:179 msgid "Allocate Stock to Build" -msgstr "Asignar Stock a Trabajo" +msgstr "" #: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 msgid "Unallocate stock" -msgstr "Desasignar stock" +msgstr "" #: build/templates/build/detail.html:184 msgid "Unallocate Stock" -msgstr "Desasignar stock" +msgstr "" #: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" @@ -1558,7 +1559,7 @@ msgstr "" #: build/templates/build/detail.html:187 msgid "Auto Allocate" -msgstr "Auto asignar" +msgstr "" #: build/templates/build/detail.html:189 msgid "Manually allocate stock to build" @@ -1566,80 +1567,80 @@ msgstr "" #: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "Asignar stock" +msgstr "" #: build/templates/build/detail.html:193 msgid "Order required parts" -msgstr "Pedir partes necesarias" +msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 #: part/templates/part/category.html:178 templates/js/translated/order.js:1249 msgid "Order Parts" -msgstr "Partes del pedido" +msgstr "Pedir Piezas" #: build/templates/build/detail.html:206 msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "Stock no ha sido asignado completamente a esta Orden de Trabajo" +msgstr "" #: build/templates/build/detail.html:210 msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "El stock sin rastrear no ha sido asignado completamente para esta Orden de Trabajo" +msgstr "" #: build/templates/build/detail.html:217 msgid "Allocate selected items" -msgstr "Asignar partes seleccionadas" +msgstr "" #: build/templates/build/detail.html:227 msgid "This Build Order does not have any associated untracked BOM items" -msgstr "Esta Orden de Trabajo no tiene ningún objeto BOM sin seguimiento asociados" +msgstr "" #: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" -msgstr "Salidas de Trabajo incompletas" +msgstr "" #: build/templates/build/detail.html:240 msgid "Create new build output" -msgstr "Crear nueva salida de trabajo" +msgstr "" #: build/templates/build/detail.html:241 msgid "New Build Output" -msgstr "Nueva Salida de Trabajo" +msgstr "" #: build/templates/build/detail.html:255 msgid "Output Actions" -msgstr "Acciones de salida" +msgstr "" #: build/templates/build/detail.html:260 msgid "Complete selected build outputs" -msgstr "Completa las salidas seleccionadas" +msgstr "" #: build/templates/build/detail.html:261 msgid "Complete outputs" -msgstr "Completar salidas" +msgstr "" #: build/templates/build/detail.html:265 msgid "Delete selected build outputs" -msgstr "Eliminar salidas seleccionadas" +msgstr "" #: build/templates/build/detail.html:266 msgid "Delete outputs" -msgstr "Eliminar salidas" +msgstr "" #: build/templates/build/detail.html:274 #: stock/templates/stock/location.html:228 templates/stock_table.html:27 msgid "Printing Actions" -msgstr "Acciones de impresión" +msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 #: stock/templates/stock/location.html:232 templates/stock_table.html:31 msgid "Print labels" -msgstr "Imprimir Etiquetas" +msgstr "" #: build/templates/build/detail.html:301 msgid "Completed Build Outputs" -msgstr "Salidas de Trabajo Completadas" +msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 #: company/templates/company/manufacturer_part.html:151 @@ -1651,80 +1652,80 @@ msgstr "Salidas de Trabajo Completadas" #: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" -msgstr "Adjuntos" +msgstr "Archivos adjuntos" #: build/templates/build/detail.html:328 msgid "Build Notes" -msgstr "Notas del Trabajo" +msgstr "" #: build/templates/build/detail.html:511 msgid "Allocation Complete" -msgstr "Asignación completa" +msgstr "" #: build/templates/build/detail.html:512 msgid "All untracked stock items have been allocated" -msgstr "Todos los artículos de stock no rastreados han sido asignados" +msgstr "" #: build/templates/build/index.html:18 part/templates/part/detail.html:339 msgid "New Build Order" -msgstr "Nueva Orden de Trabajo" +msgstr "" #: build/templates/build/index.html:37 build/templates/build/index.html:38 msgid "Print Build Orders" -msgstr "Imprimir Ordenes de Trabajo" +msgstr "" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "Configuración de Pedido de Trabajo" +msgstr "" #: build/templates/build/sidebar.html:12 msgid "Incomplete Outputs" -msgstr "Salidas incompletas" +msgstr "" #: build/templates/build/sidebar.html:15 msgid "Completed Outputs" -msgstr "Salidas completadas" +msgstr "" #: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" -msgstr "Formato de archivo no soportado: {ext.upper()}" +msgstr "" #: common/files.py:64 msgid "Error reading file (invalid encoding)" -msgstr "Error al leer el archivo (codificación inválida)" +msgstr "" #: common/files.py:69 msgid "Error reading file (invalid format)" -msgstr "Error al leer el archivo (formato no válido)" +msgstr "" #: common/files.py:71 msgid "Error reading file (incorrect dimension)" -msgstr "Error leyendo el archivo (dimensión incorrecta)" +msgstr "" #: common/files.py:73 msgid "Error reading file (data could be corrupted)" -msgstr "Error al leer el archivo (los datos podrían estar corruptos)" +msgstr "" #: common/forms.py:13 msgid "File" -msgstr "Archivo" +msgstr "" #: common/forms.py:14 msgid "Select file to upload" -msgstr "Seleccione el archivo a cargar" +msgstr "" #: common/forms.py:28 msgid "{name.title()} File" -msgstr "Archivo {name.title()}" +msgstr "" #: common/forms.py:29 #, python-brace-format msgid "Select {name} file to upload" -msgstr "Seleccione el archivo {name} para subir" +msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" -msgstr "Actualizado" +msgstr "" #: common/models.py:66 msgid "Timestamp of last update" @@ -1732,1262 +1733,1262 @@ msgstr "" #: common/models.py:495 msgid "Settings key (must be unique - case insensitive)" -msgstr "Clave de configuración (debe ser única - mayúsculas y minúsculas)" +msgstr "" #: common/models.py:497 msgid "Settings value" -msgstr "Valor de ajuste" +msgstr "" #: common/models.py:538 msgid "Chosen value is not a valid option" -msgstr "El valor elegido no es una opción válida" +msgstr "" #: common/models.py:555 msgid "Value must be a boolean value" -msgstr "El valor debe ser un valor booleano" +msgstr "" #: common/models.py:566 msgid "Value must be an integer value" -msgstr "El valor debe ser un entero" +msgstr "" #: common/models.py:611 msgid "Key string must be unique" -msgstr "Cadena de clave debe ser única" - -#: common/models.py:795 -msgid "No group" -msgstr "Sin grupo" - -#: common/models.py:820 -msgid "An empty domain is not allowed." -msgstr "Un dominio vacío no está permitido." - -#: common/models.py:822 -#, python-brace-format -msgid "Invalid domain name: {domain}" -msgstr "Nombre de dominio inválido: {domain}" - -#: common/models.py:873 -msgid "Restart required" -msgstr "Reinicio requerido" - -#: common/models.py:874 -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:881 -msgid "Server Instance Name" -msgstr "Nombre de la instancia del servidor" - -#: common/models.py:883 -msgid "String descriptor for the server instance" -msgstr "Descriptor de cadena para la instancia del servidor" - -#: common/models.py:888 -msgid "Use instance name" -msgstr "Usar nombre de instancia" - -#: common/models.py:889 -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:895 -msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:806 +msgid "No group" +msgstr "" + +#: common/models.py:831 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/models.py:833 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + +#: common/models.py:884 +msgid "Restart required" +msgstr "" + +#: common/models.py:885 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:892 +msgid "Server Instance Name" +msgstr "" + +#: common/models.py:894 +msgid "String descriptor for the server instance" +msgstr "" + +#: common/models.py:899 +msgid "Use instance name" +msgstr "" + +#: common/models.py:900 +msgid "Use the instance name in the title-bar" +msgstr "" + +#: common/models.py:906 +msgid "Restrict showing `about`" +msgstr "Restringir mostrar 'acerca de'" + +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Nombre de empresa" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "Nombre interno de empresa" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" -msgstr "URL Base" +msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" -msgstr "URL base para la instancia del servidor" +msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" -msgstr "Moneda predeterminada" +msgstr "Moneda Predeterminada" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" -msgstr "Descargar desde URL" +msgstr "" -#: common/models.py:925 +#: common/models.py:936 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" +msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" -msgstr "Límite de tamaño de descarga" - -#: common/models.py:932 -msgid "Maximum allowable download size for remote image" msgstr "" #: common/models.py:943 +msgid "Maximum allowable download size for remote image" +msgstr "" + +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" -msgstr "Requiere confirmación" +msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." -msgstr "Requiere confirmación explícita del usuario para ciertas acciones." +msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" -msgstr "Profundidad del árbol" +msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" -msgstr "Copia de seguridad automática" +msgstr "" -#: common/models.py:967 +#: common/models.py:978 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" +msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 -msgid "Delete Old Tasks" -msgstr "Eliminar tareas antiguas" - -#: common/models.py:984 -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:994 -msgid "Delete Error Logs" -msgstr "Borrar registros de errores" +msgid "Delete Old Tasks" +msgstr "" #: common/models.py:995 +msgid "Background task results will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1005 +msgid "Delete Error Logs" +msgstr "" + +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" -msgstr "Eliminar notificaciones" - -#: common/models.py:1006 -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:1016 templates/InvenTree/settings/sidebar.html:33 -msgid "Barcode Support" -msgstr "Soporte de código de barras" - -#: common/models.py:1017 -msgid "Enable barcode scanner support" -msgstr "Habilitar soporte para escáner de código de barras" - -#: common/models.py:1023 -msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 -msgid "Barcode input processing delay time" +#: common/models.py:1017 +msgid "User notifications will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +msgid "Barcode Support" +msgstr "" + +#: common/models.py:1028 +msgid "Enable barcode scanner support" msgstr "" #: common/models.py:1034 -msgid "Barcode Webcam Support" +msgid "Barcode Input Delay" msgstr "" #: common/models.py:1035 -msgid "Allow barcode scanning via webcam in browser" +msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1041 -msgid "IPN Regex" -msgstr "Regex IPN" - -#: common/models.py:1042 -msgid "Regular expression pattern for matching Part IPN" -msgstr "Patrón de expresión regular para IPN de la parte coincidente" +#: common/models.py:1045 +msgid "Barcode Webcam Support" +msgstr "" #: common/models.py:1046 -msgid "Allow Duplicate IPN" -msgstr "Permitir IPN duplicado" +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:1047 -msgid "Allow multiple parts to share the same IPN" -msgstr "Permitir que varias partes compartan el mismo IPN" +#: common/models.py:1052 +msgid "IPN Regex" +msgstr "" #: common/models.py:1053 +msgid "Regular expression pattern for matching Part IPN" +msgstr "" + +#: common/models.py:1057 +msgid "Allow Duplicate IPN" +msgstr "" + +#: common/models.py:1058 +msgid "Allow multiple parts to share the same IPN" +msgstr "" + +#: common/models.py:1064 msgid "Allow Editing IPN" -msgstr "Permitir editar IPN" +msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" -msgstr "Permite cambiar el valor de IPN mientras se edita una pieza" +msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" -msgstr "Copiar parte de datos BOM" +msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" -msgstr "Copiar datos BOM por defecto al duplicar una parte" +msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" -msgstr "Copiar Parámetros de Pieza" +msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" -msgstr "Copiar datos de parámetro por defecto al duplicar una parte" +msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" -msgstr "Copiar parte de datos de prueba" +msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" -msgstr "Copiar datos de parámetro por defecto al duplicar una parte" +msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" -msgstr "Copiar plantillas de parámetros de categoría" +msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" -msgstr "Copiar plantillas de parámetros de categoría al crear una parte" +msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" -msgstr "Plantilla" +msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" -msgstr "Las piezas son plantillas por defecto" +msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" -msgstr "Montaje" +msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" -msgstr "Las piezas pueden ser ensambladas desde otros componentes por defecto" +msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" -msgstr "Componente" +msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" -msgstr "Las piezas pueden ser usadas como subcomponentes por defecto" +msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" -msgstr "Comprable" +msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" -msgstr "Las piezas son comprables por defecto" +msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" -msgstr "Vendible" +msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" -msgstr "Las piezas se pueden vender por defecto" +msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" -msgstr "Rastreable" +msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" -msgstr "Las piezas son rastreables por defecto" +msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" -msgstr "Virtual" +msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" -msgstr "Las piezas son virtuales por defecto" +msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" -msgstr "Mostrar importación en vistas" +msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" -msgstr "Mostrar el asistente de importación en algunas vistas de partes" +msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" -msgstr "Mostrar piezas relacionadas" +msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" -msgstr "Mostrar partes relacionadas para una pieza" +msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" -msgstr "Formato de visualización de Nombre de Parte" +msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" -msgstr "Formato para mostrar el nombre de la pieza" +msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 -msgid "Pricing Decimal Places" -msgstr "Lugares decimales en el precio" - -#: common/models.py:1180 -msgid "Number of decimal places to display when rendering pricing data" -msgstr "" - #: common/models.py:1190 -msgid "Use Supplier Pricing" +msgid "Pricing Decimal Places" msgstr "" #: common/models.py:1191 +msgid "Number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1201 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "El precio histórico de compra anula los descuentos de precios del proveedor" +msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" -msgstr "Usar precios variantes" +msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" -msgstr "Solo variantes activas" +msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" +msgstr "Número de días antes de que el precio de la pieza se actualice automáticamente" + +#: common/models.py:1249 common/models.py:1372 +msgid "days" msgstr "" -#: common/models.py:1238 common/models.py:1361 -msgid "days" -msgstr "días" - -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" -msgstr "Precios internos" +msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" -msgstr "Habilitar precios internos para piezas" +msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" -msgstr "Habilitar impresión de etiquetas" +msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" -msgstr "Habilitar impresión de etiquetas desde la interfaz web" +msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" -msgstr "PPP de la imagen de etiqueta" +msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" -msgstr "Habilitar informes" +msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" -msgstr "Habilitar generación de informes" +msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" -msgstr "Modo de depuración" +msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" -msgstr "Generar informes en modo de depuración (salida HTML)" - -#: common/models.py:1292 -msgid "Page Size" -msgstr "Tamaño de página" - -#: common/models.py:1293 -msgid "Default page size for PDF reports" -msgstr "Tamaño de página predeterminado para informes PDF" +msgstr "" #: common/models.py:1303 -msgid "Enable Test Reports" +msgid "Page Size" msgstr "" #: common/models.py:1304 -msgid "Enable generation of test reports" -msgstr "Habilitar generación de informes de prueba" +msgid "Default page size for PDF reports" +msgstr "" -#: common/models.py:1310 +#: common/models.py:1314 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1315 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" -msgstr "Expiración de stock" +msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" -msgstr "Habilitar la funcionalidad de expiración de stock" +msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" -msgstr "Vender existencias caducadas" +msgstr "Entregar Existencias Caducadas" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" -msgstr "Permitir venta de existencias caducadas" +msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" -msgstr "Tiempo histórico de Stock" +msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 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" +msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" -msgstr "Crear Stock Caducado" +msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" -msgstr "Permitir crear con stock caducado" +msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" -msgstr "Control de Stock" +msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" -msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" +msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" -msgstr "" +msgstr "Patrón para Referencias de Orden de Ensamblado" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" -msgstr "" +msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" -msgstr "" +msgstr "Patrón para la Referencia de los Pedidos de Entrega" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" -msgstr "" +msgstr "Patrón requerido para generar el campo de referencia de la Petición de Entrega" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" -msgstr "" +msgstr "Envío Predeterminado de las Peticiones de Entrega" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" -msgstr "" +msgstr "Habilitar la creación de envío predeterminado con pedidos de entrega" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" -msgstr "" +msgstr "Editar Pedidos Completados" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "" +msgstr "Permitir la edición de pedidos después de que hayan sido enviados o completados" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" -msgstr "" +msgstr "Patrón para Referencias de Orden de Compra" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" -msgstr "" +msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" -msgstr "Habilitar función de contraseña olvidada" +msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 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" +msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" -msgstr "Habilitar registro" +msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 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" +msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" -msgstr "Habilitar SSO" +msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" -msgstr "Habilitar SSO en las páginas de inicio de sesión" +msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" -msgstr "Email requerido" +msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" -msgstr "Requiere usuario para suministrar correo al registrarse" +msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" -msgstr "Auto-rellenar usuarios SSO" +msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" -msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO" +msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" -msgstr "Correo dos veces" +msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" -msgstr "Al registrarse pregunte dos veces a los usuarios por su correo" +msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" -msgstr "Contraseña dos veces" +msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" -msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña" +msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" -msgstr "Grupo al registrarse" +msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" -msgstr "Grupo al que se asignan nuevos usuarios al registrarse" +msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" -msgstr "Forzar MFA" +msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." -msgstr "Los usuarios deben utilizar seguridad multifactor." +msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" -msgstr "Habilitar integración de URL" +msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" -msgstr "Habilitar plugins para añadir rutas de URL" +msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" -msgstr "Habilitar integración de navegación" +msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" -msgstr "Habilitar plugins para integrar en la navegación" +msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" -msgstr "Habilitar integración de la aplicación" +msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" -msgstr "Habilitar plugins para añadir aplicaciones" +msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" -msgstr "Habilitar integración de programación" +msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" -msgstr "Habilitar plugins para ejecutar tareas programadas" +msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" -msgstr "Habilitar integración de eventos" +msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" -msgstr "Habilitar plugins para responder a eventos internos" +msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" -msgstr "Tecla de ajustes (debe ser única - mayúsculas y minúsculas" +msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" -msgstr "Mostrar partes suscritas" +msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" -msgstr "Mostrar las partes suscritas en la página principal" +msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" -msgstr "Mostrar categorías suscritas" +msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" -msgstr "Mostrar categorías de partes suscritas en la página de inicio" +msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" -msgstr "Mostrar últimas partes" +msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" -msgstr "Mostrar las últimas partes en la página de inicio" +msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" -msgstr "Conteo de Partes Recientes" +msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" -msgstr "Número de partes recientes a mostrar en la página de índice" +msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" -msgstr "Mostrar BOMs no validadas" +msgstr "Mostrar Lista de Materiales (BOMs) no validados" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" -msgstr "Mostrar BOMs que esperan validación en la página de inicio" +msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" -msgstr "Mostrar cambios recientes de stock" +msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" -msgstr "Mostrar artículos de stock recientemente modificados en la página de inicio" +msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" -msgstr "Conteo Reciente de Stock" +msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" -msgstr "Número de elementos de stock recientes a mostrar en la página de índice" +msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" -msgstr "Mostrar stock bajo" +msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" -msgstr "Mostrar artículos de stock bajo en la página de inicio" +msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" -msgstr "Mostrar stock agotado" +msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" -msgstr "Mostrar artículos agotados en la página de inicio" +msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" -msgstr "Mostrar stock necesario" +msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" -msgstr "Mostrar elementos de stock necesarios para trabajos en la página de inicio" +msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" -msgstr "Mostrar stock caducado" +msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" -msgstr "Mostrar artículos de stock caducados en la página de inicio" +msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" -msgstr "Mostrar stock obsoleto" +msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" -msgstr "Mostrar elementos de stock obsoletos en la página de inicio" +msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" -msgstr "Mostrar trabajos pendientes" +msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" -msgstr "Mostrar trabajos pendientes en la página de inicio" +msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" -msgstr "Mostrar trabajos vencidos" +msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" -msgstr "Mostrar trabajos pendientes en la página de inicio" +msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" -msgstr "Mostrar Órdenes de Compra Pendientes" +msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" -msgstr "Mostrar las OC destacadas en la página de inicio" +msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" -msgstr "Mostrar OC atrasadas" +msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" -msgstr "Mostrar las OC vencidas en la página de inicio" +msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" -msgstr "Mostrar OV pendiemtes" +msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" -msgstr "Mostrar OV pendientes en la página de inicio" +msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" -msgstr "Mostrar OV atrasadas" +msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" -msgstr "Mostrar OV atrasadas en la página de inicio" +msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" -msgstr "Mostrar etiqueta interior" +msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 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:1736 +#: common/models.py:1747 msgid "Inline report display" -msgstr "Mostrar informe en línea" +msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 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:1743 +#: common/models.py:1754 msgid "Search Parts" -msgstr "Buscar partes" +msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" -msgstr "Ocultar Partes Inactivas" +msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" -msgstr "Buscar categorías" +msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" -msgstr "Buscar inventario" +msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" -msgstr "Buscar órdenes de compra" +msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" -msgstr "Buscar órdenes de venta" +msgstr "Buscar Pedidos de Entrega" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" -msgstr "" +msgstr "Mostrar pedidos de entrega en la ventana de vista previa de búsqueda" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" -msgstr "" +msgstr "Excluir Pedidos Inactivos" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" +msgstr "Excluir pedidos inactivos de la ventana de vista previa de búsqueda" + +#: common/models.py:1852 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1841 -msgid "Search Preview Results" -msgstr "Resultados de la vista previa" - -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" -msgstr "Mostrar cantidad en formularios" +msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" -msgstr "Mostrar la cantidad de piezas disponibles en algunos formularios" +msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" -msgstr "Formularios de cierre de teclas de escape" +msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" -msgstr "Usa la clave de escape para cerrar formularios modales" +msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" -msgstr "Barra de navegación fija" +msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 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" +msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "Formato de Fecha" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" -msgstr "Formato preferido para mostrar fechas" +msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "" +msgstr "Planificación de piezas" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" -msgstr "" +msgstr "Mostrar información de programación de piezas" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" -msgstr "Cantidad de salto de precio" +msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "Precio" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" -msgstr "Punto final en el que se recibe este webhook" +msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" -msgstr "Nombre para este webhook" +msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 #: templates/js/translated/table_filters.js:470 msgid "Active" -msgstr "Activo" +msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" -msgstr "Está activo este webhook" +msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" -msgstr "Token" +msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" -msgstr "Token para el acceso" +msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" -msgstr "Clave" +msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" -msgstr "Secreto compartido para HMAC" +msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" -msgstr "ID de mensaje" +msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" -msgstr "Identificador único para este mensaje" +msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" -msgstr "Host" +msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" -msgstr "Servidor desde el cual se recibió este mensaje" +msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" -msgstr "Encabezado" +msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" -msgstr "Encabezado del mensaje" +msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" -msgstr "Cuerpo" +msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" -msgstr "Cuerpo de este mensaje" +msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" -msgstr "Endpoint en el que se recibió este mensaje" +msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" -msgstr "Trabajado en" +msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" -msgstr "¿El trabajo en este mensaje ha terminado?" +msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" -msgstr "Id" +msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" -msgstr "Titulo" +msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" -msgstr "Publicado" +msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" -msgstr "Autor" +msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" -msgstr "Resumen" +msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3006,7 +3007,7 @@ msgstr "Artículos Recibidos" #: common/notifications.py:304 msgid "Items have been received against a purchase order" -msgstr "" +msgstr "Los artículos han sido recibidos contra una orden de compra" #: common/notifications.py:416 msgid "Error raised by plugin" @@ -3025,19 +3026,19 @@ msgstr "Subir Archivo" #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" -msgstr "Coincidir Campos" +msgstr "" #: common/views.py:87 msgid "Match Items" -msgstr "Coincidir elementos" +msgstr "Concordar Artículos" #: common/views.py:420 msgid "Fields matching failed" -msgstr "Falló la coincidencia de campos" +msgstr "" #: common/views.py:481 msgid "Parts imported" -msgstr "Partes importadas" +msgstr "" #: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 @@ -3048,7 +3049,7 @@ msgstr "Partes importadas" #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" -msgstr "Paso anterior" +msgstr "Paso Anterior" #: company/models.py:103 msgid "Company description" @@ -3062,7 +3063,7 @@ msgstr "Descripción de la empresa" #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:449 msgid "Website" -msgstr "Página web" +msgstr "Sitio Web" #: company/models.py:111 msgid "Company website URL" @@ -3078,7 +3079,7 @@ msgstr "Dirección de la empresa" #: company/models.py:119 msgid "Phone number" -msgstr "Teléfono" +msgstr "Número de teléfono" #: company/models.py:120 msgid "Contact phone number" @@ -3107,11 +3108,11 @@ msgstr "Enlace a información externa de la empresa" #: company/models.py:140 part/models.py:879 msgid "Image" -msgstr "Imágen" +msgstr "Imagen" #: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" -msgstr "Notas de la empresa" +msgstr "Notas de la Empresa" #: company/models.py:145 msgid "is customer" @@ -3127,7 +3128,7 @@ msgstr "es proveedor" #: company/models.py:147 msgid "Do you purchase items from this company?" -msgstr "¿Compras artículos de esta empresa?" +msgstr "¿Compras artículos a esta empresa?" #: company/models.py:149 msgid "is manufacturer" @@ -3152,7 +3153,7 @@ msgstr "Moneda predeterminada utilizada para esta empresa" #: stock/serializers.py:89 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:588 msgid "Base Part" -msgstr "Parte base" +msgstr "Pieza Base" #: company/models.py:257 company/models.py:492 msgid "Select part" @@ -3180,13 +3181,13 @@ msgstr "Seleccionar fabricante" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" -msgstr "" +msgstr "'Part Number' del Fabricante" #: company/models.py:276 msgid "Manufacturer Part Number" -msgstr "Número de Parte del Fabricante" +msgstr "'Part Number' del fabricante" #: company/models.py:282 msgid "URL for external manufacturer part link" @@ -3194,14 +3195,14 @@ msgstr "URL para el enlace de parte del fabricante externo" #: company/models.py:288 msgid "Manufacturer part description" -msgstr "Descripción de la parte del fabricante" +msgstr "Descripción de la pieza del fabricante" #: company/models.py:333 company/models.py:357 company/models.py:511 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" -msgstr "Parte del fabricante" +msgstr "Pieza del Fabricante" #: company/models.py:364 msgid "Parameter name" @@ -3210,7 +3211,7 @@ msgstr "Nombre del parámetro" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "Valor" @@ -3222,7 +3223,7 @@ msgstr "Valor del parámetro" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "Unidades" @@ -3242,7 +3243,7 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma pieza #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "Proveedor" @@ -3254,25 +3255,25 @@ msgstr "Seleccionar proveedor" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" -msgstr "SKU" +msgstr "" #: company/models.py:505 part/serializers.py:365 msgid "Supplier stock keeping unit" -msgstr "Unidad de mantenimiento de stock de proveedores" +msgstr "" #: company/models.py:512 msgid "Select manufacturer part" -msgstr "Seleccionar parte del fabricante" +msgstr "" #: company/models.py:518 msgid "URL for external supplier part link" -msgstr "URL del enlace de parte del proveedor externo" +msgstr "" #: company/models.py:524 msgid "Supplier part description" -msgstr "Descripción de la parte del proveedor" +msgstr "Descripción de la pieza del proveedor" #: company/models.py:529 company/templates/company/supplier_part.html:181 #: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 @@ -3284,31 +3285,31 @@ msgstr "Nota" #: company/models.py:533 part/models.py:1867 msgid "base cost" -msgstr "costo base" +msgstr "" #: company/models.py:533 part/models.py:1867 msgid "Minimum charge (e.g. stocking fee)" -msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" +msgstr "" #: company/models.py:535 company/templates/company/supplier_part.html:167 #: stock/admin.py:101 stock/models.py:682 #: stock/templates/stock/item_base.html:243 #: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 msgid "Packaging" -msgstr "Paquetes" +msgstr "Empaquetado" #: company/models.py:535 msgid "Part packaging" -msgstr "Embalaje de partes" +msgstr "Empaquetado de pieza" #: company/models.py:538 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" -msgstr "Cantidad de paquete" +msgstr "" #: company/models.py:539 msgid "Unit quantity supplied in a single pack" @@ -3316,21 +3317,21 @@ msgstr "" #: company/models.py:545 part/models.py:1869 msgid "multiple" -msgstr "múltiple" +msgstr "" #: company/models.py:545 msgid "Order multiple" -msgstr "Pedido múltiple" +msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" -msgstr "Disponible" +msgstr "" #: company/models.py:554 msgid "Quantity available from supplier" @@ -3338,7 +3339,7 @@ msgstr "" #: company/models.py:558 msgid "Availability Updated" -msgstr "Disponibilidad actualizada" +msgstr "" #: company/models.py:559 msgid "Date of last update of availability data" @@ -3350,7 +3351,7 @@ msgstr "Moneda predeterminada utilizada para este proveedor" #: company/serializers.py:73 msgid "Currency Code" -msgstr "Código de moneda" +msgstr "Código de Divisa" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 @@ -3361,15 +3362,15 @@ msgstr "Empresa" #: company/templates/company/company_base.html:22 #: templates/js/translated/order.js:710 msgid "Create Purchase Order" -msgstr "Crear orden de compra" +msgstr "Crear Orden de Compra" #: company/templates/company/company_base.html:28 msgid "Company actions" -msgstr "Acciones de empresa" +msgstr "Actuaciones de la empresa" #: company/templates/company/company_base.html:33 msgid "Edit company information" -msgstr "Editar datos de la empresa" +msgstr "Editar información de la empresa" #: company/templates/company/company_base.html:34 #: templates/js/translated/company.js:365 @@ -3388,17 +3389,17 @@ msgstr "Eliminar Empresa" #: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" -msgstr "Cargar nueva imagen" +msgstr "" #: company/templates/company/company_base.html:59 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" -msgstr "Descargar desde URL" +msgstr "" #: company/templates/company/company_base.html:61 #: part/templates/part/part_thumb.html:16 msgid "Delete image" -msgstr "Borrar imagen" +msgstr "" #: company/templates/company/company_base.html:87 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:701 @@ -3417,82 +3418,82 @@ msgstr "Usa la moneda predeterminada" #: company/templates/company/company_base.html:126 msgid "Phone" -msgstr "Teléfono" +msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" -msgstr "Quitar imagen" +msgstr "" #: company/templates/company/company_base.html:207 msgid "Remove associated image from this company" -msgstr "" +msgstr "Eliminar imagen asociada a esta empresa" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" -msgstr "Eliminar" +msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" -msgstr "Cargar Imagen" +msgstr "Subir Imagen" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" -msgstr "Descargar imagen" +msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 msgid "Supplier Parts" -msgstr "Partes de Proveedor" +msgstr "Piezas del Proveedor" #: company/templates/company/detail.html:18 msgid "Create new supplier part" -msgstr "Crear nueva parte del proveedor" +msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:380 msgid "New Supplier Part" -msgstr "Nueva Parte de Proveedor" +msgstr "Nueva Pieza del Proveedor" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 #: part/templates/part/category.html:177 msgid "Order parts" -msgstr "Piezas de pedido" +msgstr "Pedir piezas" #: company/templates/company/detail.html:41 #: company/templates/company/detail.html:89 msgid "Delete parts" -msgstr "Eliminar partes" +msgstr "" #: company/templates/company/detail.html:42 #: company/templates/company/detail.html:90 msgid "Delete Parts" -msgstr "Eliminar Partes" +msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:185 msgid "Manufacturer Parts" -msgstr "Partes del fabricante" +msgstr "" #: company/templates/company/detail.html:65 msgid "Create new manufacturer part" -msgstr "Crear nueva pieza de fabricante" +msgstr "" #: company/templates/company/detail.html:66 part/templates/part/detail.html:410 msgid "New Manufacturer Part" -msgstr "Nueva pieza de fabricante" +msgstr "Nueva Pieza del Fabricante" #: company/templates/company/detail.html:107 msgid "Supplier Stock" -msgstr "Stock del Proveedor" +msgstr "" #: company/templates/company/detail.html:117 #: company/templates/company/sidebar.html:12 @@ -3506,7 +3507,7 @@ msgstr "Stock del Proveedor" #: templates/js/translated/search.js:293 templates/navbar.html:50 #: users/models.py:42 msgid "Purchase Orders" -msgstr "Ordenes de compra" +msgstr "Ordenes de Compra" #: company/templates/company/detail.html:121 #: order/templates/order/purchase_orders.html:17 @@ -3516,7 +3517,7 @@ msgstr "Crear nueva orden de compra" #: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" -msgstr "Nueva orden de compra" +msgstr "Nueva Orden de Compra" #: company/templates/company/detail.html:143 #: company/templates/company/sidebar.html:20 @@ -3529,52 +3530,52 @@ msgstr "Nueva orden de compra" #: templates/js/translated/search.js:317 templates/navbar.html:61 #: users/models.py:43 msgid "Sales Orders" -msgstr "Órdenes de venta" +msgstr "Pedidos de Entrega" #: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" -msgstr "Crear Orden de Venta" +msgstr "Crear un nuevo pedido de entrega" #: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" -msgstr "Nueva orden de venta" +msgstr "Nuevo Pedido de Entrega" #: company/templates/company/detail.html:168 #: templates/js/translated/build.js:1733 msgid "Assigned Stock" -msgstr "Stock asignado" +msgstr "Stock Asignado" #: company/templates/company/index.html:8 msgid "Supplier List" -msgstr "Listado de proveedores" +msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 #: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" -msgstr "Fabricantes" +msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 #: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 msgid "Order part" -msgstr "Pedir ítem" +msgstr "Pedir pieza" #: company/templates/company/manufacturer_part.html:39 #: templates/js/translated/company.js:717 msgid "Edit manufacturer part" -msgstr "Editar fabricante de la pieza" +msgstr "Editar pieza del fabricante" #: company/templates/company/manufacturer_part.html:43 #: templates/js/translated/company.js:718 msgid "Delete manufacturer part" -msgstr "Eliminar fabricante de la pieza" +msgstr "Eliminar pieza del fabricante" #: company/templates/company/manufacturer_part.html:65 #: company/templates/company/supplier_part.html:98 msgid "Internal Part" -msgstr "Componente interno" +msgstr "Pieza Interna" #: company/templates/company/manufacturer_part.html:95 msgid "No manufacturer information available" @@ -3590,16 +3591,16 @@ msgstr "Proveedores" #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/detail.html:391 msgid "Delete supplier parts" -msgstr "Eliminar partes del proveedor" +msgstr "Eliminar piezas del proveedor" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" -msgstr "Eliminar" +msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 @@ -3613,32 +3614,32 @@ msgstr "Parámetros" #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" -msgstr "Nuevo parámetro" +msgstr "Nuevo Parámetro" #: company/templates/company/manufacturer_part.html:183 msgid "Delete parameters" -msgstr "Eliminar parámetro" +msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" -msgstr "Añadir parámetro" +msgstr "" #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" -msgstr "Partes Manufacturadas" +msgstr "" #: company/templates/company/sidebar.html:10 msgid "Supplied Parts" -msgstr "Partes suministradas" +msgstr "" #: company/templates/company/sidebar.html:16 msgid "Supplied Stock Items" -msgstr "Elementos de stock suministrados" +msgstr "Artículos de Stock Suministrados" #: company/templates/company/sidebar.html:22 msgid "Assigned Stock Items" -msgstr "Elementos de Stock Asignados" +msgstr "Artículos de Stock Asignados" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:665 @@ -3646,21 +3647,21 @@ msgstr "Elementos de Stock Asignados" #: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 #: templates/js/translated/stock.js:1977 msgid "Supplier Part" -msgstr "Ítems de Proveedor" +msgstr "Pieza del Proveedor" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:48 msgid "Barcode actions" -msgstr "Acciones para código de barras" +msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 #: stock/templates/stock/location.html:50 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "Mostrar código QR" +msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 @@ -3668,57 +3669,57 @@ msgstr "Mostrar código QR" #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" -msgstr "Desvincular Código de Barras" +msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 #: stock/templates/stock/location.html:54 msgid "Link Barcode" -msgstr "Vincular Código de Barras" +msgstr "" #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" -msgstr "" +msgstr "Acciones de piezas del proveedor" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 #: part/templates/part/detail.html:111 msgid "Order Part" -msgstr "Pedir ítem" +msgstr "Pedir Pieza" #: company/templates/company/supplier_part.html:61 #: company/templates/company/supplier_part.html:62 msgid "Update Availability" -msgstr "Actualizar disponibilidad" +msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 #: templates/js/translated/company.js:248 msgid "Edit Supplier Part" -msgstr "Editar Parte del Proveedor" +msgstr "Editar Pieza del Proveedor" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 #: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" -msgstr "" +msgstr "Duplicar Pieza del Proveedor" #: company/templates/company/supplier_part.html:74 msgid "Delete Supplier Part" -msgstr "" +msgstr "Eliminar Pieza del Proveedor" #: company/templates/company/supplier_part.html:75 msgid "Delete Supplier Part" -msgstr "" +msgstr "Eliminar Pieza del Proveedor" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 #: stock/templates/stock/location.html:150 msgid "Barcode Identifier" -msgstr "Identificador de Código de Barras" +msgstr "" #: company/templates/company/supplier_part.html:140 msgid "No supplier information available" @@ -3727,41 +3728,41 @@ msgstr "" #: company/templates/company/supplier_part.html:200 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" -msgstr "Stock del Proveedor" +msgstr "Stock de Piezas del Proveedor" #: company/templates/company/supplier_part.html:203 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" -msgstr "Crear nuevo artículo de stock" +msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:466 msgid "New Stock Item" -msgstr "Nuevo artículo de stock" +msgstr "" #: company/templates/company/supplier_part.html:217 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" -msgstr "Pedidos de piezas al proveedor" +msgstr "Pedidos de Piezas al Proveedor" #: company/templates/company/supplier_part.html:242 msgid "Pricing Information" -msgstr "Información de Precios" +msgstr "" #: company/templates/company/supplier_part.html:247 #: company/templates/company/supplier_part.html:317 #: templates/js/translated/pricing.js:654 msgid "Add Price Break" -msgstr "Agregar descuento de precio" +msgstr "" #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" -msgstr "" +msgstr "Enlazar código de barras a Pieza del Proveedor" #: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" -msgstr "" +msgstr "Actualizar Disponibilidad de Piezas" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 @@ -3769,11 +3770,11 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" -msgstr "Inventario" +msgstr "" #: company/templates/company/supplier_part_navbar.html:22 msgid "Orders" @@ -3782,7 +3783,7 @@ msgstr "Pedidos" #: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" -msgstr "Precio de pieza del proveedor" +msgstr "Precio de Pieza del Proveedor" #: company/templates/company/supplier_part_navbar.html:29 #: part/templates/part/part_sidebar.html:30 @@ -3800,7 +3801,7 @@ msgstr "Precios" #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 #: templates/js/translated/stock.js:2487 users/models.py:40 msgid "Stock Items" -msgstr "Elementos de stock" +msgstr "Artículos de Stock" #: company/views.py:33 msgid "New Supplier" @@ -3825,15 +3826,15 @@ msgstr "Empresas" #: company/views.py:53 msgid "New Company" -msgstr "Nueva Compañía" +msgstr "Nueva Empresa" #: company/views.py:120 stock/views.py:125 msgid "Stock Item QR Code" -msgstr "Código QR de Item de Stock" +msgstr "Código QR del artículo de Stock" #: label/models.py:102 msgid "Label name" -msgstr "Nombre etiqueta" +msgstr "" #: label/models.py:109 msgid "Label description" @@ -3841,64 +3842,64 @@ msgstr "Descripción de etiqueta" #: label/models.py:116 msgid "Label" -msgstr "Etiqueta" +msgstr "" #: label/models.py:117 msgid "Label template file" -msgstr "Archivo de plantilla de etiqueta" +msgstr "" #: label/models.py:123 report/models.py:254 msgid "Enabled" -msgstr "Habilitado" +msgstr "" #: label/models.py:124 msgid "Label template is enabled" -msgstr "Plantilla de etiqueta habilitada" +msgstr "" #: label/models.py:129 msgid "Width [mm]" -msgstr "Ancho [mm]" +msgstr "" #: label/models.py:130 msgid "Label width, specified in mm" -msgstr "Ancho de la etiqueta, especificado en mm" +msgstr "" #: label/models.py:136 msgid "Height [mm]" -msgstr "Altura [mm]" +msgstr "" #: label/models.py:137 msgid "Label height, specified in mm" -msgstr "Altura de la etiqueta, especificada en mm" +msgstr "" #: label/models.py:143 report/models.py:247 msgid "Filename Pattern" -msgstr "Patrón de Nombre de archivo" +msgstr "" #: label/models.py:144 msgid "Pattern for generating label filenames" -msgstr "Patrón para generar nombres de archivo de etiquetas" +msgstr "" #: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," -msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor)," +msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 #: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" -msgstr "Filtros" +msgstr "" #: label/models.py:274 msgid "Query filters (comma-separated list of key=value pairs" -msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor" +msgstr "" #: label/models.py:302 msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "Filtros de búsqueda de partes (valor separado por comas de pares clave=valor)" +msgstr "" #: order/api.py:161 msgid "No matching purchase order found" -msgstr "" +msgstr "No se encontró ninguna orden de compra coincidente" #: order/api.py:1257 order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 @@ -3907,15 +3908,15 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" -msgstr "Orden de compra" +msgstr "Orden de Compra" #: order/api.py:1261 msgid "Unknown" -msgstr "Desconocido" +msgstr "" #: order/models.py:83 msgid "Order description" @@ -3923,11 +3924,11 @@ msgstr "Descripción del pedido" #: order/models.py:85 order/models.py:1283 msgid "Link to external page" -msgstr "Enlace a Url externa" +msgstr "Enlace a página web externa" #: order/models.py:93 msgid "Created By" -msgstr "Creado por" +msgstr "" #: order/models.py:100 msgid "User or group responsible for this order" @@ -3935,7 +3936,7 @@ msgstr "Usuario o grupo responsable de este pedido" #: order/models.py:105 msgid "Order notes" -msgstr "Notas del pedido" +msgstr "" #: order/models.py:242 order/models.py:652 msgid "Order reference" @@ -3943,52 +3944,52 @@ msgstr "Referencia del pedido" #: order/models.py:250 order/models.py:670 msgid "Purchase order status" -msgstr "Estado de la orden de compra" +msgstr "" #: order/models.py:265 msgid "Company from which the items are being ordered" -msgstr "Compañía de la que se están encargando los artículos" +msgstr "Empresa a la que se están encargando los artículos" #: order/models.py:268 order/templates/order/order_base.html:133 #: templates/js/translated/order.js:2060 msgid "Supplier Reference" -msgstr "Referencia del proveedor" +msgstr "Referencia del Proveedor" #: order/models.py:268 msgid "Supplier order reference code" -msgstr "Código de referencia de pedido del proveedor" +msgstr "" #: order/models.py:275 msgid "received by" -msgstr "recibido por" +msgstr "" #: order/models.py:280 msgid "Issue Date" -msgstr "Fecha de emisión" +msgstr "" #: order/models.py:281 msgid "Date order was issued" -msgstr "Fecha de expedición del pedido" +msgstr "" #: order/models.py:286 msgid "Target Delivery Date" -msgstr "Fecha de entrega objetivo" +msgstr "Fecha Límite de Envío" #: order/models.py:287 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." +msgstr "" #: order/models.py:293 msgid "Date order was completed" -msgstr "La fecha de pedido fue completada" +msgstr "" #: order/models.py:332 msgid "Part supplier must match PO supplier" -msgstr "El proveedor de la pieza debe coincidir con el proveedor de PO" +msgstr "" #: order/models.py:491 msgid "Quantity must be a positive number" -msgstr "La cantidad debe ser un número positivo" +msgstr "" #: order/models.py:666 msgid "Company to which the items are being sold" @@ -3996,52 +3997,52 @@ msgstr "Empresa a la que se venden los artículos" #: order/models.py:677 msgid "Customer Reference " -msgstr "Referencia del cliente " +msgstr "Referencia de Cliente " #: order/models.py:677 msgid "Customer order reference code" -msgstr "Código de referencia de pedido del cliente" +msgstr "Código de referencia del pedido del cliente" #: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." -msgstr "Fecha límite para la finalización del pedido. El pedido se retrasará después de esta fecha." +msgstr "Fecha límite para la finalización del envío. El pedido estará vencido después de esta fecha." #: order/models.py:685 order/models.py:1241 #: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 msgid "Shipment Date" -msgstr "Fecha de envío" +msgstr "Fecha de Envío" #: order/models.py:692 msgid "shipped by" -msgstr "enviado por" +msgstr "" #: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" -msgstr "El pedido no se puede completar porque no se han asignado partes" +msgstr "" #: order/models.py:751 msgid "Only a pending order can be marked as complete" -msgstr "Sólo una orden pendiente puede ser marcada como completa" +msgstr "" #: order/models.py:754 templates/js/translated/order.js:420 msgid "Order cannot be completed as there are incomplete shipments" -msgstr "El pedido no se puede completar porque hay envíos incompletos" +msgstr "" #: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" -msgstr "El pedido no se puede completar porque hay artículos de línea incompletos" +msgstr "" #: order/models.py:935 msgid "Item quantity" -msgstr "Cantidad del artículo" +msgstr "" #: order/models.py:941 msgid "Line item reference" -msgstr "Referencia de línea en la orden" +msgstr "Referencia de artículo de línea" #: order/models.py:943 msgid "Line item notes" -msgstr "Notas del artículo de línea" +msgstr "" #: order/models.py:948 msgid "Target date for this line item (leave blank to use the target date from the order)" @@ -4049,7 +4050,7 @@ msgstr "" #: order/models.py:966 msgid "Context" -msgstr "Contexto" +msgstr "" #: order/models.py:967 msgid "Additional context for this line" @@ -4057,36 +4058,36 @@ msgstr "" #: order/models.py:976 msgid "Unit price" -msgstr "Precio unitario" +msgstr "Precio por unidad" #: order/models.py:1006 msgid "Supplier part must match supplier" -msgstr "La pieza del proveedor debe coincidir con el proveedor" +msgstr "" #: order/models.py:1014 msgid "deleted" -msgstr "eliminado" +msgstr "" #: order/models.py:1020 order/models.py:1100 order/models.py:1141 #: order/models.py:1235 order/models.py:1367 #: templates/js/translated/order.js:3522 msgid "Order" -msgstr "Orden" +msgstr "" #: order/models.py:1039 msgid "Supplier part" -msgstr "Ítems de Proveedor" +msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" -msgstr "Recibido" +msgstr "" #: order/models.py:1047 msgid "Number of items received" -msgstr "Número de artículos recibidos" +msgstr "" #: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 #: stock/templates/stock/item_base.html:189 @@ -4096,65 +4097,65 @@ msgstr "Precio de Compra" #: order/models.py:1055 msgid "Unit purchase price" -msgstr "Precio de compra unitario" +msgstr "Precio de compra por unidad" #: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" -msgstr "¿Dónde quiere el comprador almacenar este objeto?" +msgstr "" #: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" -msgstr "" +msgstr "Una pieza virtual no puede ser asignada a un pedido de entrega" #: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" -msgstr "" +msgstr "Sólo las piezas entregables pueden ser asignadas a un pedido de entrega" #: order/models.py:1160 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 msgid "Sale Price" -msgstr "Precio de Venta" +msgstr "" #: order/models.py:1161 msgid "Unit sale price" -msgstr "Precio de venta unitario" +msgstr "Precio de venta por unidad" #: order/models.py:1166 msgid "Shipped quantity" -msgstr "Cantidad enviada" +msgstr "" #: order/models.py:1242 msgid "Date of shipment" -msgstr "Fecha del envío" +msgstr "" #: order/models.py:1249 msgid "Checked By" -msgstr "Revisado por" +msgstr "" #: order/models.py:1250 msgid "User who checked this shipment" -msgstr "Usuario que revisó este envío" +msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" -msgstr "Envío" +msgstr "" #: order/models.py:1258 msgid "Shipment number" -msgstr "Número de envío" +msgstr "" #: order/models.py:1262 msgid "Shipment notes" -msgstr "Nota de envío" +msgstr "" #: order/models.py:1268 msgid "Tracking Number" -msgstr "Número de Seguimiento" +msgstr "" #: order/models.py:1269 msgid "Shipment tracking information" -msgstr "Información de seguimiento del envío" +msgstr "" #: order/models.py:1276 msgid "Invoice Number" @@ -4166,11 +4167,11 @@ msgstr "" #: order/models.py:1295 msgid "Shipment has already been sent" -msgstr "El envío ya ha sido enviado" +msgstr "" #: order/models.py:1298 msgid "Shipment has no allocated stock items" -msgstr "El envío no tiene artículos de stock asignados" +msgstr "" #: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" @@ -4178,55 +4179,55 @@ msgstr "El artículo de stock no ha sido asignado" #: order/models.py:1407 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" +msgstr "" #: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" -msgstr "No se puede asignar stock a una línea sin una pieza" +msgstr "" #: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" -msgstr "La cantidad de asignación no puede exceder la cantidad de stock" +msgstr "" #: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" -msgstr "La cantidad debe ser 1 para el stock serializado" +msgstr "" #: order/models.py:1425 msgid "Sales order does not match shipment" -msgstr "La orden de venta no coincide con el envío" +msgstr "La petición de entrega no coincide con el envío" #: order/models.py:1426 msgid "Shipment does not match sales order" -msgstr "El envío no coincide con el pedido de venta" +msgstr "El envío no coincide con el pedido de entrega" #: order/models.py:1434 msgid "Line" -msgstr "Línea" +msgstr "" #: order/models.py:1443 msgid "Sales order shipment reference" -msgstr "Referencia del envío del pedido de venta" +msgstr "Referencia del envío del pedido de entrega" #: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" -msgstr "Ítem" +msgstr "" #: order/models.py:1457 msgid "Select stock item to allocate" -msgstr "Seleccionar artículo de stock para asignar" +msgstr "" #: order/models.py:1460 msgid "Enter stock allocation quantity" -msgstr "Especificar la cantidad de asignación de stock" +msgstr "" #: order/serializers.py:63 msgid "Price currency" -msgstr "" +msgstr "Precio de divisa" #: order/serializers.py:193 msgid "Order cannot be cancelled" -msgstr "El pedido no puede ser cancelado" +msgstr "" #: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" @@ -4258,19 +4259,19 @@ msgstr "" #: order/serializers.py:358 msgid "Purchase order must match supplier" -msgstr "La orden de compra debe coincidir con el proveedor" +msgstr "" #: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" -msgstr "Artículo en línea" +msgstr "" #: order/serializers.py:427 msgid "Line item does not match purchase order" -msgstr "La línea del artículo no coincide con la orden de compra" +msgstr "" #: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" -msgstr "Seleccione la ubicación de destino para los artículos recibidos" +msgstr "" #: order/serializers.py:456 templates/js/translated/order.js:1569 msgid "Enter batch code for incoming stock items" @@ -4282,11 +4283,11 @@ msgstr "" #: order/serializers.py:478 msgid "Unique identifier field" -msgstr "Identificador único" +msgstr "" #: order/serializers.py:492 msgid "Barcode is already in use" -msgstr "Código de barras en uso" +msgstr "" #: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" @@ -4294,15 +4295,15 @@ msgstr "" #: order/serializers.py:564 msgid "Line items must be provided" -msgstr "Se deben proporcionar elementos de línea" +msgstr "" #: order/serializers.py:581 msgid "Destination location must be specified" -msgstr "Se requiere ubicación de destino" +msgstr "" #: order/serializers.py:592 msgid "Supplied barcode values must be unique" -msgstr "Los valores del código de barras deben ser únicos" +msgstr "" #: order/serializers.py:900 msgid "Sale price currency" @@ -4310,35 +4311,35 @@ msgstr "Moneda del precio de venta" #: order/serializers.py:981 msgid "No shipment details provided" -msgstr "No se proporcionaron detalles de envío" +msgstr "" #: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" -msgstr "Artículo en línea no está asociado con este pedido" +msgstr "" #: order/serializers.py:1066 msgid "Quantity must be positive" -msgstr "La cantidad debe ser positiva" +msgstr "" #: order/serializers.py:1211 msgid "Enter serial numbers to allocate" -msgstr "Introduzca números de serie para asignar" +msgstr "" #: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" -msgstr "El envío ya ha sido enviado" +msgstr "" #: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" -msgstr "El envío no está asociado con este pedido" +msgstr "" #: order/serializers.py:1290 msgid "No match found for the following serial numbers" -msgstr "No se han encontrado coincidencias para los siguientes números de serie" +msgstr "" #: order/serializers.py:1300 msgid "The following serial numbers are already allocated" -msgstr "Los siguientes números de serie ya están asignados" +msgstr "" #: order/tasks.py:26 msgid "Overdue Purchase Order" @@ -4351,16 +4352,16 @@ msgstr "" #: order/tasks.py:89 msgid "Overdue Sales Order" -msgstr "" +msgstr "Pedidos de Entrega Atrasados" #: order/tasks.py:94 #, python-brace-format msgid "Sales order {so} is now overdue" -msgstr "" +msgstr "La petición de entrega {so} está vencida" #: order/templates/order/order_base.html:33 msgid "Print purchase order report" -msgstr "Imprimir informe de orden de compra" +msgstr "" #: order/templates/order/order_base.html:35 #: order/templates/order/sales_order_base.html:45 @@ -4380,7 +4381,7 @@ msgstr "Editar pedido" #: order/templates/order/order_base.html:50 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" -msgstr "Cancelar orden" +msgstr "Cancelar pedido" #: order/templates/order/order_base.html:55 msgid "Duplicate order" @@ -4398,40 +4399,40 @@ msgstr "Recibir artículos" #: order/templates/order/order_base.html:67 #: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" -msgstr "Recibir artículos" +msgstr "Recibir Artículos" #: order/templates/order/order_base.html:69 msgid "Mark order as complete" -msgstr "Marcar pedido como completado" +msgstr "" #: order/templates/order/order_base.html:71 #: order/templates/order/sales_order_base.html:68 msgid "Complete Order" -msgstr "Completar pedido" +msgstr "Completar Pedido" #: order/templates/order/order_base.html:93 #: order/templates/order/sales_order_base.html:80 msgid "Order Reference" -msgstr "Referencia del pedido" +msgstr "Referencia del Pedido" #: order/templates/order/order_base.html:98 #: order/templates/order/sales_order_base.html:85 msgid "Order Description" -msgstr "Descripción del pedido" +msgstr "Descripción del Pedido" #: order/templates/order/order_base.html:103 #: order/templates/order/sales_order_base.html:90 msgid "Order Status" -msgstr "Estado del pedido" +msgstr "Estado del Pedido" #: order/templates/order/order_base.html:126 msgid "No suppplier information available" -msgstr "No hay información disponible sobre el proveedor" +msgstr "" #: order/templates/order/order_base.html:139 #: order/templates/order/sales_order_base.html:129 msgid "Completed Line Items" -msgstr "Ítems de línea completados" +msgstr "Artículos de Línea Completados" #: order/templates/order/order_base.html:145 #: order/templates/order/sales_order_base.html:135 @@ -4442,17 +4443,17 @@ msgstr "Incompleto" #: order/templates/order/order_base.html:164 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" -msgstr "Emitido" +msgstr "" #: order/templates/order/order_base.html:192 #: order/templates/order/sales_order_base.html:190 msgid "Total cost" -msgstr "Costo total" +msgstr "Coste total" #: order/templates/order/order_base.html:196 #: order/templates/order/sales_order_base.html:194 msgid "Total cost could not be calculated" -msgstr "No se ha podido calcular el costo total" +msgstr "No se ha podido calcular el coste total" #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 @@ -4466,7 +4467,7 @@ msgstr "Faltan selecciones para las siguientes columnas requeridas" #: part/templates/part/import_wizard/match_fields.html:20 #: templates/patterns/wizard/match_fields.html:19 msgid "Duplicate selections found, see below. Fix them then retry submitting." -msgstr "Se han encontrado selecciones duplicadas, vea a continuación. Arreglarlas y vuelva a intentar enviarlas." +msgstr "" #: order/templates/order/order_wizard/match_fields.html:29 #: order/templates/order/order_wizard/match_parts.html:21 @@ -4474,28 +4475,28 @@ msgstr "Se han encontrado selecciones duplicadas, vea a continuación. Arreglarl #: part/templates/part/import_wizard/match_references.html:21 #: templates/patterns/wizard/match_fields.html:28 msgid "Submit Selections" -msgstr "Enviar selecciones" +msgstr "Enviar Selecciones" #: order/templates/order/order_wizard/match_fields.html:35 #: part/templates/part/import_wizard/ajax_match_fields.html:28 #: part/templates/part/import_wizard/match_fields.html:35 #: templates/patterns/wizard/match_fields.html:34 msgid "File Fields" -msgstr "Campos de archivo" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:42 #: part/templates/part/import_wizard/ajax_match_fields.html:35 #: part/templates/part/import_wizard/match_fields.html:42 #: templates/patterns/wizard/match_fields.html:41 msgid "Remove column" -msgstr "Eliminar columna" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:60 #: part/templates/part/import_wizard/ajax_match_fields.html:53 #: part/templates/part/import_wizard/match_fields.html:60 #: templates/patterns/wizard/match_fields.html:59 msgid "Duplicate selection" -msgstr "Duplicar selección" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:71 #: order/templates/order/order_wizard/match_parts.html:52 @@ -4526,7 +4527,7 @@ msgstr "Fila" #: order/templates/order/order_wizard/match_parts.html:29 msgid "Select Supplier Part" -msgstr "Seleccionar Parte de Proveedor" +msgstr "Seleccionar Pieza del Proveedor" #: order/templates/order/order_wizard/po_upload.html:8 msgid "Return to Orders" @@ -4534,11 +4535,11 @@ msgstr "Volver a Pedidos" #: order/templates/order/order_wizard/po_upload.html:13 msgid "Upload File for Purchase Order" -msgstr "Subir archivo para orden de compra" +msgstr "Subir Archivo para Orden de Compra" #: order/templates/order/order_wizard/po_upload.html:14 msgid "Order is already processed. Files cannot be uploaded." -msgstr "El pedido ya ha sido procesado. Los archivos no se pueden cargar." +msgstr "" #: order/templates/order/order_wizard/po_upload.html:27 #: part/templates/part/import_wizard/ajax_part_upload.html:10 @@ -4553,25 +4554,25 @@ msgstr "Paso %(step)s de %(count)s" #: report/templates/report/inventree_po_report.html:84 #: report/templates/report/inventree_so_report.html:85 msgid "Line Items" -msgstr "Línea de pedido" +msgstr "Artículos de Línea" #: order/templates/order/po_sidebar.html:7 msgid "Received Stock" -msgstr "Stock Recibido" +msgstr "" #: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" -msgstr "Comprar artículos de orden" +msgstr "Artículos de la Orden de Compra" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/order.js:577 templates/js/translated/order.js:750 msgid "Add Line Item" -msgstr "Añadir artículo de línea" +msgstr "Añadir Artículo de Línea" #: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" -msgstr "Recibir elementos seleccionados" +msgstr "Recibir artículos seleccionados" #: order/templates/order/purchase_order_detail.html:50 #: order/templates/order/sales_order_detail.html:45 @@ -4582,16 +4583,16 @@ msgstr "Líneas Adicionales" #: order/templates/order/sales_order_detail.html:51 #: order/templates/order/sales_order_detail.html:289 msgid "Add Extra Line" -msgstr "Añadir línea adicional" +msgstr "Añadir Línea Adicional" #: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" -msgstr "Articulos Recibidos" +msgstr "Artículos Recibidos" #: order/templates/order/purchase_order_detail.html:101 #: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" -msgstr "Notas del pedido" +msgstr "Notas del Pedido" #: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" @@ -4600,11 +4601,11 @@ msgstr "" #: order/templates/order/purchase_orders.html:30 #: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" -msgstr "Imprimir informes de pedidos" +msgstr "Imprimir Informes de Pedidos" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" -msgstr "Imprimir reporte de orden de venta" +msgstr "Imprimir informe de pedidos de entrega" #: order/templates/order/sales_order_base.html:47 msgid "Print packing list" @@ -4613,40 +4614,40 @@ msgstr "Imprimir lista de empaquetado" #: order/templates/order/sales_order_base.html:60 #: templates/js/translated/order.js:233 msgid "Complete Shipments" -msgstr "" +msgstr "Completar Envíos" #: order/templates/order/sales_order_base.html:67 #: templates/js/translated/order.js:398 msgid "Complete Sales Order" -msgstr "Ordenes de venta completas" +msgstr "Completar Pedido de Entrega" #: order/templates/order/sales_order_base.html:103 msgid "This Sales Order has not been fully allocated" -msgstr "Esta orden de venta no ha sido completamente asignada" +msgstr "Este pedido de entrega no ha sido completamente asignado" #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/order.js:2870 msgid "Customer Reference" -msgstr "Referencia del cliente" +msgstr "Referencia del Cliente" #: order/templates/order/sales_order_base.html:141 #: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" -msgstr "Envíos completados" +msgstr "Envíos Completados" #: order/templates/order/sales_order_base.html:230 msgid "Edit Sales Order" -msgstr "Editar orden de venta" +msgstr "Editar Pedido de Entrega" #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" -msgstr "Artículos de Pedidos de Venta" +msgstr "Artículos de Pedidos de Entrega" #: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" -msgstr "Envíos pendientes" +msgstr "Envíos Pendientes" #: order/templates/order/sales_order_detail.html:77 #: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 @@ -4660,15 +4661,15 @@ msgstr "Nuevo Envío" #: order/views.py:104 msgid "Match Supplier Parts" -msgstr "Coincidir Piezas de Proveedor" +msgstr "" #: order/views.py:377 msgid "Sales order not found" -msgstr "Orden de venta no encontrada" +msgstr "Pedido de entrega no encontrado" #: order/views.py:383 msgid "Price not found" -msgstr "Precio no encontrado" +msgstr "" #: order/views.py:386 #, python-brace-format @@ -4681,38 +4682,38 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" -msgstr "ID de Parte" +msgstr "ID de Pieza" #: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 msgid "Part Name" -msgstr "" +msgstr "Nombre de la Pieza" #: part/admin.py:21 msgid "Part Description" -msgstr "" +msgstr "Descripción de la Pieza" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" -msgstr "Revisión" +msgstr "" #: part/admin.py:24 part/admin.py:178 part/models.py:839 #: part/templates/part/category.html:87 part/templates/part/part_base.html:300 msgid "Keywords" -msgstr "Palabras claves" +msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" -msgstr "ID de Categoría" +msgstr "" #: part/admin.py:29 part/admin.py:173 msgid "Category Name" @@ -4728,7 +4729,7 @@ msgstr "" #: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 msgid "Minimum Stock" -msgstr "Stock mínimo" +msgstr "" #: part/admin.py:47 part/templates/part/part_base.html:200 #: templates/js/translated/company.js:1028 @@ -4738,27 +4739,27 @@ msgstr "En Stock" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" -msgstr "En pedido" +msgstr "" #: part/admin.py:49 part/templates/part/part_sidebar.html:27 msgid "Used In" -msgstr "Usado en" +msgstr "Usado En" #: part/admin.py:50 templates/js/translated/build.js:1948 #: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 #: templates/js/translated/order.js:3979 msgid "Allocated" -msgstr "Asignadas" +msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" -msgstr "En construcción" +msgstr "" #: part/admin.py:52 part/models.py:2852 msgid "Minimum Cost" @@ -4779,7 +4780,7 @@ msgstr "" #: part/admin.py:179 part/templates/part/category.html:81 #: part/templates/part/category.html:94 msgid "Category Path" -msgstr "Ruta de Categoría" +msgstr "Ruta de la Categoría" #: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:134 @@ -4787,10 +4788,10 @@ msgstr "Ruta de Categoría" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" -msgstr "Partes" +msgstr "Piezas" #: part/admin.py:244 msgid "BOM Level" @@ -4806,25 +4807,25 @@ msgstr "" #: part/admin.py:253 part/models.py:3336 msgid "Part IPN" -msgstr "" +msgstr "IPN de la Pieza" #: part/admin.py:259 templates/js/translated/pricing.js:332 #: templates/js/translated/pricing.js:973 msgid "Minimum Price" -msgstr "Precio mínimo" +msgstr "" #: part/admin.py:260 templates/js/translated/pricing.js:327 #: templates/js/translated/pricing.js:981 msgid "Maximum Price" -msgstr "Precio máximo" +msgstr "" #: part/api.py:536 msgid "Incoming Purchase Order" -msgstr "Orden de compra entrante" +msgstr "" #: part/api.py:556 msgid "Outgoing Sales Order" -msgstr "Orden de venta saliente" +msgstr "Pedidos de Entrega Salientes" #: part/api.py:574 msgid "Stock produced by Build Order" @@ -4836,24 +4837,24 @@ msgstr "" #: part/api.py:818 msgid "Valid" -msgstr "Válido" +msgstr "" #: part/api.py:819 msgid "Validate entire Bill of Materials" -msgstr "Validación de Lista de Materiales" +msgstr "" #: part/api.py:825 msgid "This option must be selected" -msgstr "Esta opción debe ser seleccionada" +msgstr "" #: part/bom.py:175 part/models.py:116 part/models.py:888 #: part/templates/part/category.html:109 part/templates/part/part_base.html:374 msgid "Default Location" -msgstr "Ubicación Predeterminada" +msgstr "" #: part/bom.py:176 templates/email/low_stock_notification.html:17 msgid "Total Stock" -msgstr "Inventario Total" +msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 #: templates/js/translated/order.js:3946 @@ -4862,21 +4863,21 @@ msgstr "Stock Disponible" #: part/forms.py:41 msgid "Input quantity for price calculation" -msgstr "Cantidad de entrada para el cálculo del precio" +msgstr "" #: part/models.py:117 msgid "Default location for parts in this category" -msgstr "Ubicación predeterminada para partes de esta categoría" +msgstr "Ubicación predeterminada para piezas de esta categoría" #: part/models.py:122 stock/models.py:113 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:150 msgid "Structural" -msgstr "Estructural" +msgstr "" #: part/models.py:124 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" +msgstr "Las piezas no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas." #: part/models.py:128 msgid "Default keywords" @@ -4884,7 +4885,7 @@ msgstr "Palabras clave predeterminadas" #: part/models.py:128 msgid "Default keywords for parts in this category" -msgstr "Palabras clave por defecto para partes en esta categoría" +msgstr "Palabras clave por defecto para piezas en esta categoría" #: part/models.py:133 stock/models.py:102 msgid "Icon" @@ -4896,27 +4897,27 @@ msgstr "Icono (opcional)" #: part/models.py:153 msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" +msgstr "¡No puedes hacer que esta categoría de piezas sea estructural porque algunas piezas ya están asignadas!" #: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "Categoría de parte" +msgstr "Categoría de Pieza" #: part/models.py:160 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" -msgstr "Categorías de parte" +msgstr "Categorías de Piezas" #: part/models.py:469 msgid "Invalid choice for parent part" -msgstr "Opción no válida para la parte principal" +msgstr "Opción no válida para la pieza principal" #: part/models.py:539 part/models.py:551 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" -msgstr "La parte '{p1}' se utiliza en BOM para '{p2}' (recursivo)" +msgstr "La pieza '{p1}' se utiliza en la lista BOM para '{p2}' (recursivo)" #: part/models.py:641 msgid "Stock item with this serial number already exists" @@ -4924,7 +4925,7 @@ msgstr "" #: part/models.py:772 msgid "Duplicate IPN not allowed in part settings" -msgstr "IPN duplicado no permitido en la configuración de partes" +msgstr "IPN duplicado no permitido en la configuración de piezas" #: part/models.py:777 msgid "Part with this Name, IPN and Revision already exists." @@ -4932,7 +4933,7 @@ msgstr "" #: part/models.py:791 msgid "Parts cannot be assigned to structural part categories!" -msgstr "" +msgstr "¡No se pueden asignar piezas a las categorías de piezas estructurales!" #: part/models.py:809 part/models.py:3333 msgid "Part name" @@ -4940,15 +4941,15 @@ msgstr "Nombre de la pieza" #: part/models.py:816 msgid "Is Template" -msgstr "Es plantilla" +msgstr "" #: part/models.py:817 msgid "Is this part a template part?" -msgstr "¿Es esta parte una parte de la plantilla?" +msgstr "¿Es esta pieza una 'pieza plantilla'?" #: part/models.py:827 msgid "Is this part a variant of another part?" -msgstr "¿Es esta parte una variante de otra parte?" +msgstr "¿Es esta pieza una variante de otra pieza?" #: part/models.py:828 msgid "Variant Of" @@ -4960,51 +4961,51 @@ msgstr "Descripción de la pieza" #: part/models.py:840 msgid "Part keywords to improve visibility in search results" -msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda" +msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda de piezas" #: part/models.py:847 part/models.py:3032 part/models.py:3276 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" -msgstr "Categoría" +msgstr "" #: part/models.py:848 msgid "Part category" -msgstr "Categoría de parte" +msgstr "Categoría de pieza" #: part/models.py:854 msgid "Internal Part Number" -msgstr "Número de parte interna" +msgstr "'Part Number' Interno (IPN)" #: part/models.py:860 msgid "Part revision or version number" -msgstr "Revisión de parte o número de versión" +msgstr "Revisión de la pieza o número de versión" #: part/models.py:886 msgid "Where is this item normally stored?" -msgstr "¿Dónde se almacena este elemento normalmente?" +msgstr "" #: part/models.py:931 part/templates/part/part_base.html:383 msgid "Default Supplier" -msgstr "Proveedor por defecto" +msgstr "" #: part/models.py:932 msgid "Default supplier part" -msgstr "Parte de proveedor predeterminada" +msgstr "" #: part/models.py:939 msgid "Default Expiry" -msgstr "Expiración por defecto" +msgstr "" #: part/models.py:940 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" +msgstr "Tiempo de expiración (en días) para los artículos de stock de esta pieza" #: part/models.py:946 msgid "Minimum allowed stock level" -msgstr "Nivel mínimo de stock permitido" +msgstr "" #: part/models.py:953 msgid "Units of measure for this part" @@ -5012,15 +5013,15 @@ msgstr "" #: part/models.py:959 msgid "Can this part be built from other parts?" -msgstr "¿Se puede construir esta pieza a partir de otras piezas?" +msgstr "" #: part/models.py:965 msgid "Can this part be used to build other parts?" -msgstr "¿Se puede utilizar esta pieza para construir otras partes?" +msgstr "" #: part/models.py:971 msgid "Does this part have tracking for unique items?" -msgstr "¿Esta parte tiene seguimiento de objetos únicos?" +msgstr "¿Esta pieza tiene seguimiento de artículos únicos?" #: part/models.py:976 msgid "Can this part be purchased from external suppliers?" @@ -5028,19 +5029,19 @@ msgstr "¿Se puede comprar esta pieza a proveedores externos?" #: part/models.py:981 msgid "Can this part be sold to customers?" -msgstr "¿Se puede vender esta pieza a los clientes?" +msgstr "¿Se puede entregar esta pieza a los clientes?" #: part/models.py:986 msgid "Is this part active?" -msgstr "¿Está activa esta parte?" +msgstr "" #: part/models.py:991 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?" +msgstr "" #: part/models.py:993 msgid "Part notes" -msgstr "Notas de parte" +msgstr "" #: part/models.py:995 msgid "BOM checksum" @@ -5048,33 +5049,37 @@ msgstr "" #: part/models.py:995 msgid "Stored BOM checksum" -msgstr "Suma de control BOM almacenada" +msgstr "" #: part/models.py:998 msgid "BOM checked by" -msgstr "BOM comprobado por" +msgstr "" #: part/models.py:1000 msgid "BOM checked date" -msgstr "Fecha BOM comprobada" +msgstr "" #: part/models.py:1004 msgid "Creation User" -msgstr "Creación de Usuario" +msgstr "" + +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" -msgstr "Último inventario" +msgstr "Último Inventario" #: part/models.py:1869 msgid "Sell multiple" -msgstr "Vender múltiples" +msgstr "Entrega múltiple" #: part/models.py:2775 msgid "Currency used to cache pricing calculations" -msgstr "" +msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" #: part/models.py:2792 msgid "Minimum BOM Cost" @@ -5094,7 +5099,7 @@ msgstr "" #: part/models.py:2804 msgid "Minimum Purchase Cost" -msgstr "Costo mínimo de compra" +msgstr "" #: part/models.py:2805 msgid "Minimum historical purchase cost" @@ -5130,7 +5135,7 @@ msgstr "" #: part/models.py:2829 msgid "Minimum price of part from external suppliers" -msgstr "" +msgstr "Precio mínimo de la pieza de proveedores externos" #: part/models.py:2834 msgid "Maximum Supplier Price" @@ -5138,19 +5143,19 @@ msgstr "" #: part/models.py:2835 msgid "Maximum price of part from external suppliers" -msgstr "" +msgstr "Precio máximo de la pieza de proveedores externos" #: part/models.py:2840 msgid "Minimum Variant Cost" -msgstr "Costo mínimo de variante" +msgstr "" #: part/models.py:2841 msgid "Calculated minimum cost of variant parts" -msgstr "Coste mínimo calculado de las partes variantes" +msgstr "" #: part/models.py:2846 msgid "Maximum Variant Cost" -msgstr "Costo máximo de variante" +msgstr "" #: part/models.py:2847 msgid "Calculated maximum cost of variant parts" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5220,7 +5225,7 @@ msgstr "" #: part/models.py:2921 msgid "Additional notes" -msgstr "Notas adicionales" +msgstr "" #: part/models.py:2929 msgid "User who performed this stocktake" @@ -5228,19 +5233,19 @@ msgstr "" #: part/models.py:3079 msgid "Test templates can only be created for trackable parts" -msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables" +msgstr "" #: part/models.py:3096 msgid "Test with this name already exists for this part" -msgstr "Ya existe una prueba con este nombre para esta parte" +msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" -msgstr "Nombre de prueba" +msgstr "" #: part/models.py:3117 msgid "Enter a name for the test" -msgstr "Introduzca un nombre para la prueba" +msgstr "" #: part/models.py:3122 msgid "Test Description" @@ -5250,26 +5255,26 @@ msgstr "Descripción de prueba" msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" -msgstr "Requerido" +msgstr "" #: part/models.py:3129 msgid "Is this test required to pass?" -msgstr "¿Es necesario pasar esta prueba?" +msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" -msgstr "Requiere valor" +msgstr "" #: part/models.py:3135 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?" +msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" -msgstr "Adjunto obligatorio" +msgstr "" #: part/models.py:3141 msgid "Does this test require a file attachment when adding a test result?" @@ -5277,44 +5282,44 @@ msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la #: part/models.py:3182 msgid "Parameter template name must be unique" -msgstr "El nombre de parámetro en la plantilla tiene que ser único" +msgstr "" #: part/models.py:3190 msgid "Parameter Name" -msgstr "Nombre de Parámetro" +msgstr "" #: part/models.py:3194 msgid "Parameter Units" -msgstr "Unidad del Parámetro" +msgstr "" #: part/models.py:3199 msgid "Parameter description" -msgstr "" +msgstr "Descripción del parámetro" #: part/models.py:3232 msgid "Parent Part" -msgstr "Parte principal" +msgstr "Pieza Superior" #: part/models.py:3234 part/models.py:3282 part/models.py:3283 #: templates/InvenTree/settings/settings.html:271 msgid "Parameter Template" -msgstr "Plantilla de parámetro" +msgstr "" #: part/models.py:3236 msgid "Data" -msgstr "Datos" +msgstr "" #: part/models.py:3236 msgid "Parameter Value" -msgstr "Valor del parámetro" +msgstr "" #: part/models.py:3287 templates/InvenTree/settings/settings.html:280 msgid "Default Value" -msgstr "Valor predeterminado" +msgstr "" #: part/models.py:3288 msgid "Default Parameter Value" -msgstr "Valor de parámetro por defecto" +msgstr "" #: part/models.py:3325 msgid "Part ID or part name" @@ -5330,7 +5335,7 @@ msgstr "" #: part/models.py:3340 msgid "Level" -msgstr "Nivel" +msgstr "" #: part/models.py:3341 msgid "BOM level" @@ -5338,19 +5343,19 @@ msgstr "" #: part/models.py:3410 msgid "Select parent part" -msgstr "Seleccionar parte principal" +msgstr "Seleccionar pieza superior" #: part/models.py:3418 msgid "Sub part" -msgstr "Sub parte" +msgstr "" #: part/models.py:3419 msgid "Select part to be used in BOM" -msgstr "Seleccionar parte a utilizar en BOM" +msgstr "" #: part/models.py:3425 msgid "BOM quantity for this BOM item" -msgstr "Cantidad del artículo en BOM" +msgstr "" #: part/models.py:3429 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 @@ -5362,13 +5367,13 @@ msgstr "Opcional" #: part/models.py:3430 msgid "This BOM item is optional" -msgstr "Este elemento BOM es opcional" +msgstr "" #: part/models.py:3435 templates/js/translated/bom.js:936 #: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 #: templates/js/translated/table_filters.js:88 msgid "Consumable" -msgstr "Consumible" +msgstr "" #: part/models.py:3436 msgid "This BOM item is consumable (it is not tracked in build orders)" @@ -5380,15 +5385,15 @@ msgstr "Exceso" #: part/models.py:3441 msgid "Estimated build wastage quantity (absolute or percentage)" -msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" +msgstr "" #: part/models.py:3444 msgid "BOM item reference" -msgstr "Referencia de artículo de BOM" +msgstr "" #: part/models.py:3447 msgid "BOM item notes" -msgstr "Notas del artículo de BOM" +msgstr "" #: part/models.py:3449 msgid "Checksum" @@ -5396,7 +5401,7 @@ msgstr "" #: part/models.py:3449 msgid "BOM line checksum" -msgstr "Suma de comprobación de la línea en BOM" +msgstr "" #: part/models.py:3453 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1019 @@ -5407,52 +5412,52 @@ msgstr "Heredado" #: part/models.py:3454 msgid "This BOM item is inherited by BOMs for variant parts" -msgstr "Este artículo BOM es heredado por BOMs para partes variantes" +msgstr "" #: part/models.py:3459 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1011 msgid "Allow Variants" -msgstr "Permitir variantes" +msgstr "Permitir Variantes" #: part/models.py:3460 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" +msgstr "" #: part/models.py:3546 stock/models.py:558 msgid "Quantity must be integer value for trackable parts" -msgstr "La cantidad debe ser un valor entero para las partes rastreables" +msgstr "" #: part/models.py:3555 part/models.py:3557 msgid "Sub part must be specified" -msgstr "Debe especificar la subparte" +msgstr "" #: part/models.py:3684 msgid "BOM Item Substitute" -msgstr "Ítem de BOM sustituto" +msgstr "" #: part/models.py:3705 msgid "Substitute part cannot be the same as the master part" -msgstr "La parte sustituta no puede ser la misma que la parte principal" +msgstr "" #: part/models.py:3718 msgid "Parent BOM item" -msgstr "Artículo BOM superior" +msgstr "" #: part/models.py:3726 msgid "Substitute part" -msgstr "Sustituir parte" +msgstr "" #: part/models.py:3741 msgid "Part 1" -msgstr "Parte 1" +msgstr "" #: part/models.py:3745 msgid "Part 2" -msgstr "Parte 2" +msgstr "" #: part/models.py:3745 msgid "Select Related Part" -msgstr "Seleccionar parte relacionada" +msgstr "" #: part/models.py:3763 msgid "Part relationship cannot be created between a part and itself" @@ -5464,11 +5469,11 @@ msgstr "" #: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 msgid "Purchase currency of this stock item" -msgstr "Moneda de compra de ítem de stock" +msgstr "Moneda de compra de este artículo de stock" #: part/serializers.py:318 msgid "Original Part" -msgstr "Parte original" +msgstr "" #: part/serializers.py:318 msgid "Select original part to duplicate" @@ -5476,31 +5481,31 @@ msgstr "" #: part/serializers.py:323 msgid "Copy Image" -msgstr "Copiar Imagen" +msgstr "" #: part/serializers.py:323 msgid "Copy image from original part" -msgstr "Copiar imagen desde la parte original" +msgstr "" #: part/serializers.py:328 part/templates/part/detail.html:295 msgid "Copy BOM" -msgstr "Copiar BOM" +msgstr "" #: part/serializers.py:328 msgid "Copy bill of materials from original part" -msgstr "Copiar la factura de materiales de la parte original" +msgstr "" #: part/serializers.py:333 msgid "Copy Parameters" -msgstr "Copiar Parámetros" +msgstr "" #: part/serializers.py:333 msgid "Copy parameter data from original part" -msgstr "Copiar datos del parámetro de la parte original" +msgstr "" #: part/serializers.py:343 msgid "Initial Stock Quantity" -msgstr "Cantidad Inicial de Stock" +msgstr "" #: part/serializers.py:343 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." @@ -5543,9 +5548,9 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" -msgstr "Duplicar Parte" +msgstr "Duplicar Pieza" #: part/serializers.py:562 msgid "Copy initial data from another Part" @@ -5567,89 +5572,89 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 -msgid "Update" -msgstr "Actualizar" - #: part/serializers.py:802 +msgid "Update" +msgstr "" + +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" -msgstr "Seleccionar parte de la que copiar BOM" - -#: part/serializers.py:1120 -msgid "Remove Existing Data" -msgstr "Eliminar Datos Existentes" +msgstr "" #: part/serializers.py:1121 -msgid "Remove existing BOM items before copying" -msgstr "Eliminar elementos BOM existentes antes de copiar" +msgid "Remove Existing Data" +msgstr "" -#: part/serializers.py:1126 -msgid "Include Inherited" -msgstr "Incluye Heredado" +#: part/serializers.py:1122 +msgid "Remove existing BOM items before copying" +msgstr "" #: part/serializers.py:1127 -msgid "Include BOM items which are inherited from templated parts" -msgstr "Incluye elementos BOM que son heredados de partes con plantillas" +msgid "Include Inherited" +msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1128 +msgid "Include BOM items which are inherited from templated parts" +msgstr "" + +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 -msgid "Clear Existing BOM" -msgstr "Limpiar BOM Existente" - #: part/serializers.py:1180 +msgid "Clear Existing BOM" +msgstr "" + +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" -msgstr "Varios resultados encontrados" +msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" -msgstr "No se encontraron partes coincidentes" +msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" -msgstr "La parte no está designada como componente" +msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" -msgstr "Cantidad no proporcionada" +msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" -msgstr "Cantidad no válida" +msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" -msgstr "Se requiere al menos un elemento BOM" +msgstr "" #: part/tasks.py:25 msgid "Low stock notification" -msgstr "Notificación por bajo stock" +msgstr "" #: part/tasks.py:26 #, python-brace-format @@ -5658,62 +5663,62 @@ msgstr "" #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." -msgstr "No tienes permiso para editar la lista de materiales." +msgstr "" #: part/templates/part/bom.html:15 #, python-format msgid "The BOM for %(part)s has changed, and must be validated.
" -msgstr "El BOM para %(part)s ha cambiado y debe ser validado.
" +msgstr "" #: part/templates/part/bom.html:17 #, python-format msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" -msgstr "El BOM para %(part)s fue revisado por última vez por %(checker)s el %(check_date)s" +msgstr "" #: part/templates/part/bom.html:21 #, python-format msgid "The BOM for %(part)s has not been validated." -msgstr "El BOM para %(part)s no ha sido validada." +msgstr "" #: part/templates/part/bom.html:30 part/templates/part/detail.html:290 msgid "BOM actions" -msgstr "Acciones BOM" +msgstr "" #: part/templates/part/bom.html:34 msgid "Delete Items" -msgstr "Eliminar elementos" +msgstr "" #: part/templates/part/category.html:34 part/templates/part/category.html:38 msgid "You are subscribed to notifications for this category" -msgstr "Estás suscrito a las notificaciones de esta categoría" +msgstr "" #: part/templates/part/category.html:42 msgid "Subscribe to notifications for this category" -msgstr "Suscribirse a las notificaciones de esta categoría" +msgstr "" #: part/templates/part/category.html:48 msgid "Category Actions" -msgstr "Acciones de categoría" +msgstr "" #: part/templates/part/category.html:53 msgid "Edit category" -msgstr "Editar categoría" +msgstr "" #: part/templates/part/category.html:54 msgid "Edit Category" -msgstr "Editar Categoría" +msgstr "" #: part/templates/part/category.html:58 msgid "Delete category" -msgstr "Eliminar categoría" +msgstr "" #: part/templates/part/category.html:59 msgid "Delete Category" -msgstr "Eliminar Categoría" +msgstr "" #: part/templates/part/category.html:95 msgid "Top level part category" -msgstr "Categoría de partes de nivel superior" +msgstr "Categoría de piezas de nivel superior" #: part/templates/part/category.html:115 part/templates/part/category.html:224 #: part/templates/part/category_sidebar.html:7 @@ -5722,40 +5727,40 @@ msgstr "Subcategorías" #: part/templates/part/category.html:120 msgid "Parts (Including subcategories)" -msgstr "Partes (incluyendo subcategorías)" +msgstr "Piezas (incluyendo subcategorías)" #: part/templates/part/category.html:158 msgid "Create new part" -msgstr "Crear nueva parte" +msgstr "Crear nueva pieza" #: part/templates/part/category.html:159 templates/js/translated/bom.js:412 msgid "New Part" -msgstr "Nueva Parte" +msgstr "Nueva Pieza" #: part/templates/part/category.html:169 part/templates/part/detail.html:389 #: part/templates/part/detail.html:420 msgid "Options" -msgstr "Opciones" +msgstr "" #: part/templates/part/category.html:173 msgid "Set category" -msgstr "Definir categoría" +msgstr "" #: part/templates/part/category.html:174 msgid "Set Category" -msgstr "Definir Categoría" +msgstr "" #: part/templates/part/category.html:181 part/templates/part/category.html:182 msgid "Print Labels" -msgstr "Imprimir Etiquetas" +msgstr "" #: part/templates/part/category.html:207 msgid "Part Parameters" -msgstr "Parámetros de Parte" +msgstr "Parámetros de Pieza" #: part/templates/part/category.html:228 msgid "Create new part category" -msgstr "Crear nueva categoría de partes" +msgstr "Crear nueva categoría de piezas" #: part/templates/part/category.html:229 msgid "New Category" @@ -5763,44 +5768,44 @@ msgstr "Nueva Categoría" #: part/templates/part/category.html:332 msgid "Create Part Category" -msgstr "Crear Categoría de Parte" +msgstr "Crear Categoría para Piezas" #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" -msgstr "Importar Partes" +msgstr "Importar Piezas" #: part/templates/part/copy_part.html:10 #, python-format msgid "Make a copy of part '%(full_name)s'." -msgstr "Hacer una copia de la parte '%(full_name)s'." +msgstr "Hacer una copia de la pieza '%(full_name)s'." #: part/templates/part/copy_part.html:14 #: part/templates/part/create_part.html:11 msgid "Possible Matching Parts" -msgstr "Posibles Partes coincidentes" +msgstr "Posibles Piezas Coincidentes" #: part/templates/part/copy_part.html:15 #: part/templates/part/create_part.html:12 msgid "The new part may be a duplicate of these existing parts" -msgstr "La nueva parte puede ser un duplicado de estas partes existentes" +msgstr "La nueva pieza puede ser un duplicado de estas piezas existentes" #: part/templates/part/create_part.html:17 #, python-format msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" -msgstr "%(full_name)s - %(desc)s (%(match_per)s%% coincidencia)" +msgstr "" #: part/templates/part/detail.html:20 msgid "Part Stock" -msgstr "Stock de parte" +msgstr "Stock de Piezas" #: part/templates/part/detail.html:44 msgid "Refresh scheduling data" -msgstr "" +msgstr "Actualizar datos de programación" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 #: templates/js/translated/tables.js:524 msgid "Refresh" -msgstr "Actualizar" +msgstr "" #: part/templates/part/detail.html:65 msgid "Add stocktake information" @@ -5813,43 +5818,43 @@ msgstr "Inventario" #: part/templates/part/detail.html:82 msgid "Part Test Templates" -msgstr "Plantillas de prueba de parte" +msgstr "Plantillas de Prueba para Pieza" #: part/templates/part/detail.html:87 msgid "Add Test Template" -msgstr "Añadir Plantilla de Prueba" +msgstr "" #: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" -msgstr "Asignaciones de órdenes de venta" +msgstr "Asignaciones de Pedidos de Entrega" #: part/templates/part/detail.html:164 msgid "Part Notes" -msgstr "" +msgstr "Notas de la Pieza" #: part/templates/part/detail.html:179 msgid "Part Variants" -msgstr "Variantes de Parte" +msgstr "Variantes de la Pieza" #: part/templates/part/detail.html:183 msgid "Create new variant" -msgstr "Crear nueva variante" +msgstr "" #: part/templates/part/detail.html:184 msgid "New Variant" -msgstr "Nueva Variante" +msgstr "" #: part/templates/part/detail.html:211 msgid "Add new parameter" -msgstr "Añadir nuevo parámetro" +msgstr "" #: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 msgid "Related Parts" -msgstr "Partes relacionadas" +msgstr "Piezas Relacionadas" #: part/templates/part/detail.html:252 part/templates/part/detail.html:253 msgid "Add Related" -msgstr "Añadir Relacionado" +msgstr "" #: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 @@ -5858,64 +5863,64 @@ msgstr "Lista de Materiales" #: part/templates/part/detail.html:278 msgid "Export actions" -msgstr "Exportar acciones" +msgstr "" #: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 msgid "Export BOM" -msgstr "Exportar BOM" +msgstr "" #: part/templates/part/detail.html:284 msgid "Print BOM Report" -msgstr "Imprimir informe BOM" +msgstr "" #: part/templates/part/detail.html:294 msgid "Upload BOM" -msgstr "Subir BOM" +msgstr "" #: part/templates/part/detail.html:296 msgid "Validate BOM" -msgstr "Validar BOM" +msgstr "" #: part/templates/part/detail.html:301 part/templates/part/detail.html:302 #: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 msgid "Add BOM Item" -msgstr "Añadir artículo al BOM" +msgstr "" #: part/templates/part/detail.html:315 msgid "Assemblies" -msgstr "Ensamblajes" +msgstr "" #: part/templates/part/detail.html:333 msgid "Part Builds" -msgstr "Construcción de partes" +msgstr "" #: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 msgid "Build Order Allocations" -msgstr "Construir adjudicaciones de pedidos" +msgstr "" #: part/templates/part/detail.html:376 msgid "Part Suppliers" -msgstr "Proveedores de piezas" +msgstr "Proveedores de Piezas" #: part/templates/part/detail.html:406 msgid "Part Manufacturers" -msgstr "Fabricantes de piezas" +msgstr "" #: part/templates/part/detail.html:422 msgid "Delete manufacturer parts" -msgstr "Eliminar partes del fabricante" +msgstr "" #: part/templates/part/detail.html:696 msgid "Related Part" -msgstr "Partes relacionadas" +msgstr "" #: part/templates/part/detail.html:704 msgid "Add Related Part" -msgstr "Añadir artículos relacionados" +msgstr "" #: part/templates/part/detail.html:800 msgid "Add Test Result Template" -msgstr "Añadir plantilla de resultados de prueba" +msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 @@ -5924,11 +5929,11 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:8 msgid "Return to Parts" -msgstr "Volver a los artículos" +msgstr "Volver a las Piezas" #: part/templates/part/import_wizard/part_upload.html:13 msgid "Import Parts from File" -msgstr "Importar artículos desde archivo" +msgstr "Importar Piezas desde Archivo" #: part/templates/part/import_wizard/part_upload.html:31 msgid "Requirements for part import" @@ -5950,25 +5955,25 @@ msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 #: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 msgid "Format" -msgstr "Formato" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 #: templates/js/translated/order.js:1029 msgid "Select file format" -msgstr "Seleccionar formato de archivo" +msgstr "" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "Listado de artículos" +msgstr "" #: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 msgid "You are subscribed to notifications for this part" -msgstr "Estás suscrito a las notificaciones de este artículo" +msgstr "" #: part/templates/part/part_base.html:35 msgid "Subscribe to notifications for this part" -msgstr "Suscríbete a las notificaciones de este artículo" +msgstr "" #: part/templates/part/part_base.html:49 msgid "Unink Barcode" @@ -5978,11 +5983,11 @@ msgstr "" #: stock/templates/stock/item_base.html:63 #: stock/templates/stock/location.html:67 msgid "Print Label" -msgstr "Imprimir etiqueta" +msgstr "Imprimir Etiqueta" #: part/templates/part/part_base.html:60 msgid "Show pricing information" -msgstr "Mostrar información de precios" +msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 @@ -5992,74 +5997,74 @@ msgstr "Acciones de stock" #: part/templates/part/part_base.html:72 msgid "Count part stock" -msgstr "Contar stock de piezas" +msgstr "" #: part/templates/part/part_base.html:78 msgid "Transfer part stock" -msgstr "Transferir stock de piezas" +msgstr "" #: part/templates/part/part_base.html:93 msgid "Part actions" -msgstr "Acciones para piezas" +msgstr "" #: part/templates/part/part_base.html:96 msgid "Duplicate part" -msgstr "Duplicar pieza" +msgstr "" #: part/templates/part/part_base.html:99 msgid "Edit part" -msgstr "Editar pieza" +msgstr "" #: part/templates/part/part_base.html:102 msgid "Delete part" -msgstr "Eliminar pieza" +msgstr "" #: part/templates/part/part_base.html:121 msgid "Part is a template part (variants can be made from this part)" -msgstr "La pieza es una pieza de plantilla (las variantes se pueden hacer a partir de esta pieza)" +msgstr "" #: part/templates/part/part_base.html:125 msgid "Part can be assembled from other parts" -msgstr "La pieza puede ser ensamblada desde otras piezas" +msgstr "" #: part/templates/part/part_base.html:129 msgid "Part can be used in assemblies" -msgstr "La pieza puede ser usada en ensamblajes" +msgstr "" #: part/templates/part/part_base.html:133 msgid "Part stock is tracked by serial number" -msgstr "El stock de esta pieza está rastreado por número de serie" +msgstr "" #: part/templates/part/part_base.html:137 msgid "Part can be purchased from external suppliers" -msgstr "La pieza puede ser comprada de proveedores externos" +msgstr "La pieza puede comprarse a proveedores externos" #: part/templates/part/part_base.html:141 msgid "Part can be sold to customers" -msgstr "La pieza puede ser vendida a clientes" +msgstr "La pieza puede ser entregada a los clientes" #: part/templates/part/part_base.html:147 #: part/templates/part/part_base.html:155 msgid "Part is virtual (not a physical part)" -msgstr "La pieza es virtual (no una pieza física)" +msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "Inactivo" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" -msgstr "Mostrar Detalles de Parte" +msgstr "Mostrar Detalles de la Pieza" #: part/templates/part/part_base.html:183 #, python-format msgid "This part is a variant of %(link)s" -msgstr "Esta parte es una variante de %(link)s" +msgstr "Esta pieza es una variante de %(link)s" #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 @@ -6069,51 +6074,51 @@ msgstr "" #: part/templates/part/part_base.html:230 #: stock/templates/stock/item_base.html:375 msgid "Allocated to Sales Orders" -msgstr "" +msgstr "Asignado a Pedidos" #: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 msgid "Can Build" -msgstr "Puede construir" +msgstr "" #: part/templates/part/part_base.html:293 msgid "Minimum stock level" -msgstr "Nivel mínimo de stock" +msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" -msgstr "Rango de precios" +msgstr "" #: part/templates/part/part_base.html:359 msgid "Latest Serial Number" -msgstr "Último Número Serial" +msgstr "" #: part/templates/part/part_base.html:363 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" -msgstr "Buscar número de serie" +msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" -msgstr "Calcular" +msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" -msgstr "No se encontraron imágenes coincidentes" +msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" -msgstr "Ocultar Detalles de la Parte" +msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 #: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 @@ -6125,14 +6130,14 @@ msgstr "Precios del Proveedor" #: part/templates/part/part_pricing.html:95 #: part/templates/part/part_pricing.html:110 msgid "Unit Cost" -msgstr "Coste Unitario" +msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 msgid "Total Cost" -msgstr "Costo Total" +msgstr "" #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" @@ -6141,47 +6146,47 @@ msgstr "Ningún precio de proveedor disponible" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87 #: part/templates/part/prices.html:240 msgid "BOM Pricing" -msgstr "Precios BOM" +msgstr "Precio de la Lista de Materiales (BOM)" #: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" -msgstr "Precio de Compra Unitario" +msgstr "Precio de Compra por Unidad" #: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" -msgstr "Precio total de compra" +msgstr "" #: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" -msgstr "No hay precios BOM disponibles" +msgstr "No hay precio de la Lista de Materiales (BOM) disponible" #: part/templates/part/part_pricing.html:92 msgid "Internal Price" -msgstr "Precio Interno" +msgstr "" #: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." -msgstr "No hay información de precios disponible para esta parte." +msgstr "" #: part/templates/part/part_scheduling.html:14 msgid "Scheduled Quantity" -msgstr "" +msgstr "Cantidad Programada" #: part/templates/part/part_sidebar.html:11 msgid "Variants" -msgstr "Variantes" +msgstr "" #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" -msgstr "" +msgstr "Programación" #: part/templates/part/part_sidebar.html:53 msgid "Test Templates" -msgstr "Plantillas de Prueba" +msgstr "" #: part/templates/part/part_thumb.html:11 msgid "Select from existing images" -msgstr "Seleccionar de imágenes existentes" +msgstr "" #: part/templates/part/prices.html:11 msgid "Pricing Overview" @@ -6197,7 +6202,7 @@ msgstr "" #: templates/js/translated/company.js:1048 #: templates/js/translated/stock.js:1943 msgid "Last Updated" -msgstr "Última actualización" +msgstr "Última Actualización" #: part/templates/part/prices.html:34 part/templates/part/prices.html:116 msgid "Price Category" @@ -6205,23 +6210,23 @@ msgstr "" #: part/templates/part/prices.html:35 part/templates/part/prices.html:117 msgid "Minimum" -msgstr "Mínimo" +msgstr "" #: part/templates/part/prices.html:36 part/templates/part/prices.html:118 msgid "Maximum" -msgstr "Máximo" +msgstr "" #: part/templates/part/prices.html:48 part/templates/part/prices.html:163 msgid "Internal Pricing" -msgstr "Precio Interno" +msgstr "" #: part/templates/part/prices.html:61 part/templates/part/prices.html:195 msgid "Purchase History" -msgstr "Historial de compras" +msgstr "" #: part/templates/part/prices.html:95 part/templates/part/prices.html:264 msgid "Variant Pricing" -msgstr "Precios variantes" +msgstr "" #: part/templates/part/prices.html:102 msgid "Overall Pricing" @@ -6229,7 +6234,7 @@ msgstr "" #: part/templates/part/prices.html:138 part/templates/part/prices.html:316 msgid "Sale History" -msgstr "Historial de ventas" +msgstr "" #: part/templates/part/prices.html:146 msgid "Sale price data is not available for this part" @@ -6244,11 +6249,11 @@ msgstr "" #: part/templates/part/prices.html:265 part/templates/part/prices.html:288 #: part/templates/part/prices.html:317 msgid "Jump to overview" -msgstr "Ir a la vista general" +msgstr "" #: part/templates/part/prices.html:169 msgid "Add Internal Price Break" -msgstr "Añadir salto de precio interno" +msgstr "" #: part/templates/part/prices.html:287 msgid "Sale Pricing" @@ -6258,64 +6263,64 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" -msgstr "Sin Stock" +msgstr "" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158 msgid "Low Stock" -msgstr "Bajo Stock" +msgstr "" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" -msgstr "Volver al BOM" +msgstr "Volver a la Lista de Materiales (BOM)" #: part/templates/part/upload_bom.html:13 msgid "Upload Bill of Materials" -msgstr "Cargar Lista de Materiales" +msgstr "" #: part/templates/part/upload_bom.html:19 msgid "BOM upload requirements" -msgstr "Requisitos de subida BOM" +msgstr "" #: part/templates/part/upload_bom.html:23 #: part/templates/part/upload_bom.html:90 msgid "Upload BOM File" -msgstr "Subir archivo BOM" +msgstr "" #: part/templates/part/upload_bom.html:29 msgid "Submit BOM Data" -msgstr "Enviar datos BOM" +msgstr "" #: part/templates/part/upload_bom.html:37 msgid "Requirements for BOM upload" -msgstr "Requisitos para subir BOM" +msgstr "" #: part/templates/part/upload_bom.html:39 msgid "The BOM file must contain the required named columns as provided in the " -msgstr "El archivo BOM debe contener las columnas con nombre requeridos como se indica en el " +msgstr "El archivo dde Lista de Materiales (BOM) debe contener las columnas con nombre requeridos como se indica en el " #: part/templates/part/upload_bom.html:39 msgid "BOM Upload Template" -msgstr "Plantilla de subida BOM" +msgstr "" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "Cada parte debe existir en la base de datos" +msgstr "" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" -msgstr "Crear nueva variante de pieza" +msgstr "" #: part/templates/part/variant_part.html:10 #, python-format msgid "Create a new variant of template '%(full_name)s'." -msgstr "Crear una nueva variante de la plantilla '%(full_name)s'." +msgstr "" #: part/templatetags/inventree_extras.py:213 msgid "Unknown database" -msgstr "Base de datos desconocida" +msgstr "" #: part/templatetags/inventree_extras.py:265 #, python-brace-format @@ -6324,7 +6329,7 @@ msgstr "" #: part/views.py:111 msgid "Match References" -msgstr "Coincidir Referencias" +msgstr "Concordar Referencias" #: part/views.py:239 #, python-brace-format @@ -6333,23 +6338,23 @@ msgstr "" #: part/views.py:378 msgid "Part QR Code" -msgstr "Código QR de Parte" +msgstr "" #: part/views.py:396 msgid "Select Part Image" -msgstr "Seleccionar Imagen de Parte" +msgstr "" #: part/views.py:422 msgid "Updated part image" -msgstr "Imagen de parte actualizada" +msgstr "" #: part/views.py:425 msgid "Part image not found" -msgstr "Imagen de parte no encontrada" +msgstr "" #: part/views.py:520 msgid "Part Pricing" -msgstr "Precio de parte" +msgstr "" #: plugin/apps.py:55 msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." @@ -6357,11 +6362,11 @@ msgstr "" #: plugin/base/action/api.py:27 msgid "No action specified" -msgstr "No se especificó ninguna acción" +msgstr "" #: plugin/base/action/api.py:38 msgid "No matching action found" -msgstr "No se encontró ninguna acción coincidente" +msgstr "" #: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 msgid "Missing barcode data" @@ -6369,11 +6374,11 @@ msgstr "" #: plugin/base/barcodes/api.py:80 msgid "No match found for barcode data" -msgstr "No se encontró ninguna coincidencia para los datos del código de barras" +msgstr "" #: plugin/base/barcodes/api.py:84 msgid "Match found for barcode data" -msgstr "Coincidencia encontrada para datos de códigos de barras" +msgstr "" #: plugin/base/barcodes/api.py:120 msgid "Barcode matches existing item" @@ -6436,7 +6441,7 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" -msgstr "Abrir enlace" +msgstr "" #: plugin/models.py:33 msgid "Plugin Metadata" @@ -6448,55 +6453,55 @@ msgstr "" #: plugin/models.py:80 msgid "Plugin Configuration" -msgstr "Configuración del Plugin" +msgstr "" #: plugin/models.py:81 msgid "Plugin Configurations" -msgstr "Configuraciones del Plug-in" +msgstr "" #: plugin/models.py:86 templates/InvenTree/settings/plugin.html:61 msgid "Key" -msgstr "Clave" +msgstr "" #: plugin/models.py:87 msgid "Key of plugin" -msgstr "Clave del plugin" +msgstr "" #: plugin/models.py:95 msgid "PluginName of the plugin" -msgstr "Nombre del plugin" +msgstr "" #: plugin/models.py:101 msgid "Is the plugin active" -msgstr "Está activo el plugin" +msgstr "" #: plugin/models.py:133 templates/InvenTree/settings/plugin_details.html:47 msgid "Unvailable" -msgstr "No disponible" +msgstr "" #: plugin/models.py:164 msgid "Sample plugin" -msgstr "Complemento de ejemplo" +msgstr "" #: plugin/models.py:173 msgid "Builtin Plugin" -msgstr "Complemento integrado" +msgstr "" #: plugin/models.py:198 templates/InvenTree/settings/plugin_settings.html:10 msgid "Plugin" -msgstr "Complemento" +msgstr "" #: plugin/models.py:263 msgid "Method" -msgstr "Método" +msgstr "" #: plugin/plugin.py:257 msgid "No author found" -msgstr "No se encontró autor" +msgstr "" #: plugin/plugin.py:269 msgid "No date found" -msgstr "No se encontró fecha" +msgstr "" #: plugin/registry.py:444 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" @@ -6514,71 +6519,71 @@ msgstr "" #: plugin/samples/integration/sample.py:39 msgid "Enable PO" -msgstr "Habilitar PO" +msgstr "" #: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" -msgstr "Habilitar la funcionalidad PO en la interfaz de InvenTree" +msgstr "" #: plugin/samples/integration/sample.py:45 msgid "API Key" -msgstr "Clave API" +msgstr "" #: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" -msgstr "Clave necesaria para acceder a la API externa" +msgstr "" #: plugin/samples/integration/sample.py:49 msgid "Numerical" -msgstr "Numérico" +msgstr "" #: plugin/samples/integration/sample.py:50 msgid "A numerical setting" -msgstr "Una configuración numérica" +msgstr "" #: plugin/samples/integration/sample.py:55 msgid "Choice Setting" -msgstr "Configuración de Elección" +msgstr "" #: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" -msgstr "Un ajuste con múltiples opciones" +msgstr "" #: plugin/serializers.py:72 msgid "Source URL" -msgstr "URL de origen" +msgstr "" #: plugin/serializers.py:73 msgid "Source for the package - this can be a custom registry or a VCS path" -msgstr "Fuente del paquete - puede ser un registro personalizado o una ruta VCS" +msgstr "" #: plugin/serializers.py:78 msgid "Package Name" -msgstr "Nombre de Paquete" +msgstr "" #: plugin/serializers.py:79 msgid "Name for the Plugin Package - can also contain a version indicator" -msgstr "Nombre del paquete Plug-in - también puede contener un indicador de versión" +msgstr "" #: plugin/serializers.py:82 msgid "Confirm plugin installation" -msgstr "Confirmar instalación del plugin" +msgstr "" #: plugin/serializers.py:83 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." -msgstr "Esto instalará este plug-in en la instancia actual. La instancia entrará en mantenimiento." +msgstr "" #: plugin/serializers.py:103 msgid "Installation not confirmed" -msgstr "Instalación no confirmada" +msgstr "" #: plugin/serializers.py:105 msgid "Either packagename of URL must be provided" -msgstr "Debe proporcionar cualquier nombre de paquete de la URL" +msgstr "" #: report/api.py:180 msgid "No valid objects provided to template" -msgstr "No se han proporcionado objetos válidos a la plantilla" +msgstr "" #: report/api.py:216 report/api.py:252 #, python-brace-format @@ -6591,11 +6596,11 @@ msgstr "" #: report/models.py:153 msgid "Template name" -msgstr "Nombre de la plantilla" +msgstr "" #: report/models.py:159 msgid "Report template file" -msgstr "Plantilla de informe" +msgstr "" #: report/models.py:166 msgid "Report template description" @@ -6603,75 +6608,75 @@ msgstr "Descripción de la plantilla de informe" #: report/models.py:172 msgid "Report revision number (auto-increments)" -msgstr "Número de revisión del informe (autoincremental)" +msgstr "" #: report/models.py:248 msgid "Pattern for generating report filenames" -msgstr "Patrón para generar nombres de archivo" +msgstr "" #: report/models.py:255 msgid "Report template is enabled" -msgstr "Plantilla de informe está habilitada" +msgstr "" #: report/models.py:281 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)" +msgstr "" #: report/models.py:289 msgid "Include Installed Tests" -msgstr "Incluye Pruebas Instaladas" +msgstr "" #: report/models.py:290 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" +msgstr "" #: report/models.py:337 msgid "Build Filters" -msgstr "Crear filtros" +msgstr "" #: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" -msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor" +msgstr "" #: report/models.py:377 msgid "Part Filters" -msgstr "Filtros de partes" +msgstr "" #: report/models.py:378 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" +msgstr "" #: report/models.py:412 msgid "Purchase order query filters" -msgstr "Filtros de búsqueda de orden de compra" +msgstr "" #: report/models.py:450 msgid "Sales order query filters" -msgstr "Filtros de búsqueda de pedidos de ventas" +msgstr "Filtros de búsqueda de pedidos de entrega" #: report/models.py:502 msgid "Snippet" -msgstr "Fragmento" +msgstr "" #: report/models.py:503 msgid "Report snippet file" -msgstr "Archivo de reporte snippet" +msgstr "" #: report/models.py:507 msgid "Snippet file description" -msgstr "Descripción de archivo de fragmento" +msgstr "" #: report/models.py:544 msgid "Asset" -msgstr "Activo" +msgstr "" #: report/models.py:545 msgid "Report asset file" -msgstr "Reportar archivo de activos" +msgstr "" #: report/models.py:552 msgid "Asset file description" -msgstr "Descripción del archivo de activos" +msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" @@ -6679,7 +6684,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:146 msgid "Required For" -msgstr "Requerido para" +msgstr "" #: report/templates/report/inventree_po_report.html:77 msgid "Supplier was deleted" @@ -6687,56 +6692,56 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" -msgstr "Artículo Stock Informe de prueba" +msgstr "" #: report/templates/report/inventree_test_report_base.html:79 #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" -msgstr "Número de serie" +msgstr "" #: report/templates/report/inventree_test_report_base.html:88 msgid "Test Results" -msgstr "Resultados de la Prueba" +msgstr "" #: report/templates/report/inventree_test_report_base.html:93 #: stock/models.py:2165 templates/js/translated/stock.js:1378 msgid "Test" -msgstr "Prueba" +msgstr "" #: report/templates/report/inventree_test_report_base.html:94 #: stock/models.py:2171 msgid "Result" -msgstr "Resultado" +msgstr "" #: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" -msgstr "Pasada" +msgstr "" #: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" -msgstr "Fallo" +msgstr "" #: report/templates/report/inventree_test_report_base.html:123 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" -msgstr "Elementos instalados" +msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" -msgstr "ID de Ubicación" +msgstr "" #: stock/admin.py:24 stock/admin.py:91 msgid "Location Name" @@ -6751,9 +6756,9 @@ msgstr "Ruta de Ubicación" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" -msgstr "ID Parte del Proveedor" +msgstr "" #: stock/admin.py:93 msgid "Supplier ID" @@ -6761,24 +6766,24 @@ msgstr "" #: stock/admin.py:94 msgid "Supplier Name" -msgstr "Nombre del proveedor" +msgstr "" #: stock/admin.py:95 msgid "Customer ID" -msgstr "" +msgstr "ID del Cliente" #: stock/admin.py:96 stock/models.py:689 #: stock/templates/stock/item_base.html:359 msgid "Installed In" -msgstr "Instalado en" +msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" -msgstr "ID de construcción" +msgstr "" #: stock/admin.py:99 msgid "Sales Order ID" -msgstr "" +msgstr "ID de Pedido de Entrega" #: stock/admin.py:100 msgid "Purchase Order ID" @@ -6788,15 +6793,15 @@ msgstr "" #: stock/templates/stock/item_base.html:427 #: templates/js/translated/stock.js:1927 msgid "Expiry Date" -msgstr "Fecha de Expiración" +msgstr "" #: stock/api.py:541 msgid "Quantity is required" -msgstr "Cantidad requerida" +msgstr "" #: stock/api.py:548 msgid "Valid part must be supplied" -msgstr "Debe suministrarse una pieza válida" +msgstr "" #: stock/api.py:573 msgid "Serial numbers cannot be supplied for a non-trackable part" @@ -6805,11 +6810,11 @@ msgstr "" #: stock/models.py:107 stock/models.py:803 #: stock/templates/stock/item_base.html:250 msgid "Owner" -msgstr "Propietario" +msgstr "" #: stock/models.py:108 stock/models.py:804 msgid "Select Owner" -msgstr "Seleccionar Propietario" +msgstr "" #: stock/models.py:115 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." @@ -6830,39 +6835,39 @@ msgstr "" #: stock/models.py:581 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" -msgstr "Tipo de pieza ('{pf}') debe ser {pe}" +msgstr "" #: stock/models.py:591 stock/models.py:600 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" +msgstr "" #: stock/models.py:592 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" +msgstr "" #: stock/models.py:614 msgid "Item cannot belong to itself" -msgstr "El objeto no puede pertenecer a sí mismo" +msgstr "" #: stock/models.py:620 msgid "Item must have a build reference if is_building=True" -msgstr "El elemento debe tener una referencia de construcción si is_building=True" +msgstr "" #: stock/models.py:634 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" +msgstr "" #: stock/models.py:648 msgid "Parent Stock Item" -msgstr "Artículo de stock padre" +msgstr "" #: stock/models.py:658 msgid "Base part" -msgstr "Parte base" +msgstr "" #: stock/models.py:666 msgid "Select a matching supplier part for this stock item" -msgstr "Seleccione una parte del proveedor correspondiente para este artículo de stock" +msgstr "" #: stock/models.py:673 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 @@ -6871,173 +6876,173 @@ msgstr "Ubicación de Stock" #: stock/models.py:676 msgid "Where is this stock item located?" -msgstr "¿Dónde se encuentra este artículo de stock?" +msgstr "" #: stock/models.py:683 msgid "Packaging this stock item is stored in" -msgstr "Empaquetar este elemento de stock se almacena en" +msgstr "El empaquetado de este elemento de stock está almacenado en" #: stock/models.py:692 msgid "Is this item installed in another item?" -msgstr "¿Está este elemento instalado en otro elemento?" +msgstr "" #: stock/models.py:708 msgid "Serial number for this item" -msgstr "Número de serie para este elemento" +msgstr "" #: stock/models.py:722 msgid "Batch code for this stock item" -msgstr "Código de lote para este artículo de stock" +msgstr "" #: stock/models.py:727 msgid "Stock Quantity" -msgstr "Cantidad de Stock" +msgstr "" #: stock/models.py:734 msgid "Source Build" -msgstr "Build de origen" +msgstr "" #: stock/models.py:736 msgid "Build for this stock item" -msgstr "Build para este item de stock" +msgstr "" #: stock/models.py:747 msgid "Source Purchase Order" -msgstr "Orden de compra de origen" +msgstr "" #: stock/models.py:750 msgid "Purchase order for this stock item" -msgstr "Orden de compra para este artículo de stock" +msgstr "" #: stock/models.py:756 msgid "Destination Sales Order" -msgstr "Orden de venta de destino" +msgstr "Pedido de Entrega de Destino" #: stock/models.py:763 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" +msgstr "" #: stock/models.py:778 msgid "Delete on deplete" -msgstr "Eliminar al agotar" +msgstr "" #: stock/models.py:778 msgid "Delete this Stock Item when stock is depleted" -msgstr "Eliminar este artículo de stock cuando se agoten las existencias" +msgstr "" #: stock/models.py:791 stock/templates/stock/item.html:132 msgid "Stock Item Notes" -msgstr "Notas del artículo de stock" +msgstr "" #: stock/models.py:799 msgid "Single unit purchase price at time of purchase" -msgstr "Precio de compra único en el momento de la compra" +msgstr "Precio de compra por unidad en el momento de la compra" #: stock/models.py:827 msgid "Converted to part" -msgstr "Convertido a parte" +msgstr "" #: stock/models.py:1317 msgid "Part is not set as trackable" -msgstr "La parte no está establecida como rastreable" +msgstr "" #: stock/models.py:1323 msgid "Quantity must be integer" -msgstr "Cantidad debe ser un entero" +msgstr "" #: stock/models.py:1329 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" -msgstr "La cantidad no debe exceder la cantidad disponible de existencias ({n})" +msgstr "" #: stock/models.py:1332 msgid "Serial numbers must be a list of integers" -msgstr "Los números de serie deben ser una lista de enteros" +msgstr "" #: stock/models.py:1335 msgid "Quantity does not match serial numbers" -msgstr "La cantidad no coincide con los números de serie" +msgstr "" #: stock/models.py:1342 #, python-brace-format msgid "Serial numbers already exist: {exists}" -msgstr "Los números de serie ya existen: {exists}" +msgstr "" #: stock/models.py:1412 msgid "Stock item has been assigned to a sales order" -msgstr "Artículo de stock ha sido asignado a un pedido de venta" +msgstr "Artículo de stock ha sido asignado a un pedido de entrega" #: stock/models.py:1415 msgid "Stock item is installed in another item" -msgstr "Artículo de stock está instalado en otro artículo" +msgstr "" #: stock/models.py:1418 msgid "Stock item contains other items" -msgstr "Artículo de stock contiene otros artículos" +msgstr "" #: stock/models.py:1421 msgid "Stock item has been assigned to a customer" -msgstr "Artículo de stock ha sido asignado a un cliente" +msgstr "El artículo de stock ha sido asignado a un cliente" #: stock/models.py:1424 msgid "Stock item is currently in production" -msgstr "El artículo de stock está en producción" +msgstr "" #: stock/models.py:1427 msgid "Serialized stock cannot be merged" -msgstr "Stock serializado no puede ser combinado" +msgstr "" #: stock/models.py:1434 stock/serializers.py:963 msgid "Duplicate stock items" -msgstr "Artículos de Stock Duplicados" +msgstr "" #: stock/models.py:1438 msgid "Stock items must refer to the same part" -msgstr "Los artículos de stock deben referirse a la misma parte" +msgstr "" #: stock/models.py:1442 msgid "Stock items must refer to the same supplier part" -msgstr "Los artículos de stock deben referirse a la misma parte del proveedor" +msgstr "" #: stock/models.py:1446 msgid "Stock status codes must match" -msgstr "Los códigos de estado del stock deben coincidir" +msgstr "" #: stock/models.py:1615 msgid "StockItem cannot be moved as it is not in stock" -msgstr "Stock no se puede mover porque no está en stock" +msgstr "" #: stock/models.py:2083 msgid "Entry notes" -msgstr "Notas de entrada" +msgstr "" #: stock/models.py:2141 msgid "Value must be provided for this test" -msgstr "Debe proporcionarse un valor para esta prueba" +msgstr "" #: stock/models.py:2147 msgid "Attachment must be uploaded for this test" -msgstr "El archivo adjunto debe ser subido para esta prueba" +msgstr "" #: stock/models.py:2166 msgid "Test name" -msgstr "Nombre del test" +msgstr "" #: stock/models.py:2172 msgid "Test result" -msgstr "Resultado de la prueba" +msgstr "" #: stock/models.py:2178 msgid "Test output value" -msgstr "Valor de salida de prueba" +msgstr "" #: stock/models.py:2185 msgid "Test result attachment" -msgstr "Adjunto de resultados de prueba" +msgstr "" #: stock/models.py:2191 msgid "Test notes" -msgstr "Notas de prueba" +msgstr "" #: stock/serializers.py:75 msgid "Serial number is too large" @@ -7045,36 +7050,36 @@ msgstr "" #: stock/serializers.py:176 msgid "Purchase price of this stock item" -msgstr "Precio de compra de este artículo de stock" +msgstr "" #: stock/serializers.py:286 msgid "Enter number of stock items to serialize" -msgstr "Introduzca el número de elementos de stock para serializar" +msgstr "" #: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" -msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})" +msgstr "" #: stock/serializers.py:304 msgid "Enter serial numbers for new items" -msgstr "Introduzca números de serie para nuevos elementos" +msgstr "" #: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 msgid "Destination stock location" -msgstr "Ubicación de stock de destino" +msgstr "" #: stock/serializers.py:322 msgid "Optional note field" -msgstr "Campo de nota opcional" +msgstr "" #: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" -msgstr "Los números de serie no se pueden asignar a esta parte" +msgstr "Los números de serie no se pueden asignar a esta pieza" #: stock/serializers.py:353 msgid "Serial numbers already exist" -msgstr "Números de serie ya existen" +msgstr "" #: stock/serializers.py:393 msgid "Select stock item to install" @@ -7094,7 +7099,7 @@ msgstr "" #: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" -msgstr "Añadir nota de transacción (opcional)" +msgstr "" #: stock/serializers.py:489 msgid "Select part to convert stock item into" @@ -7110,19 +7115,19 @@ msgstr "" #: stock/serializers.py:775 msgid "Part must be salable" -msgstr "La parte debe ser vendible" +msgstr "" #: stock/serializers.py:779 msgid "Item is allocated to a sales order" -msgstr "El artículo está asignado a una orden de venta" +msgstr "El artículo está asignado a un pedido de entrega" #: stock/serializers.py:783 msgid "Item is allocated to a build order" -msgstr "El artículo está asignado a una orden de creación" +msgstr "" #: stock/serializers.py:814 msgid "Customer to assign stock items" -msgstr "Cliente para asignar elementos de stock" +msgstr "Cliente a quien asignar los elementos de stock" #: stock/serializers.py:820 msgid "Selected company is not a customer" @@ -7130,15 +7135,15 @@ msgstr "La empresa seleccionada no es un cliente" #: stock/serializers.py:828 msgid "Stock assignment notes" -msgstr "Notas de asignación de stock" +msgstr "" #: stock/serializers.py:838 stock/serializers.py:1069 msgid "A list of stock items must be provided" -msgstr "Debe proporcionarse una lista de artículos de stock" +msgstr "" #: stock/serializers.py:927 msgid "Stock merging notes" -msgstr "Notas de fusión de stock" +msgstr "" #: stock/serializers.py:932 msgid "Allow mismatched suppliers" @@ -7146,64 +7151,64 @@ msgstr "Permitir proveedores no coincidentes" #: stock/serializers.py:933 msgid "Allow stock items with different supplier parts to be merged" -msgstr "Permitir fusionar artículos de stock con diferentes piezas de proveedor" +msgstr "" #: stock/serializers.py:938 msgid "Allow mismatched status" -msgstr "Permitir estado no coincidente" +msgstr "" #: stock/serializers.py:939 msgid "Allow stock items with different status codes to be merged" -msgstr "Permitir fusionar elementos de stock con diferentes códigos de estado" +msgstr "" #: stock/serializers.py:949 msgid "At least two stock items must be provided" -msgstr "Debe proporcionar al menos dos artículos de stock" +msgstr "" #: stock/serializers.py:1031 msgid "StockItem primary key value" -msgstr "Valor de clave primaria de Stock" +msgstr "" #: stock/serializers.py:1059 msgid "Stock transaction notes" -msgstr "Notas de transacción de stock" +msgstr "" #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" -msgstr "Información de Seguimiento de Stock" +msgstr "" #: stock/templates/stock/item.html:69 msgid "Child Stock Items" -msgstr "Elementos de Stock Hijos" +msgstr "" #: stock/templates/stock/item.html:77 msgid "This stock item does not have any child items" -msgstr "Este artículo de stock no tiene ningún elemento secundario" +msgstr "" #: stock/templates/stock/item.html:86 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" -msgstr "Datos de Prueba" +msgstr "" #: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 msgid "Test Report" -msgstr "Informe de Prueba" +msgstr "" #: stock/templates/stock/item.html:94 stock/templates/stock/item.html:302 msgid "Delete Test Data" -msgstr "Eliminar Datos de Prueba" +msgstr "" #: stock/templates/stock/item.html:98 msgid "Add Test Data" -msgstr "Añadir Datos de Prueba" +msgstr "" #: stock/templates/stock/item.html:147 msgid "Installed Stock Items" -msgstr "Elementos de Stock instalados" +msgstr "" #: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 msgid "Install Stock Item" -msgstr "Instalar elemento de stock" +msgstr "" #: stock/templates/stock/item.html:290 msgid "Delete all test results for this stock item" @@ -7211,7 +7216,7 @@ msgstr "" #: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 msgid "Add Test Result" -msgstr "Añadir Resultado de Prueba" +msgstr "" #: stock/templates/stock/item_base.html:34 msgid "Locate stock item" @@ -7219,7 +7224,7 @@ msgstr "" #: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" -msgstr "Escanear a la ubicación" +msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:63 @@ -7228,7 +7233,7 @@ msgstr "Acciones de impresión" #: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" -msgstr "Acciones de ajuste de stock" +msgstr "" #: stock/templates/stock/item_base.html:80 #: stock/templates/stock/location.html:82 templates/stock_table.html:47 @@ -7237,15 +7242,15 @@ msgstr "Contar stock" #: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 msgid "Add stock" -msgstr "Añadir stock" +msgstr "" #: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 msgid "Remove stock" -msgstr "Eliminar stock" +msgstr "" #: stock/templates/stock/item_base.html:86 msgid "Serialize stock" -msgstr "Serializar stock" +msgstr "" #: stock/templates/stock/item_base.html:89 #: stock/templates/stock/location.html:88 templates/stock_table.html:48 @@ -7258,51 +7263,51 @@ msgstr "Asignar a cliente" #: stock/templates/stock/item_base.html:95 msgid "Return to stock" -msgstr "Regresar al stock" +msgstr "" #: stock/templates/stock/item_base.html:98 msgid "Uninstall stock item" -msgstr "Desinstalar artículo de stock" +msgstr "" #: stock/templates/stock/item_base.html:98 msgid "Uninstall" -msgstr "Desinstalar" +msgstr "" #: stock/templates/stock/item_base.html:102 msgid "Install stock item" -msgstr "Instalar elemento de stock" +msgstr "" #: stock/templates/stock/item_base.html:102 msgid "Install" -msgstr "Instalar" +msgstr "" #: stock/templates/stock/item_base.html:116 msgid "Convert to variant" -msgstr "Convertir a variante" +msgstr "" #: stock/templates/stock/item_base.html:119 msgid "Duplicate stock item" -msgstr "Duplicar artículo" +msgstr "" #: stock/templates/stock/item_base.html:121 msgid "Edit stock item" -msgstr "Elemento de stock editado" +msgstr "" #: stock/templates/stock/item_base.html:124 msgid "Delete stock item" -msgstr "Eliminar elemento de stock" +msgstr "" #: stock/templates/stock/item_base.html:196 msgid "Parent Item" -msgstr "Elemento padre" +msgstr "Elemento Superior" #: stock/templates/stock/item_base.html:214 msgid "No manufacturer set" -msgstr "Ningún fabricante establecido" +msgstr "" #: stock/templates/stock/item_base.html:254 msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "No estás en la lista de propietarios de este artículo. Este artículo de stock no puede ser editado." +msgstr "" #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/location.html:141 @@ -7311,43 +7316,43 @@ msgstr "Solo lectura" #: stock/templates/stock/item_base.html:268 msgid "This stock item is in production and cannot be edited." -msgstr "Este artículo de stock está en producción y no puede ser editado." +msgstr "" #: stock/templates/stock/item_base.html:269 msgid "Edit the stock item from the build view." -msgstr "Editar el elemento de stock desde la vista de construcción." +msgstr "" #: stock/templates/stock/item_base.html:282 msgid "This stock item has not passed all required tests" -msgstr "Este artículo de stock no ha pasado todas las pruebas requeridas" +msgstr "" #: stock/templates/stock/item_base.html:290 msgid "This stock item is allocated to Sales Order" -msgstr "Este artículo de stock está asignado a la orden de venta" +msgstr "Este artículo de stock está asignado a la Petición de Entrega" #: stock/templates/stock/item_base.html:298 msgid "This stock item is allocated to Build Order" -msgstr "Este artículo de stock está asignado al orden de construcción" +msgstr "" #: stock/templates/stock/item_base.html:304 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "Este artículo de stock está serializado - tiene un número de serie único y la cantidad no se puede ajustar." +msgstr "" #: stock/templates/stock/item_base.html:326 msgid "previous page" -msgstr "página anterior" +msgstr "" #: stock/templates/stock/item_base.html:326 msgid "Navigate to previous serial number" -msgstr "Navegar al número de serie anterior" +msgstr "" #: stock/templates/stock/item_base.html:335 msgid "next page" -msgstr "página siguiente" +msgstr "" #: stock/templates/stock/item_base.html:335 msgid "Navigate to next serial number" -msgstr "Navegar al siguiente número de serie" +msgstr "" #: stock/templates/stock/item_base.html:348 msgid "Available Quantity" @@ -7356,31 +7361,31 @@ msgstr "" #: stock/templates/stock/item_base.html:392 #: templates/js/translated/build.js:1769 msgid "No location set" -msgstr "Ubicación no establecida" +msgstr "" #: stock/templates/stock/item_base.html:407 msgid "Tests" -msgstr "Pruebas" +msgstr "" #: stock/templates/stock/item_base.html:431 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" -msgstr "Este ítem expiró el %(item.expiry_date)s" +msgstr "" #: stock/templates/stock/item_base.html:431 #: templates/js/translated/table_filters.js:297 msgid "Expired" -msgstr "Expirado" +msgstr "" #: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" -msgstr "Este ítem expira el %(item.expiry_date)s" +msgstr "" #: stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:303 msgid "Stale" -msgstr "Desactualizado" +msgstr "" #: stock/templates/stock/item_base.html:449 msgid "No stocktake performed" @@ -7388,11 +7393,11 @@ msgstr "Ningún inventario realizado" #: stock/templates/stock/item_base.html:519 msgid "Edit Stock Status" -msgstr "Editar Estado del Stock" +msgstr "" #: stock/templates/stock/item_base.html:539 msgid "Link Barcode to Stock Item" -msgstr "Enlazar código de barras al artículo de stock" +msgstr "" #: stock/templates/stock/item_base.html:603 msgid "Select one of the part variants listed below." @@ -7400,39 +7405,39 @@ msgstr "" #: stock/templates/stock/item_base.html:606 msgid "Warning" -msgstr "Advertencia" +msgstr "" #: stock/templates/stock/item_base.html:607 msgid "This action cannot be easily undone" -msgstr "Esta acción no se puede deshacer fácilmente" +msgstr "" #: stock/templates/stock/item_base.html:615 msgid "Convert Stock Item" -msgstr "Convertir artículo de stock" +msgstr "" #: stock/templates/stock/item_base.html:643 msgid "Return to Stock" -msgstr "Volver a Stock" +msgstr "" #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." -msgstr "Crear artículos serializados a partir de este artículo de stock." +msgstr "" #: stock/templates/stock/item_serialize.html:7 msgid "Select quantity to serialize, and unique serial numbers." -msgstr "Seleccione la cantidad para serializar y números de serie únicos." +msgstr "" #: stock/templates/stock/location.html:38 msgid "Locate stock location" -msgstr "" +msgstr "Localizar ubicación de stock" #: stock/templates/stock/location.html:56 msgid "Scan stock items into this location" -msgstr "" +msgstr "Escanear artículos de stock en esta ubicación" #: stock/templates/stock/location.html:56 msgid "Scan In Stock Items" -msgstr "" +msgstr "Buscar Artículos en Stock" #: stock/templates/stock/location.html:57 msgid "Scan stock container into this location" @@ -7440,7 +7445,7 @@ msgstr "" #: stock/templates/stock/location.html:57 msgid "Scan In Container" -msgstr "" +msgstr "Buscar en Contenedor" #: stock/templates/stock/location.html:96 msgid "Location actions" @@ -7464,13 +7469,13 @@ msgstr "" #: stock/templates/stock/location.html:140 msgid "You are not in the list of owners of this location. This stock location cannot be edited." -msgstr "No estás en la lista de propietarios de esta ubicación. Esta ubicación de stock no puede ser editada." +msgstr "" #: stock/templates/stock/location.html:163 #: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" -msgstr "Sub-ubicación" +msgstr "Sub-ubicaciones" #: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 #: templates/js/translated/search.js:240 users/models.py:39 @@ -7479,11 +7484,11 @@ msgstr "Ubicaciones de Stock" #: stock/templates/stock/location.html:215 msgid "Create new stock location" -msgstr "Crear nueva ubicación de stock" +msgstr "" #: stock/templates/stock/location.html:216 msgid "New Location" -msgstr "Nueva Ubicación" +msgstr "Nueva ubicación" #: stock/templates/stock/location.html:310 msgid "Scanned stock container into this location" @@ -7495,31 +7500,31 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." -msgstr "Cargando..." +msgstr "" #: stock/templates/stock/stock_sidebar.html:5 msgid "Stock Tracking" -msgstr "Seguimiento de Stock" +msgstr "" #: stock/templates/stock/stock_sidebar.html:8 msgid "Allocations" -msgstr "Asignaciones" +msgstr "" #: stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" -msgstr "Elementos secundarios" +msgstr "" #: stock/views.py:109 msgid "Stock Location QR code" -msgstr "Código QR de ubicación de stock" +msgstr "" #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" -msgstr "Permiso Denegado" +msgstr "" #: templates/403.html:15 msgid "You do not have permission to view this page." -msgstr "No tiene permisos para ver esta página." +msgstr "" #: templates/403_csrf.html:11 msgid "Authentication Failure" @@ -7531,19 +7536,19 @@ msgstr "" #: templates/403_csrf.html:19 templates/navbar.html:142 msgid "Login" -msgstr "Iniciar sesión" +msgstr "" #: templates/404.html:6 templates/404.html:12 msgid "Page Not Found" -msgstr "Página No Encontrada" +msgstr "" #: templates/404.html:15 msgid "The requested page does not exist" -msgstr "La página solicitada no existe" +msgstr "" #: templates/500.html:6 templates/500.html:12 msgid "Internal Server Error" -msgstr "Error Interno Del Servidor" +msgstr "" #: templates/500.html:15 #, python-format @@ -7552,79 +7557,79 @@ msgstr "" #: templates/500.html:16 msgid "Refer to the error log in the admin interface for further details" -msgstr "Consulte el registro de errores en la interfaz de administración para más detalles" +msgstr "" #: templates/503.html:11 templates/503.html:34 msgid "Site is in Maintenance" -msgstr "El Sitio está en Mantenimiento" +msgstr "" #: templates/503.html:40 msgid "The site is currently in maintenance and should be up again soon!" -msgstr "El sitio está actualmente en mantenimiento y debería estar listo pronto!" +msgstr "" #: templates/InvenTree/index.html:7 msgid "Index" -msgstr "Índice" +msgstr "" #: templates/InvenTree/index.html:88 msgid "Subscribed Parts" -msgstr "Partes Suscritas" +msgstr "" #: templates/InvenTree/index.html:98 msgid "Subscribed Categories" -msgstr "Categorías Suscritas" +msgstr "" #: templates/InvenTree/index.html:108 msgid "Latest Parts" -msgstr "Últimas Partes" +msgstr "" #: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" -msgstr "Validación de BOM en espera" +msgstr "" #: templates/InvenTree/index.html:145 msgid "Recently Updated" -msgstr "Actualizado Recientemente" +msgstr "" #: templates/InvenTree/index.html:168 msgid "Depleted Stock" -msgstr "Stock Agotado" +msgstr "" #: templates/InvenTree/index.html:178 msgid "Required for Build Orders" -msgstr "Requerido para construir pedidos" +msgstr "" #: templates/InvenTree/index.html:191 msgid "Expired Stock" -msgstr "Stock Caducado" +msgstr "" #: templates/InvenTree/index.html:202 msgid "Stale Stock" -msgstr "Stock Obsoleto" +msgstr "" #: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" -msgstr "Pedidos en curso" +msgstr "" #: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" -msgstr "Órdenes de construcción atrasadas" +msgstr "" #: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" -msgstr "Órdenes de Compra Pendientes" +msgstr "" #: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" -msgstr "Pedidos de Compra Atrasados" +msgstr "" #: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" -msgstr "Pedidos de Venta Pendientes" +msgstr "Pedidos de Entrega Pendientes" #: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" -msgstr "Pedidos de Venta Atrasados" +msgstr "Pedidos de Entrega Atrasados" #: templates/InvenTree/index.html:312 msgid "InvenTree News" @@ -7652,7 +7657,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:17 #: templates/InvenTree/settings/sidebar.html:35 templates/notifications.html:5 msgid "Notifications" -msgstr "Notificaciones" +msgstr "" #: templates/InvenTree/notifications/notifications.html:39 msgid "No unread notifications found" @@ -7681,33 +7686,33 @@ msgstr "" #: templates/InvenTree/search.html:8 msgid "Search Results" -msgstr "Resultados de Búsqueda" +msgstr "" #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" -msgstr "Ajustes de Código de Barras" +msgstr "" #: templates/InvenTree/settings/build.html:8 msgid "Build Order Settings" -msgstr "Configuración de Pedido de Trabajo" +msgstr "" #: templates/InvenTree/settings/category.html:7 msgid "Category Settings" -msgstr "Ajustes de Categoría" +msgstr "" #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" -msgstr "Configuración del Servidor" +msgstr "" #: templates/InvenTree/settings/label.html:8 #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "Ajustes de Etiqueta" +msgstr "" #: templates/InvenTree/settings/login.html:9 #: templates/InvenTree/settings/sidebar.html:31 msgid "Login Settings" -msgstr "Configuración de Inicio de Sesión" +msgstr "" #: templates/InvenTree/settings/login.html:16 msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" @@ -7716,7 +7721,7 @@ msgstr "" #: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" -msgstr "Registrarse" +msgstr "" #: templates/InvenTree/settings/login.html:35 msgid "Single Sign On" @@ -7725,20 +7730,20 @@ msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 msgid "Settings" -msgstr "Ajustes" +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" -msgstr "Direcciones URL" +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:8 #, python-format msgid "The Base-URL for this plugin is %(base)s." -msgstr "La URL base para este plugin es %(base)s." +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:23 msgid "Open in new tab" -msgstr "Abrir en una pestaña nueva" +msgstr "" #: templates/InvenTree/settings/notifications.html:9 msgid "Global Notification Settings" @@ -7750,24 +7755,24 @@ msgstr "" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" -msgstr "Ajustes de Parte" +msgstr "" #: templates/InvenTree/settings/part.html:41 msgid "Part Import" -msgstr "Importar Parte" +msgstr "" #: templates/InvenTree/settings/part.html:45 msgid "Import Part" -msgstr "Importar Parte" +msgstr "" #: templates/InvenTree/settings/part.html:59 msgid "Part Parameter Templates" -msgstr "Plantillas de Parámetros de Partes" +msgstr "" #: templates/InvenTree/settings/plugin.html:10 #: templates/InvenTree/settings/sidebar.html:57 msgid "Plugin Settings" -msgstr "Ajustes del Plugin" +msgstr "" #: templates/InvenTree/settings/plugin.html:16 msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." @@ -7781,7 +7786,7 @@ msgstr "" #: templates/InvenTree/settings/plugin.html:44 #: templates/js/translated/plugin.js:16 msgid "Install Plugin" -msgstr "Instalar Plugin" +msgstr "" #: templates/InvenTree/settings/plugin.html:52 msgid "External plugins are not enabled for this InvenTree installation" @@ -7790,7 +7795,7 @@ msgstr "" #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" -msgstr "Versión" +msgstr "" #: templates/InvenTree/settings/plugin.html:72 msgid "Active plugins" @@ -7798,20 +7803,20 @@ msgstr "" #: templates/InvenTree/settings/plugin.html:80 msgid "Inactive plugins" -msgstr "Plugins inactivos" +msgstr "" #: templates/InvenTree/settings/plugin.html:94 msgid "Plugin Error Stack" -msgstr "Pila de Error de Plugin" +msgstr "" #: templates/InvenTree/settings/plugin.html:103 msgid "Stage" -msgstr "Etapa" +msgstr "" #: templates/InvenTree/settings/plugin.html:105 #: templates/js/translated/notification.js:75 msgid "Message" -msgstr "Mensaje" +msgstr "" #: templates/InvenTree/settings/plugin_details.html:32 #: templates/InvenTree/settings/plugin_settings.html:101 @@ -7820,35 +7825,35 @@ msgstr "" #: templates/InvenTree/settings/plugin_details.html:38 msgid "Sample" -msgstr "Muestra" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:17 msgid "Plugin information" -msgstr "Información de Plugin" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:48 msgid "no version information supplied" -msgstr "no se proporcionó información de versión" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:62 msgid "License" -msgstr "Licencia" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:71 msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running." -msgstr "La información del código es extraída del último git commit para este plugin. Puede que no refleje los números de versión oficiales o la información, pero sí el código actual en ejecución." +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:77 msgid "Package information" -msgstr "Información del paquete" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:83 msgid "Installation method" -msgstr "Método de instalación" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:86 msgid "This plugin was installed as a package" -msgstr "Este plugin fue instalado como un paquete" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:88 msgid "This plugin was found in a local server path" @@ -7856,7 +7861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:94 msgid "Installation path" -msgstr "Ruta de instalación" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:102 msgid "This is a builtin plugin which cannot be disabled" @@ -7864,71 +7869,71 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 msgid "Commit Author" -msgstr "Autor del Commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:111 #: templates/about.html:36 msgid "Commit Date" -msgstr "Fecha del Commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:115 #: templates/about.html:29 msgid "Commit Hash" -msgstr "Hash de Commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:119 msgid "Commit Message" -msgstr "Mensaje de Commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:127 msgid "Sign Status" -msgstr "Estado de Firma" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:132 msgid "Sign Key" -msgstr "Firma de clave" +msgstr "" #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" -msgstr "Ajustes de Orden de Compra" +msgstr "" #: templates/InvenTree/settings/pricing.html:7 msgid "Pricing Settings" -msgstr "" +msgstr "Configuración de Precios" #: templates/InvenTree/settings/pricing.html:33 msgid "Exchange Rates" -msgstr "Tipos de Cambio" +msgstr "" #: templates/InvenTree/settings/pricing.html:37 msgid "Update Now" -msgstr "Actualizar Ahora" +msgstr "" #: templates/InvenTree/settings/pricing.html:45 #: templates/InvenTree/settings/pricing.html:49 msgid "Last Update" -msgstr "Última Actualización" +msgstr "" #: templates/InvenTree/settings/pricing.html:49 msgid "Never" -msgstr "Nunca" +msgstr "" #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" -msgstr "Ajustes del Informe" +msgstr "" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" -msgstr "Ningún valor establecido" +msgstr "" #: templates/InvenTree/settings/setting.html:44 msgid "Edit setting" -msgstr "Editar ajustes" +msgstr "" #: templates/InvenTree/settings/settings.html:118 msgid "Edit Plugin Setting" -msgstr "Editar Configuración del Plugin" +msgstr "" #: templates/InvenTree/settings/settings.html:120 msgid "Edit Notification Setting" @@ -7936,11 +7941,11 @@ msgstr "" #: templates/InvenTree/settings/settings.html:123 msgid "Edit Global Setting" -msgstr "Editar Configuración Global" +msgstr "" #: templates/InvenTree/settings/settings.html:125 msgid "Edit User Setting" -msgstr "Editar Configuración de Usuario" +msgstr "" #: templates/InvenTree/settings/settings.html:196 msgid "Rate" @@ -7948,43 +7953,43 @@ msgstr "" #: templates/InvenTree/settings/settings.html:261 msgid "No category parameter templates found" -msgstr "No hay plantillas de parámetros de categoría" +msgstr "" #: templates/InvenTree/settings/settings.html:283 #: templates/InvenTree/settings/settings.html:408 msgid "Edit Template" -msgstr "Editar Plantilla" +msgstr "" #: templates/InvenTree/settings/settings.html:284 #: templates/InvenTree/settings/settings.html:409 msgid "Delete Template" -msgstr "Eliminar Plantilla" +msgstr "" #: templates/InvenTree/settings/settings.html:324 msgid "Create Category Parameter Template" -msgstr "Crear plantilla de parámetro de categoría" +msgstr "" #: templates/InvenTree/settings/settings.html:369 msgid "Delete Category Parameter Template" -msgstr "Eliminar plantilla de parámetro de categoría" +msgstr "" #: templates/InvenTree/settings/settings.html:381 msgid "No part parameter templates found" -msgstr "No se encontraron plantillas de parámetros de parte" +msgstr "" #: templates/InvenTree/settings/settings.html:385 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" -msgstr "Identificación" +msgstr "" #: templates/InvenTree/settings/settings.html:427 msgid "Create Part Parameter Template" -msgstr "Crear plantilla Parámetro de Parte" +msgstr "" #: templates/InvenTree/settings/settings.html:446 msgid "Edit Part Parameter Template" -msgstr "Crear plantilla Parámetro de Parte" +msgstr "" #: templates/InvenTree/settings/settings.html:460 msgid "Any parameters which reference this template will also be deleted" @@ -7992,57 +7997,57 @@ msgstr "" #: templates/InvenTree/settings/settings.html:468 msgid "Delete Part Parameter Template" -msgstr "Eliminar Plantilla de Parámetros de Parte" +msgstr "" #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" -msgstr "Configuración del Usuario" +msgstr "" #: templates/InvenTree/settings/sidebar.html:9 #: templates/InvenTree/settings/user.html:12 msgid "Account Settings" -msgstr "Configuración de la Cuenta" +msgstr "" #: templates/InvenTree/settings/sidebar.html:11 #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" -msgstr "Ajuste de Visualización" +msgstr "Ajustes de Visualización" #: templates/InvenTree/settings/sidebar.html:13 msgid "Home Page" -msgstr "Página de Inicio" +msgstr "" #: templates/InvenTree/settings/sidebar.html:15 #: templates/InvenTree/settings/user_search.html:9 msgid "Search Settings" -msgstr "Ajustes de Búsqueda" +msgstr "" #: templates/InvenTree/settings/sidebar.html:19 #: templates/InvenTree/settings/sidebar.html:39 msgid "Label Printing" -msgstr "Impresión de etiquetas" +msgstr "" #: templates/InvenTree/settings/sidebar.html:21 #: templates/InvenTree/settings/sidebar.html:41 msgid "Reporting" -msgstr "Informando" +msgstr "" #: templates/InvenTree/settings/sidebar.html:26 msgid "Global Settings" -msgstr "Configuración Global" +msgstr "" #: templates/InvenTree/settings/sidebar.html:29 msgid "Server Configuration" -msgstr "Configuración del Servidor" +msgstr "" #: templates/InvenTree/settings/sidebar.html:45 msgid "Categories" -msgstr "Categorías" +msgstr "" #: templates/InvenTree/settings/so.html:7 msgid "Sales Order Settings" -msgstr "Configuración de orden de venta" +msgstr "Configuración de Pedidos de Entrega" #: templates/InvenTree/settings/stock.html:7 msgid "Stock Settings" @@ -8052,73 +8057,73 @@ msgstr "Configuración de Stock" #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" -msgstr "Cambiar Contraseña" +msgstr "" #: templates/InvenTree/settings/user.html:23 #: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" -msgstr "Editar" +msgstr "" #: templates/InvenTree/settings/user.html:32 msgid "Username" -msgstr "Nombre de usuario" +msgstr "" #: templates/InvenTree/settings/user.html:36 msgid "First Name" -msgstr "Nombre" +msgstr "" #: templates/InvenTree/settings/user.html:40 msgid "Last Name" -msgstr "Apellido" +msgstr "" #: templates/InvenTree/settings/user.html:54 msgid "The following email addresses are associated with your account:" -msgstr "Las siguientes direcciones de correo electrónico están asociadas con tu cuenta:" +msgstr "" #: templates/InvenTree/settings/user.html:75 msgid "Verified" -msgstr "Verificado" +msgstr "" #: templates/InvenTree/settings/user.html:77 msgid "Unverified" -msgstr "Sin verificar" +msgstr "" #: templates/InvenTree/settings/user.html:79 msgid "Primary" -msgstr "Principal" +msgstr "" #: templates/InvenTree/settings/user.html:85 msgid "Make Primary" -msgstr "Hacer Principal" +msgstr "" #: templates/InvenTree/settings/user.html:86 msgid "Re-send Verification" -msgstr "Reenviar verificación" +msgstr "" #: templates/InvenTree/settings/user.html:95 msgid "Warning:" -msgstr "Advertencia:" +msgstr "" #: templates/InvenTree/settings/user.html:96 msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." -msgstr "Actualmente no tiene ninguna dirección de correo electrónico configurada. Realmente deberías añadir una dirección de correo electrónico para que puedas recibir notificaciones, restablecer tu contraseña, etc." +msgstr "" #: templates/InvenTree/settings/user.html:104 msgid "Add Email Address" -msgstr "Añadir correo electrónico" +msgstr "" #: templates/InvenTree/settings/user.html:109 msgid "Add Email" -msgstr "Agregar Email" +msgstr "" #: templates/InvenTree/settings/user.html:117 msgid "Social Accounts" -msgstr "Cuentas Sociales" +msgstr "" #: templates/InvenTree/settings/user.html:122 msgid "You can sign in to your account using any of the following third party accounts:" -msgstr "Puede iniciar sesión en su cuenta utilizando cualquiera de las siguientes cuentas de terceros:" +msgstr "" #: templates/InvenTree/settings/user.html:158 msgid "There are no social network accounts connected to this account." @@ -8126,7 +8131,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:164 msgid "Add a 3rd Party Account" -msgstr "Añadir una cuenta de terceros" +msgstr "" #: templates/InvenTree/settings/user.html:174 msgid "Multifactor" @@ -8134,7 +8139,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:179 msgid "You have these factors available:" -msgstr "Tienes estos factores disponibles:" +msgstr "" #: templates/InvenTree/settings/user.html:189 msgid "TOTP" @@ -8142,7 +8147,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:195 msgid "Static" -msgstr "Estático" +msgstr "" #: templates/InvenTree/settings/user.html:204 msgid "Multifactor authentication is not configured for your account" @@ -8150,61 +8155,61 @@ msgstr "" #: templates/InvenTree/settings/user.html:211 msgid "Change factors" -msgstr "Cambiar factores" +msgstr "" #: templates/InvenTree/settings/user.html:212 msgid "Setup multifactor" -msgstr "Configurar factor múltiple" +msgstr "" #: templates/InvenTree/settings/user.html:214 msgid "Remove multifactor" -msgstr "Remover factor múltiple" +msgstr "" #: templates/InvenTree/settings/user.html:222 msgid "Active Sessions" -msgstr "Sesiones Activas" +msgstr "" #: templates/InvenTree/settings/user.html:228 msgid "Log out active sessions (except this one)" -msgstr "Cerrar sesiones activas (excepto esta)" +msgstr "" #: templates/InvenTree/settings/user.html:229 msgid "Log Out Active Sessions" -msgstr "Cerrar Sesiones Activas" +msgstr "" #: templates/InvenTree/settings/user.html:238 msgid "unknown on unknown" -msgstr "desconocido en desconocido" +msgstr "" #: templates/InvenTree/settings/user.html:239 msgid "unknown" -msgstr "desconocido" +msgstr "" #: templates/InvenTree/settings/user.html:243 msgid "IP Address" -msgstr "Dirección IP" +msgstr "" #: templates/InvenTree/settings/user.html:244 msgid "Device" -msgstr "Dispositivo" +msgstr "" #: templates/InvenTree/settings/user.html:245 msgid "Last Activity" -msgstr "Última Actividad" +msgstr "" #: templates/InvenTree/settings/user.html:258 #, python-format msgid "%(time)s ago (this session)" -msgstr "%(time)s atrás (esta sesión)" +msgstr "" #: templates/InvenTree/settings/user.html:260 #, python-format msgid "%(time)s ago" -msgstr "%(time)s atrás" +msgstr "" #: templates/InvenTree/settings/user.html:272 msgid "Do you really want to remove the selected email address?" -msgstr "¿Realmente desea eliminar la dirección de correo electrónico seleccionada?" +msgstr "" #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" @@ -8237,7 +8242,7 @@ msgstr "No hay traducciones disponibles" #: templates/InvenTree/settings/user_display.html:92 msgid "Set Language" -msgstr "Definir Idioma" +msgstr "Establecer Idioma" #: templates/InvenTree/settings/user_display.html:95 msgid "Some languages are not complete" @@ -8245,7 +8250,7 @@ msgstr "Algunos idiomas no están completos" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficent" -msgstr "Mostrar solo el contenido" +msgstr "" #: templates/InvenTree/settings/user_display.html:99 msgid "and hidden." @@ -8253,7 +8258,7 @@ msgstr "y oculto." #: templates/InvenTree/settings/user_display.html:99 msgid "Show them too" -msgstr "Mostrar también" +msgstr "Mostrarlos también" #: templates/InvenTree/settings/user_display.html:106 msgid "Help the translation efforts!" @@ -8265,11 +8270,11 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:108 msgid "InvenTree Translation Project" -msgstr "" +msgstr "Participar en el Proyecto de Traducción de InvenTree" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" -msgstr "Ajustes de página de inicio" +msgstr "" #: templates/InvenTree/settings/user_notifications.html:9 msgid "Notification Settings" @@ -8277,83 +8282,83 @@ msgstr "" #: templates/about.html:9 msgid "InvenTree Version" -msgstr "Versión de InvenTree" +msgstr "" #: templates/about.html:14 msgid "Development Version" -msgstr "Versión de Desarrollo" +msgstr "" #: templates/about.html:17 msgid "Up to Date" -msgstr "Actualizado" +msgstr "" #: templates/about.html:19 msgid "Update Available" -msgstr "Actualización Disponible" +msgstr "" #: templates/about.html:42 msgid "InvenTree Documentation" -msgstr "Documentación de InvenTree" +msgstr "" #: templates/about.html:47 msgid "API Version" -msgstr "Versión API" +msgstr "" #: templates/about.html:52 msgid "Python Version" -msgstr "Versión de Python" +msgstr "" #: templates/about.html:57 msgid "Django Version" -msgstr "Versión de Django" +msgstr "" #: templates/about.html:62 msgid "View Code on GitHub" -msgstr "Ver código en GitHub" +msgstr "" #: templates/about.html:67 msgid "Credits" -msgstr "Créditos" +msgstr "" #: templates/about.html:72 msgid "Mobile App" -msgstr "Aplicación Móvil" +msgstr "" #: templates/about.html:77 msgid "Submit Bug Report" -msgstr "Enviar Informe de Error" +msgstr "" #: templates/about.html:84 templates/clip.html:4 msgid "copy to clipboard" -msgstr "copiar al portapapeles" +msgstr "" #: templates/about.html:84 msgid "copy version information" -msgstr "copiar información de versión" +msgstr "" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 msgid "Confirm Email Address" -msgstr "Confirmar Email" +msgstr "" #: templates/account/email_confirm.html:16 #, python-format msgid "Please confirm that %(email)s is an email address for user %(user_display)s." -msgstr "Confirme que %(email)s es una dirección de correo electrónico para el usuario %(user_display)s." +msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" -msgstr "Confirmar" +msgstr "" #: templates/account/email_confirm.html:30 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." -msgstr "Este enlace de confirmación de correo electrónico ha caducado o no es válido. Por favor, envíe un nuevo correo electrónico de solicitud de confirmación." +msgstr "" #: templates/account/login.html:6 templates/account/login.html:17 #: templates/account/login.html:38 templates/socialaccount/login.html:4 msgid "Sign In" -msgstr "Ingresar" +msgstr "" #: templates/account/login.html:21 msgid "Not a member?" @@ -8363,11 +8368,11 @@ msgstr "" #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:20 msgid "Sign Up" -msgstr "Registrarse" +msgstr "" #: templates/account/login.html:45 msgid "Forgot Password?" -msgstr "¿Ha olvidado la contraseña?" +msgstr "" #: templates/account/login.html:53 msgid "or log in with" @@ -8376,11 +8381,11 @@ msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 #: templates/account/logout.html:20 msgid "Sign Out" -msgstr "Cerrar Sesión" +msgstr "" #: templates/account/logout.html:10 msgid "Are you sure you want to sign out?" -msgstr "¿Está seguro de que desea salir?" +msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 #: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 @@ -8390,41 +8395,41 @@ msgstr "" #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" -msgstr "Restablecer Contraseña" +msgstr "" #: templates/account/password_reset.html:18 msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." -msgstr "¿Olvidó su contraseña? Introduzca su dirección de correo electrónico a continuación y le enviaremos un correo electrónico que le permita restablecerla." +msgstr "" #: templates/account/password_reset.html:23 msgid "Reset My Password" -msgstr "Reestablecer mi Contraseña" +msgstr "" #: templates/account/password_reset.html:27 templates/account/signup.html:37 msgid "This function is currently disabled. Please contact an administrator." -msgstr "Esta función está actualmente deshabilitada. Por favor, póngase en contacto con un administrador." +msgstr "" #: templates/account/password_reset_from_key.html:7 msgid "Bad Token" -msgstr "Token Incorrecto" +msgstr "" #: templates/account/password_reset_from_key.html:11 #, python-format msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "El enlace de restablecimiento de contraseña no era válido, posiblemente porque ya ha sido utilizado. Por favor, solicite un nuevo restablecimiento de contraseña." +msgstr "" #: templates/account/password_reset_from_key.html:18 msgid "Change password" -msgstr "Cambiar contraseña" +msgstr "" #: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." -msgstr "Se ha cambiado la contraseña." +msgstr "" #: templates/account/signup.html:13 #, python-format msgid "Already have an account? Then please sign in." -msgstr "¿Ya tienes una cuenta? Entonces inicia sesión." +msgstr "" #: templates/account/signup.html:28 msgid "Use a SSO-provider for signup" @@ -8447,23 +8452,23 @@ msgstr "" #: templates/admin_button.html:8 msgid "View in administration panel" -msgstr "Ver en el panel de administración" +msgstr "" #: templates/allauth_2fa/authenticate.html:5 msgid "Two-Factor Authentication" -msgstr "Autenticación de dos factores" +msgstr "" #: templates/allauth_2fa/authenticate.html:13 msgid "Authenticate" -msgstr "Autenticar" +msgstr "" #: templates/allauth_2fa/backup_tokens.html:6 msgid "Two-Factor Authentication Backup Tokens" -msgstr "Tokens de autenticación de doble factor" +msgstr "" #: templates/allauth_2fa/backup_tokens.html:17 msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones." -msgstr "Se han generado tokens de copia de seguridad, pero no se revelan aquí por razones de seguridad. Pulse el botón de abajo para generar nuevos." +msgstr "" #: templates/allauth_2fa/backup_tokens.html:20 msgid "No backup tokens are available. Press the button below to generate some." @@ -8475,11 +8480,11 @@ msgstr "" #: templates/allauth_2fa/remove.html:6 msgid "Disable Two-Factor Authentication" -msgstr "Deshabilitar autenticación de dos factores" +msgstr "" #: templates/allauth_2fa/remove.html:9 msgid "Are you sure?" -msgstr "¿Está seguro?" +msgstr "" #: templates/allauth_2fa/remove.html:17 msgid "Disable 2FA" @@ -8487,27 +8492,27 @@ msgstr "" #: templates/allauth_2fa/setup.html:6 msgid "Setup Two-Factor Authentication" -msgstr "Configurar Autenticación de Dos Factores" +msgstr "" #: templates/allauth_2fa/setup.html:10 msgid "Step 1" -msgstr "Paso 1" +msgstr "" #: templates/allauth_2fa/setup.html:14 msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." -msgstr "Escanea el código QR de abajo con un generador de tokens de tu elección (por ejemplo Google Authenticator)." +msgstr "" #: templates/allauth_2fa/setup.html:23 msgid "Step 2" -msgstr "Paso 2" +msgstr "" #: templates/allauth_2fa/setup.html:27 msgid "Input a token generated by the app:" -msgstr "Ingrese un token generado por la aplicación:" +msgstr "" #: templates/allauth_2fa/setup.html:37 msgid "Verify" -msgstr "Verificar" +msgstr "" #: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 msgid "Add Link" @@ -8515,7 +8520,7 @@ msgstr "Agregar Enlace" #: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 msgid "Add Attachment" -msgstr "Añadir archivo adjunto" +msgstr "Añadir Archivo Adjunto" #: templates/attachment_table.html:11 msgid "Delete selected attachments" @@ -8527,19 +8532,19 @@ msgstr "" #: templates/base.html:101 msgid "Server Restart Required" -msgstr "Reinicio del Servidor Requerido" +msgstr "" #: templates/base.html:104 msgid "A configuration option has been changed which requires a server restart" -msgstr "Se ha cambiado una opción de configuración que requiere reiniciar el servidor" +msgstr "" #: templates/base.html:104 msgid "Contact your system administrator for further information" -msgstr "Póngase en contacto con su administrador para más información" +msgstr "" #: templates/collapse_rows.html:3 msgid "Collapse all rows" -msgstr "" +msgstr "Contraer todas las filas" #: templates/email/build_order_completed.html:9 #: templates/email/new_order_assigned.html:9 @@ -8548,111 +8553,111 @@ msgstr "" #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 msgid "Click on the following link to view this order" -msgstr "" +msgstr "Haga clic en el siguiente enlace para ver este pedido" #: templates/email/build_order_required_stock.html:7 msgid "Stock is required for the following build order" -msgstr "Se requiere stock para el siguiente orden de trabajo" +msgstr "" #: templates/email/build_order_required_stock.html:8 #, python-format msgid "Build order %(build)s - building %(quantity)s x %(part)s" -msgstr "Orden de trabajo %(build)s - creando %(quantity)s x %(part)s" +msgstr "" #: templates/email/build_order_required_stock.html:10 msgid "Click on the following link to view this build order" -msgstr "Haga clic en el siguiente enlace para ver esta orden de trabajo" +msgstr "" #: templates/email/build_order_required_stock.html:14 msgid "The following parts are low on required stock" -msgstr "Las siguientes partes están bajas en stock requerido" +msgstr "" #: templates/email/build_order_required_stock.html:18 #: templates/js/translated/bom.js:1637 msgid "Required Quantity" -msgstr "Cantidad requerida" +msgstr "" #: templates/email/build_order_required_stock.html:38 #: templates/email/low_stock_notification.html:31 msgid "You are receiving this email because you are subscribed to notifications for this part " -msgstr "Estás recibiendo este correo electrónico porque estás suscrito a las notificaciones de esta parte " +msgstr "" #: templates/email/low_stock_notification.html:9 msgid "Click on the following link to view this part" -msgstr "Haga clic en el siguiente enlace para ver esta pieza" +msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" -msgstr "Cantidad Mínima" +msgstr "" #: templates/expand_rows.html:3 msgid "Expand all rows" -msgstr "" +msgstr "Ampliar todas las filas" #: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 msgid "No Response" -msgstr "Sin Respuesta" +msgstr "" #: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 msgid "No response from the InvenTree server" -msgstr "No hay respuesta del servidor InvenTree" +msgstr "" #: templates/js/translated/api.js:202 msgid "Error 400: Bad request" -msgstr "Error 400: Solicitud incorrecta" +msgstr "" #: templates/js/translated/api.js:203 msgid "API request returned error code 400" -msgstr "La solicitud API devolvió el código de error 400" +msgstr "" #: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 msgid "Error 401: Not Authenticated" -msgstr "Error 401: No autenticado" +msgstr "" #: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 msgid "Authentication credentials not supplied" -msgstr "Credenciales de autenticación no suministradas" +msgstr "" #: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 msgid "Error 403: Permission Denied" -msgstr "Error 403: Permiso Denegado" +msgstr "" #: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 msgid "You do not have the required permissions to access this function" -msgstr "No tiene los permisos necesarios para acceder a esta función" +msgstr "" #: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 msgid "Error 404: Resource Not Found" -msgstr "Error 404: Recurso No Encontrado" +msgstr "" #: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 msgid "The requested resource could not be located on the server" -msgstr "El recurso solicitado no se pudo encontrar en el servidor" +msgstr "" #: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" -msgstr "Error 405: Método no Permitido" +msgstr "" #: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" -msgstr "Método HTTP no permitido en URL" +msgstr "" #: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 msgid "Error 408: Timeout" -msgstr "Error 408: Tiempo de espera agotado" +msgstr "" #: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 msgid "Connection timeout while requesting data from server" -msgstr "Tiempo de espera de conexión agotado al solicitar datos del servidor" +msgstr "" #: templates/js/translated/api.js:231 msgid "Unhandled Error Code" -msgstr "Código de error no controlado" +msgstr "" #: templates/js/translated/api.js:232 msgid "Error code" -msgstr "Código de error" +msgstr "" #: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" @@ -8660,23 +8665,23 @@ msgstr "" #: templates/js/translated/attachment.js:194 msgid "No attachments found" -msgstr "No se encontraron archivos adjuntos" +msgstr "" #: templates/js/translated/attachment.js:220 msgid "Edit Attachment" -msgstr "Editar archivos adjuntos" +msgstr "" #: templates/js/translated/attachment.js:290 msgid "Upload Date" -msgstr "Fecha de subida" +msgstr "Fecha de Subida" #: templates/js/translated/attachment.js:313 msgid "Edit attachment" -msgstr "Editar adjunto" +msgstr "" #: templates/js/translated/attachment.js:322 msgid "Delete attachment" -msgstr "Eliminar adjunto" +msgstr "" #: templates/js/translated/barcode.js:33 msgid "Scan barcode data here using barcode scanner" @@ -8684,11 +8689,11 @@ msgstr "" #: templates/js/translated/barcode.js:35 msgid "Enter barcode data" -msgstr "Introduzca datos de código de barras" +msgstr "" #: templates/js/translated/barcode.js:42 msgid "Barcode" -msgstr "Código de barras" +msgstr "" #: templates/js/translated/barcode.js:49 msgid "Scan barcode using connected webcam" @@ -8696,24 +8701,24 @@ msgstr "" #: templates/js/translated/barcode.js:126 msgid "Enter optional notes for stock transfer" -msgstr "Introduzca notas opcionales para la transferencia de stock" +msgstr "" #: templates/js/translated/barcode.js:127 msgid "Enter notes" -msgstr "Escribir notas" +msgstr "" #: templates/js/translated/barcode.js:173 msgid "Server error" -msgstr "Error del servidor" +msgstr "" #: templates/js/translated/barcode.js:202 msgid "Unknown response from server" -msgstr "Respuesta desconocida del servidor" +msgstr "" #: templates/js/translated/barcode.js:237 #: templates/js/translated/modals.js:1070 msgid "Invalid server response" -msgstr "Respuesta del servidor inválida" +msgstr "" #: templates/js/translated/barcode.js:355 msgid "Scan barcode data" @@ -8721,11 +8726,11 @@ msgstr "" #: templates/js/translated/barcode.js:405 templates/navbar.html:109 msgid "Scan Barcode" -msgstr "Escanear código de barras" +msgstr "" #: templates/js/translated/barcode.js:417 msgid "No URL in response" -msgstr "No hay URL en respuesta" +msgstr "" #: templates/js/translated/barcode.js:456 msgid "This will remove the link to the associated barcode" @@ -8733,11 +8738,11 @@ msgstr "" #: templates/js/translated/barcode.js:462 msgid "Unlink" -msgstr "Desvincular" +msgstr "" #: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 msgid "Remove stock item" -msgstr "Eliminar elemento de stock" +msgstr "" #: templates/js/translated/barcode.js:567 msgid "Scan Stock Items Into Location" @@ -8750,7 +8755,7 @@ msgstr "" #: templates/js/translated/barcode.js:572 #: templates/js/translated/barcode.js:764 msgid "Check In" -msgstr "Registrar" +msgstr "" #: templates/js/translated/barcode.js:603 msgid "No barcode provided" @@ -8758,15 +8763,15 @@ msgstr "" #: templates/js/translated/barcode.js:643 msgid "Stock Item already scanned" -msgstr "Artículo de stock ya escaneado" +msgstr "" #: templates/js/translated/barcode.js:647 msgid "Stock Item already in this location" -msgstr "Artículo de stock ya está en esta ubicación" +msgstr "" #: templates/js/translated/barcode.js:654 msgid "Added stock item" -msgstr "Artículo de stock añadido" +msgstr "" #: templates/js/translated/barcode.js:663 msgid "Barcode does not match valid stock item" @@ -8786,16 +8791,16 @@ msgstr "" #: templates/js/translated/barcode.js:759 msgid "Check Into Location" -msgstr "Comprobar en la ubicación" +msgstr "" #: templates/js/translated/barcode.js:827 #: templates/js/translated/barcode.js:836 msgid "Barcode does not match a valid location" -msgstr "El código de barras no coincide con una ubicación válida" +msgstr "" #: templates/js/translated/bom.js:47 msgid "Create BOM Item" -msgstr "Crear artículo para el BOM" +msgstr "" #: templates/js/translated/bom.js:101 msgid "Display row data" @@ -8803,7 +8808,7 @@ msgstr "Mostrar datos de fila" #: templates/js/translated/bom.js:157 msgid "Row Data" -msgstr "Datos de Fila" +msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 #: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 @@ -8811,11 +8816,11 @@ msgstr "Datos de Fila" #: templates/js/translated/order.js:1251 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" -msgstr "Cerrar" +msgstr "" #: templates/js/translated/bom.js:275 msgid "Download BOM Template" -msgstr "Descargar plantilla BOM" +msgstr "" #: templates/js/translated/bom.js:320 msgid "Multi Level BOM" @@ -8827,15 +8832,15 @@ msgstr "" #: templates/js/translated/bom.js:326 msgid "Levels" -msgstr "Niveles" +msgstr "" #: templates/js/translated/bom.js:327 msgid "Select maximum number of BOM levels to export (0 = all levels)" -msgstr "Seleccione el número máximo de niveles BOM a exportar (0 = todos los niveles)" +msgstr "" #: templates/js/translated/bom.js:334 msgid "Include Alternative Parts" -msgstr "Incluye partes alternativas" +msgstr "" #: templates/js/translated/bom.js:335 msgid "Include alternative parts in exported BOM" @@ -8843,7 +8848,7 @@ msgstr "" #: templates/js/translated/bom.js:340 msgid "Include Parameter Data" -msgstr "Incluye Parámetros de Datos" +msgstr "" #: templates/js/translated/bom.js:341 msgid "Include part parameter data in exported BOM" @@ -8851,27 +8856,27 @@ msgstr "" #: templates/js/translated/bom.js:346 msgid "Include Stock Data" -msgstr "Incluye Datos de Stock" +msgstr "" #: templates/js/translated/bom.js:347 msgid "Include part stock data in exported BOM" -msgstr "Incluye datos de stock de piezas en BOM exportado" +msgstr "" #: templates/js/translated/bom.js:352 msgid "Include Manufacturer Data" -msgstr "Incluir Datos del fabricante" +msgstr "" #: templates/js/translated/bom.js:353 msgid "Include part manufacturer data in exported BOM" -msgstr "Incluye datos del fabricante de piezas en BOM exportado" +msgstr "" #: templates/js/translated/bom.js:358 msgid "Include Supplier Data" -msgstr "Incluir Datos del Proveedor" +msgstr "" #: templates/js/translated/bom.js:359 msgid "Include part supplier data in exported BOM" -msgstr "Incluye datos del proveedor de piezas en BOM exportado" +msgstr "" #: templates/js/translated/bom.js:364 msgid "Include Pricing Data" @@ -8883,35 +8888,35 @@ msgstr "" #: templates/js/translated/bom.js:557 msgid "Remove substitute part" -msgstr "Eliminar parte sustituta" +msgstr "" #: templates/js/translated/bom.js:611 msgid "Select and add a new substitute part using the input below" -msgstr "Seleccione y añada una nueva parte sustituta usando la siguiente entrada" +msgstr "" #: templates/js/translated/bom.js:622 msgid "Are you sure you wish to remove this substitute part link?" -msgstr "¿Está seguro que desea eliminar este enlace de la parte sustituta?" +msgstr "" #: templates/js/translated/bom.js:628 msgid "Remove Substitute Part" -msgstr "Eliminar parte sustituta" +msgstr "" #: templates/js/translated/bom.js:667 msgid "Add Substitute" -msgstr "Añadir sustituto" +msgstr "" #: templates/js/translated/bom.js:668 msgid "Edit BOM Item Substitutes" -msgstr "Editar sustitutos de elementos BOM" +msgstr "" #: templates/js/translated/bom.js:730 msgid "All selected BOM items will be deleted" -msgstr "Todos los elementos BOM seleccionados serán eliminados" +msgstr "" #: templates/js/translated/bom.js:746 msgid "Delete selected BOM items?" -msgstr "¿Eliminar elementos BOM seleccionados?" +msgstr "" #: templates/js/translated/bom.js:875 msgid "Load BOM for subassembly" @@ -8919,19 +8924,19 @@ msgstr "" #: templates/js/translated/bom.js:885 msgid "Substitutes Available" -msgstr "Sustitutos Disponibles" +msgstr "" #: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 msgid "Variant stock allowed" -msgstr "Stock de variante permitido" +msgstr "" #: templates/js/translated/bom.js:979 msgid "Substitutes" -msgstr "Sustitutos" +msgstr "" #: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 msgid "View BOM" -msgstr "Ver BOM" +msgstr "" #: templates/js/translated/bom.js:1102 msgid "BOM pricing is complete" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -8970,43 +8975,43 @@ msgstr "" #: templates/js/translated/bom.js:1239 msgid "Validate BOM Item" -msgstr "Validar Artículo para el BOM" +msgstr "" #: templates/js/translated/bom.js:1241 msgid "This line has been validated" -msgstr "Esta línea ha sido validada" +msgstr "" #: templates/js/translated/bom.js:1243 msgid "Edit substitute parts" -msgstr "Editar partes sustitutas" +msgstr "" #: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" -msgstr "Editar Artículo de BOM" +msgstr "" #: templates/js/translated/bom.js:1247 msgid "Delete BOM Item" -msgstr "Eliminar Artículo de BOM" +msgstr "" #: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 msgid "No BOM items found" -msgstr "No se encontraron elementos BOM" +msgstr "" #: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 msgid "Required Part" -msgstr "Parte requerida" +msgstr "" #: templates/js/translated/bom.js:1646 msgid "Inherited from parent BOM" -msgstr "Heredado de BOM superior" +msgstr "" #: templates/js/translated/build.js:96 msgid "Edit Build Order" -msgstr "Editar Orden de Trabajo" +msgstr "" #: templates/js/translated/build.js:139 msgid "Create Build Order" -msgstr "Crear Orden de Trabajo" +msgstr "" #: templates/js/translated/build.js:172 msgid "Cancel Build Order" @@ -9014,7 +9019,7 @@ msgstr "" #: templates/js/translated/build.js:181 msgid "Are you sure you wish to cancel this build?" -msgstr "¿Estás seguro de que quieres cancelar esta construcción?" +msgstr "" #: templates/js/translated/build.js:187 msgid "Stock items have been allocated to this build order" @@ -9026,7 +9031,7 @@ msgstr "" #: templates/js/translated/build.js:246 msgid "Build order is ready to be completed" -msgstr "El pedido de construcción está listo para ser completado" +msgstr "" #: templates/js/translated/build.js:254 msgid "This build order cannot be completed as there are incomplete outputs" @@ -9034,97 +9039,97 @@ msgstr "" #: templates/js/translated/build.js:259 msgid "Build Order is incomplete" -msgstr "Orden de construcción incompleta" +msgstr "" #: templates/js/translated/build.js:277 msgid "Complete Build Order" -msgstr "Completar Orden de Construcción" +msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 #: templates/js/translated/stock.js:236 msgid "Next available serial number" -msgstr "Siguiente número de serie disponible" +msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 #: templates/js/translated/stock.js:238 msgid "Latest serial number" -msgstr "Último número de serie" +msgstr "" #: templates/js/translated/build.js:329 msgid "The Bill of Materials contains trackable parts" -msgstr "La ley de materiales contiene partes rastreables" +msgstr "" #: templates/js/translated/build.js:330 msgid "Build outputs must be generated individually" -msgstr "Las salidas de construcción deben ser generadas individualmente" +msgstr "" #: templates/js/translated/build.js:338 msgid "Trackable parts can have serial numbers specified" -msgstr "Las partes rastreables pueden tener números de serie especificados" +msgstr "" #: templates/js/translated/build.js:339 msgid "Enter serial numbers to generate multiple single build outputs" -msgstr "Introduzca números de serie para generar múltiples salidas de construcción única" +msgstr "" #: templates/js/translated/build.js:346 msgid "Create Build Output" -msgstr "Crear Salida de Trabajo" +msgstr "" #: templates/js/translated/build.js:377 msgid "Allocate stock items to this build output" -msgstr "Asignar elementos de stock a esta salida de trabajo" +msgstr "" #: templates/js/translated/build.js:388 msgid "Unallocate stock from build output" -msgstr "Desasignar stock de la salida de trabajo" +msgstr "" #: templates/js/translated/build.js:397 msgid "Complete build output" -msgstr "Completar salida de trabajo" +msgstr "" #: templates/js/translated/build.js:405 msgid "Delete build output" -msgstr "Eliminar Salida de Trabajo" +msgstr "" #: templates/js/translated/build.js:428 msgid "Are you sure you wish to unallocate stock items from this build?" -msgstr "¿Está seguro que desea desasignar los artículos de stock de este trabajo?" +msgstr "" #: templates/js/translated/build.js:446 msgid "Unallocate Stock Items" -msgstr "Desasignar artículos de stock" +msgstr "" #: templates/js/translated/build.js:466 templates/js/translated/build.js:622 msgid "Select Build Outputs" -msgstr "Seleccionar Salida de Trabajo" +msgstr "" #: templates/js/translated/build.js:467 templates/js/translated/build.js:623 msgid "At least one build output must be selected" -msgstr "Se debe seleccionar al menos una salida de trabajo" +msgstr "" #: templates/js/translated/build.js:521 templates/js/translated/build.js:677 msgid "Output" -msgstr "Salida" +msgstr "" #: templates/js/translated/build.js:543 msgid "Complete Build Outputs" -msgstr "Completar salidas de trabajo" +msgstr "" #: templates/js/translated/build.js:690 msgid "Delete Build Outputs" -msgstr "Eliminar Salidas" +msgstr "" #: templates/js/translated/build.js:780 msgid "No build order allocations found" -msgstr "No se encontraron asignaciones de órdenes de trabajo" +msgstr "" #: templates/js/translated/build.js:817 msgid "Location not specified" -msgstr "Ubicación no especificada" +msgstr "" #: templates/js/translated/build.js:1205 msgid "No active build outputs found" -msgstr "No se encontraron salidas de trabajo activas" +msgstr "" #: templates/js/translated/build.js:1276 msgid "Allocated Stock" @@ -9145,28 +9150,28 @@ msgstr "" #: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 #: templates/js/translated/order.js:3676 msgid "Edit stock allocation" -msgstr "Editar asignación de stock" +msgstr "" #: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 #: templates/js/translated/order.js:3677 msgid "Delete stock allocation" -msgstr "Eliminar asignación de stock" +msgstr "" #: templates/js/translated/build.js:1806 msgid "Edit Allocation" -msgstr "Editar Asignación" +msgstr "" #: templates/js/translated/build.js:1816 msgid "Remove Allocation" -msgstr "Quitar asignación" +msgstr "" #: templates/js/translated/build.js:1842 msgid "Substitute parts available" -msgstr "Piezas sustitutas disponibles" +msgstr "" #: templates/js/translated/build.js:1878 msgid "Quantity Per" -msgstr "Cantidad por" +msgstr "" #: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 msgid "Insufficient stock available" @@ -9178,29 +9183,29 @@ msgstr "" #: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 msgid "Build stock" -msgstr "Stock de Trabajo" +msgstr "" #: templates/js/translated/build.js:2008 templates/stock_table.html:50 msgid "Order stock" -msgstr "Pedido de stock" +msgstr "" #: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 msgid "Allocate stock" -msgstr "Asignar stock" +msgstr "" #: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 #: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 #: templates/js/translated/report.js:225 msgid "Select Parts" -msgstr "Seleccionar partes" +msgstr "" #: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 msgid "You must select at least one part to allocate" -msgstr "Debe seleccionar al menos una parte para asignar" +msgstr "" #: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 msgid "Specify stock allocation quantity" -msgstr "Especificar la cantidad de asignación de stock" +msgstr "" #: templates/js/translated/build.js:2179 msgid "All Parts Allocated" @@ -9212,19 +9217,19 @@ msgstr "" #: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 msgid "Select source location (leave blank to take from all locations)" -msgstr "Seleccionar ubicación de origen (dejar en blanco para tomar de todas las ubicaciones)" +msgstr "" #: templates/js/translated/build.js:2222 msgid "Allocate Stock Items to Build Order" -msgstr "Asignar Artículos de Stock a Orden de Trabajo" +msgstr "" #: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 msgid "No matching stock locations" -msgstr "No hay ubicaciones de stock coincidentes" +msgstr "" #: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 msgid "No matching stock items" -msgstr "No hay artículos de stock coincidentes" +msgstr "" #: templates/js/translated/build.js:2402 msgid "Automatic Stock Allocation" @@ -9252,17 +9257,17 @@ msgstr "" #: templates/js/translated/build.js:2540 msgid "No builds matching query" -msgstr "No hay trabajos que coincidan con la consulta" +msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" -msgstr "Seleccionar" +msgstr "" #: templates/js/translated/build.js:2589 msgid "Build order is overdue" -msgstr "Orden de trabajo atrasada" +msgstr "" #: templates/js/translated/build.js:2623 msgid "Progress" @@ -9270,35 +9275,35 @@ msgstr "" #: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 msgid "No user information" -msgstr "No hay información de usuario" +msgstr "" #: templates/js/translated/build.js:2765 msgid "No parts allocated for" -msgstr "No se asignaron partes para" +msgstr "" #: templates/js/translated/company.js:67 msgid "Add Manufacturer" -msgstr "Agregar Fabricante" +msgstr "" #: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" -msgstr "Añadir Parte del fabricante" +msgstr "" #: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" -msgstr "Editar Parte del Fabricante" +msgstr "" #: templates/js/translated/company.js:170 templates/js/translated/order.js:597 msgid "Add Supplier" -msgstr "Añadir Proveedor" +msgstr "" #: templates/js/translated/company.js:198 templates/js/translated/order.js:888 msgid "Add Supplier Part" -msgstr "Añadir Parte de Proveedor" +msgstr "" #: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" -msgstr "Se eliminarán todas las partes del proveedor seleccionadas" +msgstr "" #: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" @@ -9310,11 +9315,11 @@ msgstr "Añadir nueva Empresa" #: templates/js/translated/company.js:463 msgid "Parts Supplied" -msgstr "Partes Suministradas" +msgstr "" #: templates/js/translated/company.js:472 msgid "Parts Manufactured" -msgstr "Partes Fabricadas" +msgstr "" #: templates/js/translated/company.js:487 msgid "No company information found" @@ -9326,7 +9331,7 @@ msgstr "" #: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" -msgstr "Eliminar Partes del Fabricante" +msgstr "" #: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" @@ -9334,73 +9339,73 @@ msgstr "" #: templates/js/translated/company.js:591 msgid "Delete Parameters" -msgstr "Eliminar parámetros" +msgstr "" #: templates/js/translated/company.js:632 msgid "No manufacturer parts found" -msgstr "No se encontraron partes del fabricante" +msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" -msgstr "Plantilla de parte" +msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" -msgstr "Parte ensamblada" +msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" -msgstr "No se encontraron parámetros" +msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" -msgstr "Editar parámetro" +msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" -msgstr "Eliminar parámetro" +msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" -msgstr "Editar parámetro" +msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" -msgstr "Eliminar parámetro" +msgstr "" #: templates/js/translated/company.js:892 msgid "No supplier parts found" -msgstr "No se encontraron piezas de proveedor" +msgstr "" #: templates/js/translated/company.js:1033 msgid "Availability" -msgstr "Disponibilidad" +msgstr "" #: templates/js/translated/company.js:1061 msgid "Edit supplier part" -msgstr "Editar proveedor" +msgstr "" #: templates/js/translated/company.js:1062 msgid "Delete supplier part" -msgstr "Eliminar ítem del proveedor" +msgstr "" #: templates/js/translated/company.js:1117 #: templates/js/translated/pricing.js:664 msgid "Delete Price Break" -msgstr "Eliminar precio de descuento" +msgstr "" #: templates/js/translated/company.js:1133 #: templates/js/translated/pricing.js:678 msgid "Edit Price Break" -msgstr "Editar precio de descuento" +msgstr "" #: templates/js/translated/company.js:1150 msgid "No price break information found" -msgstr "No se ha encontrado información de descuento de precios" +msgstr "" #: templates/js/translated/company.js:1179 msgid "Last updated" @@ -9408,25 +9413,25 @@ msgstr "Última actualización" #: templates/js/translated/company.js:1185 msgid "Edit price break" -msgstr "Editar precio de descuento" +msgstr "" #: templates/js/translated/company.js:1186 msgid "Delete price break" -msgstr "Eliminar precio de descuento" +msgstr "" #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:445 msgid "true" -msgstr "verdadero" +msgstr "" #: templates/js/translated/filters.js:182 #: templates/js/translated/filters.js:446 msgid "false" -msgstr "falso" +msgstr "" #: templates/js/translated/filters.js:206 msgid "Select filter" -msgstr "Seleccionar filtro" +msgstr "" #: templates/js/translated/filters.js:292 msgid "Download data" @@ -9434,81 +9439,81 @@ msgstr "" #: templates/js/translated/filters.js:295 msgid "Reload data" -msgstr "Recargar datos" +msgstr "" #: templates/js/translated/filters.js:299 msgid "Add new filter" -msgstr "Añadir un nuevo filtro" +msgstr "" #: templates/js/translated/filters.js:302 msgid "Clear all filters" -msgstr "Limpiar todos los filtros" +msgstr "" #: templates/js/translated/filters.js:354 msgid "Create filter" -msgstr "Crear filtro" +msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" -msgstr "Acción Prohibida" +msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" -msgstr "Operación de creación no permitida" +msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" -msgstr "Operación de actualización no permitida" +msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" -msgstr "Operación de eliminación no permitida" +msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" -msgstr "Operación de visualización no permitida" +msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" -msgstr "Introduzca un número válido" +msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" -msgstr "Existen errores en el formulario" +msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" -msgstr "No hay resultados" +msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" -msgstr "Buscando" +msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" -msgstr "Limpiar entrada" +msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" -msgstr "" +msgstr "Seleccionar Columnas" #: templates/js/translated/helpers.js:24 msgid "YES" -msgstr "SI" +msgstr "" #: templates/js/translated/helpers.js:26 msgid "NO" @@ -9525,40 +9530,40 @@ msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 #: templates/js/translated/stock.js:1112 msgid "Select Stock Items" -msgstr "Seleccionar elementos de stock" +msgstr "" #: templates/js/translated/label.js:61 msgid "Stock item(s) must be selected before printing labels" -msgstr "Elemento(s) de stock deben ser seleccionados antes de imprimir etiquetas" +msgstr "" #: templates/js/translated/label.js:79 templates/js/translated/label.js:133 #: templates/js/translated/label.js:191 msgid "No Labels Found" -msgstr "No se encontraron etiquetas" +msgstr "" #: templates/js/translated/label.js:80 msgid "No labels found which match selected stock item(s)" -msgstr "No se han encontrado etiquetas que coincidan con los artículos de stock seleccionado(s)" +msgstr "" #: templates/js/translated/label.js:115 msgid "Select Stock Locations" -msgstr "Seleccionar ubicaciones de stock" +msgstr "" #: templates/js/translated/label.js:116 msgid "Stock location(s) must be selected before printing labels" -msgstr "Las ubicación(es) del stock deben ser seleccionadas antes de imprimir etiquetas" +msgstr "" #: templates/js/translated/label.js:134 msgid "No labels found which match selected stock location(s)" -msgstr "No se encontraron etiquetas que coincidan con las ubicaciones de stock seleccionadas" +msgstr "" #: templates/js/translated/label.js:173 msgid "Part(s) must be selected before printing labels" -msgstr "Pieza(s) deben ser seleccionadas antes de imprimir etiquetas" +msgstr "" #: templates/js/translated/label.js:192 msgid "No labels found which match the selected part(s)" -msgstr "No se encontraron etiquetas que coincidan con la(s) parte(s) seleccionada(s)" +msgstr "" #: templates/js/translated/label.js:257 msgid "Select Printer" @@ -9570,11 +9575,11 @@ msgstr "" #: templates/js/translated/label.js:300 msgid "stock items selected" -msgstr "artículos de stock seleccionados" +msgstr "" #: templates/js/translated/label.js:308 templates/js/translated/label.js:325 msgid "Select Label Template" -msgstr "Seleccione Plantilla de Etiqueta" +msgstr "" #: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 #: templates/js/translated/modals.js:633 @@ -9585,77 +9590,77 @@ msgstr "Cancelar" #: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" -msgstr "Enviar" +msgstr "" #: templates/js/translated/modals.js:147 msgid "Form Title" -msgstr "Título del Formulario" +msgstr "" #: templates/js/translated/modals.js:428 msgid "Waiting for server..." -msgstr "Esperando al servidor..." +msgstr "" #: templates/js/translated/modals.js:575 msgid "Show Error Information" -msgstr "Mostrar Información de Error" +msgstr "" #: templates/js/translated/modals.js:632 msgid "Accept" -msgstr "Aceptar" +msgstr "" #: templates/js/translated/modals.js:690 msgid "Loading Data" -msgstr "Cargando Datos" +msgstr "" #: templates/js/translated/modals.js:961 msgid "Invalid response from server" -msgstr "Respuesta no válida del servidor" +msgstr "" #: templates/js/translated/modals.js:961 msgid "Form data missing from server response" -msgstr "Datos del formulario faltantes de la respuesta del servidor" +msgstr "" #: templates/js/translated/modals.js:973 msgid "Error posting form data" -msgstr "Error al publicar datos del formulario" +msgstr "" #: templates/js/translated/modals.js:1070 msgid "JSON response missing form data" -msgstr "Respuesta JSON faltan datos del formulario" +msgstr "" #: templates/js/translated/modals.js:1085 msgid "Error 400: Bad Request" -msgstr "Error 400: Solicitud Incorrecta" +msgstr "" #: templates/js/translated/modals.js:1086 msgid "Server returned error code 400" -msgstr "El servidor devolvió el código de error 400" +msgstr "" #: templates/js/translated/modals.js:1109 msgid "Error requesting form data" -msgstr "Error al solicitar datos del formulario" +msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "ID de Empresa" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" -msgstr "ID de Stock" - -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 -msgid "Order ID" -msgstr "ID del Pedido" +msgstr "" +#: templates/js/translated/model_renderers.js:291 #: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 -msgid "Shipment ID" -msgstr "ID de envío" +msgid "Order ID" +msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 +msgid "Shipment ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" -msgstr "ID de Parte del Fabricante" +msgstr "" #: templates/js/translated/news.js:24 msgid "No news found" @@ -9663,43 +9668,43 @@ msgstr "" #: templates/js/translated/notification.js:42 msgid "Age" -msgstr "Edad" +msgstr "" #: templates/js/translated/notification.js:216 msgid "Mark as unread" -msgstr "Marcar como no leído" +msgstr "" #: templates/js/translated/notification.js:220 msgid "Mark as read" -msgstr "Marcar como leído" +msgstr "" #: templates/js/translated/notification.js:245 msgid "No unread notifications" -msgstr "No hay notificaciones sin leer" +msgstr "" #: templates/js/translated/notification.js:287 templates/notifications.html:10 msgid "Notifications will load here" -msgstr "Las notificaciones cargarán aquí" +msgstr "" #: templates/js/translated/order.js:98 msgid "No stock items have been allocated to this shipment" -msgstr "No se ha asignado ningún artículo de stock a este envío" +msgstr "" #: templates/js/translated/order.js:103 msgid "The following stock items will be shipped" -msgstr "Los siguientes artículos de stock serán enviados" +msgstr "" #: templates/js/translated/order.js:143 msgid "Complete Shipment" -msgstr "Completar Envío" +msgstr "" #: templates/js/translated/order.js:163 msgid "Confirm Shipment" -msgstr "Confirmar Envío" +msgstr "" #: templates/js/translated/order.js:219 msgid "No pending shipments found" -msgstr "No se encontraron envíos pendientes" +msgstr "" #: templates/js/translated/order.js:223 msgid "No stock items have been allocated to pending shipments" @@ -9707,15 +9712,15 @@ msgstr "" #: templates/js/translated/order.js:255 msgid "Skip" -msgstr "Omitir" +msgstr "" #: templates/js/translated/order.js:285 msgid "Complete Purchase Order" -msgstr "Completar orden de compra" +msgstr "" #: templates/js/translated/order.js:302 templates/js/translated/order.js:414 msgid "Mark this order as complete?" -msgstr "Marcar pedido como completado?" +msgstr "" #: templates/js/translated/order.js:308 msgid "All line items have been received" @@ -9723,15 +9728,15 @@ msgstr "" #: templates/js/translated/order.js:313 msgid "This order has line items which have not been marked as received." -msgstr "Este pedido tiene artículos de línea que no han sido marcados como recibidos." +msgstr "" #: templates/js/translated/order.js:314 templates/js/translated/order.js:428 msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "Completar este pedido significa que los artículos de orden y línea ya no serán editables." +msgstr "" #: templates/js/translated/order.js:337 msgid "Cancel Purchase Order" -msgstr "Cancelar orden de compra" +msgstr "" #: templates/js/translated/order.js:342 msgid "Are you sure you wish to cancel this purchase order?" @@ -9747,7 +9752,7 @@ msgstr "" #: templates/js/translated/order.js:376 msgid "After placing this purchase order, line items will no longer be editable." -msgstr "Después de realizar esta orden de compra, los artículos de línea ya no serán editables." +msgstr "" #: templates/js/translated/order.js:427 msgid "This order has line items which have not been completed." @@ -9755,15 +9760,15 @@ msgstr "" #: templates/js/translated/order.js:451 msgid "Cancel Sales Order" -msgstr "" +msgstr "Cancelar Pedido de Entrega" #: templates/js/translated/order.js:456 msgid "Cancelling this order means that the order will no longer be editable." -msgstr "Cancelar esta orden significa que la orden ya no será editable." +msgstr "" #: templates/js/translated/order.js:510 msgid "Create New Shipment" -msgstr "Crear Nuevo Envío" +msgstr "" #: templates/js/translated/order.js:537 msgid "Add Customer" @@ -9771,7 +9776,7 @@ msgstr "Añadir Cliente" #: templates/js/translated/order.js:562 msgid "Create Sales Order" -msgstr "Crear Orden de Venta" +msgstr "Crear Pedido de Entrega" #: templates/js/translated/order.js:641 msgid "Select purchase order to duplicate" @@ -9795,7 +9800,7 @@ msgstr "" #: templates/js/translated/order.js:674 msgid "Edit Purchase Order" -msgstr "Modificar orden de compra" +msgstr "" #: templates/js/translated/order.js:691 msgid "Duplication Options" @@ -9803,7 +9808,7 @@ msgstr "" #: templates/js/translated/order.js:1025 msgid "Export Order" -msgstr "Exportar Orden" +msgstr "" #: templates/js/translated/order.js:1076 msgid "At least one purchaseable part must be selected" @@ -9835,11 +9840,11 @@ msgstr "" #: templates/js/translated/order.js:1501 msgid "Select Line Items" -msgstr "Seleccionar Artículos de Línea" +msgstr "" #: templates/js/translated/order.js:1502 msgid "At least one line item must be selected" -msgstr "Debe seleccionar al menos un elemento de línea" +msgstr "" #: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 msgid "Add batch code" @@ -9847,47 +9852,47 @@ msgstr "" #: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 msgid "Add serial numbers" -msgstr "Añadir números de serie" +msgstr "" #: templates/js/translated/order.js:1543 msgid "Received Quantity" -msgstr "Cantidad recibida" +msgstr "" #: templates/js/translated/order.js:1554 msgid "Quantity to receive" -msgstr "Cantidad a recibir" +msgstr "" #: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 msgid "Stock Status" -msgstr "Estado del Stock" +msgstr "" #: templates/js/translated/order.js:1711 msgid "Order Code" -msgstr "Código de Pedido" +msgstr "" #: templates/js/translated/order.js:1712 msgid "Ordered" -msgstr "Pedido" +msgstr "" #: templates/js/translated/order.js:1714 msgid "Quantity to Receive" -msgstr "Cantidad a recibir" +msgstr "" #: templates/js/translated/order.js:1737 msgid "Confirm receipt of items" -msgstr "Confirmar recepción de artículos" +msgstr "" #: templates/js/translated/order.js:1738 msgid "Receive Purchase Order Items" -msgstr "Recibir artículos de orden de compra" +msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" -msgstr "No se encontraron órdenes de compra" +msgstr "" #: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 msgid "Order is overdue" -msgstr "El pedido está vencido" +msgstr "" #: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 #: templates/js/translated/order.js:3053 @@ -9900,22 +9905,22 @@ msgstr "" #: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 msgid "Edit Line Item" -msgstr "Editar Ítem de Línea" +msgstr "" #: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 msgid "Delete Line Item" -msgstr "Eliminar Ítemde Línea" +msgstr "" #: templates/js/translated/order.js:2269 msgid "No line items found" -msgstr "No hay elementos de línea" +msgstr "" #: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 msgid "Total" msgstr "Total" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "Cantidad Total" @@ -9933,13 +9938,13 @@ msgid "Total Price" msgstr "Precio Total" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" -msgstr "Recibir ítem de línea" +msgstr "" #: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 msgid "Duplicate line item" @@ -9947,11 +9952,11 @@ msgstr "" #: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 msgid "Edit line item" -msgstr "Editar elemento de línea" +msgstr "" #: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 msgid "Delete line item" -msgstr "Eliminar elemento de línea" +msgstr "" #: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 msgid "Duplicate line" @@ -9959,31 +9964,31 @@ msgstr "" #: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 msgid "Edit line" -msgstr "Editar línea" +msgstr "" #: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 msgid "Delete line" -msgstr "Eliminar línea" +msgstr "" #: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 msgid "Duplicate Line" -msgstr "Duplicar línea" +msgstr "" #: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 msgid "Edit Line" -msgstr "Editar línea" +msgstr "" #: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 msgid "Delete Line" -msgstr "Eliminar línea" +msgstr "" #: templates/js/translated/order.js:2687 msgid "No matching line" -msgstr "No hay línea coincidente" +msgstr "" #: templates/js/translated/order.js:2798 msgid "No sales orders found" -msgstr "No se encontraron ventas" +msgstr "No se encontraron pedidos de entrega" #: templates/js/translated/order.js:2861 msgid "Invalid Customer" @@ -9991,27 +9996,27 @@ msgstr "Cliente Inválido" #: templates/js/translated/order.js:2959 msgid "Edit shipment" -msgstr "Editar envío" +msgstr "" #: templates/js/translated/order.js:2962 msgid "Complete shipment" -msgstr "Completar envío" +msgstr "" #: templates/js/translated/order.js:2967 msgid "Delete shipment" -msgstr "Eliminar envío" +msgstr "" #: templates/js/translated/order.js:2987 msgid "Edit Shipment" -msgstr "Editar envío" +msgstr "" #: templates/js/translated/order.js:3004 msgid "Delete Shipment" -msgstr "Eliminar Envío" +msgstr "" #: templates/js/translated/order.js:3038 msgid "No matching shipments found" -msgstr "No se encontraron envíos coincidentes" +msgstr "" #: templates/js/translated/order.js:3048 msgid "Shipment Reference" @@ -10019,43 +10024,43 @@ msgstr "Referencia de Envío" #: templates/js/translated/order.js:3072 msgid "Not shipped" -msgstr "No enviado" +msgstr "" #: templates/js/translated/order.js:3078 msgid "Tracking" -msgstr "Seguimiento" +msgstr "" #: templates/js/translated/order.js:3082 msgid "Invoice" -msgstr "Factura" +msgstr "" #: templates/js/translated/order.js:3251 msgid "Add Shipment" -msgstr "Añadir envío" +msgstr "" #: templates/js/translated/order.js:3302 msgid "Confirm stock allocation" -msgstr "Confirmar asignación de stock" +msgstr "" #: templates/js/translated/order.js:3303 msgid "Allocate Stock Items to Sales Order" -msgstr "Asignar artículos de stock a pedido de venta" +msgstr "Asignar Artículos de Stock a Pedido de Entrega" #: templates/js/translated/order.js:3511 msgid "No sales order allocations found" -msgstr "No se encontraron asignaciones de órdenes" +msgstr "No se encontraron asignaciones de pedidos de entrega" #: templates/js/translated/order.js:3590 msgid "Edit Stock Allocation" -msgstr "Editar Asignación de Stock" +msgstr "" #: templates/js/translated/order.js:3607 msgid "Confirm Delete Operation" -msgstr "Confirmar Operación de Eliminar" +msgstr "" #: templates/js/translated/order.js:3608 msgid "Delete Stock Allocation" -msgstr "Eliminar Adjudicación de Stock" +msgstr "" #: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 #: templates/js/translated/stock.js:1648 @@ -10064,362 +10069,366 @@ msgstr "Enviado al cliente" #: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 msgid "Stock location not specified" -msgstr "Ubicación de stock no especificada" +msgstr "" #: templates/js/translated/order.js:4049 msgid "Allocate serial numbers" -msgstr "Asignar números de serie" +msgstr "" #: templates/js/translated/order.js:4055 msgid "Purchase stock" -msgstr "Comprar stock" +msgstr "" #: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 msgid "Calculate price" -msgstr "Calcular precio" +msgstr "" #: templates/js/translated/order.js:4074 msgid "Cannot be deleted as items have been shipped" -msgstr "No se puede eliminar ya que los artículos han sido enviados" +msgstr "" #: templates/js/translated/order.js:4077 msgid "Cannot be deleted as items have been allocated" -msgstr "No se puede eliminar ya que los elementos han sido asignados" +msgstr "" #: templates/js/translated/order.js:4159 msgid "Allocate Serial Numbers" -msgstr "Asignar Números de Serie" +msgstr "" #: templates/js/translated/order.js:4268 msgid "Update Unit Price" -msgstr "Actualizar Precio Unitario" +msgstr "Actualizar Precio por Unidad" #: templates/js/translated/order.js:4282 msgid "No matching line items" -msgstr "No hay elementos de línea coincidentes" +msgstr "" #: templates/js/translated/order.js:4497 msgid "No matching lines" -msgstr "No hay líneas coincidentes" +msgstr "" #: templates/js/translated/part.js:56 msgid "Part Attributes" -msgstr "Atributos de Parte" +msgstr "" #: templates/js/translated/part.js:60 msgid "Part Creation Options" -msgstr "Opciones de Creación de Parte" +msgstr "" #: templates/js/translated/part.js:64 msgid "Part Duplication Options" -msgstr "Opciones de Duplicación de Parte" +msgstr "" #: templates/js/translated/part.js:87 msgid "Add Part Category" -msgstr "Añadir Categoría de Parte" +msgstr "Añadir Categoría de Pieza" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" -msgstr "Copiar Parámetros de Categoría" - -#: templates/js/translated/part.js:211 -msgid "Copy parameter templates from selected part category" -msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" - -#: templates/js/translated/part.js:250 -msgid "Parent part category" -msgstr "Categoría superior de parte" - -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 -msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 -msgid "Edit Part Category" -msgstr "Editar Categoría de Parte" +#: templates/js/translated/part.js:214 +msgid "Copy parameter templates from selected part category" +msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:253 +msgid "Parent part category" +msgstr "Categoría superior de pieza" + +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +msgid "Icon (optional) - Explore all available icons on" +msgstr "Icono (opcional) - Explora todos los iconos disponibles en" + +#: templates/js/translated/part.js:284 +msgid "Edit Part Category" +msgstr "" + +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" -msgstr "Mover a la categoría padre" +msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" -msgstr "Eliminar Categoría de Parte" +msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 -msgid "Create Part" -msgstr "Crear Parte" - -#: templates/js/translated/part.js:343 -msgid "Create another part after this one" -msgstr "" - #: templates/js/translated/part.js:344 +msgid "Create Part" +msgstr "Crear Pieza" + +#: templates/js/translated/part.js:346 +msgid "Create another part after this one" +msgstr "Crear otra pieza después de esta" + +#: templates/js/translated/part.js:347 msgid "Part created successfully" +msgstr "Pieza creada con éxito" + +#: templates/js/translated/part.js:375 +msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:372 -msgid "Edit Part" -msgstr "Editar Parte" - -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" -msgstr "Parte editada" +msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" -msgstr "Crear Variante de Parte" +msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" -msgstr "Parte activa" +msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" -msgstr "Estás suscrito a las notificaciones de este elemento" +msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" -msgstr "Te has suscrito a las notificaciones de este elemento" +msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" -msgstr "Suscríbete a las notificaciones de este elemento" +msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" -msgstr "Has cancelado la suscripción a las notificaciones de este elemento" +msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" -msgstr "Validar el BOM marcará cada elemento de línea como válido" - -#: templates/js/translated/part.js:535 -msgid "Validate Bill of Materials" -msgstr "Validar la Factura de Materiales" +msgstr "" #: templates/js/translated/part.js:538 +msgid "Validate Bill of Materials" +msgstr "" + +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" -msgstr "Validación de Lista de Materiales" +msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" -msgstr "Copiar Factura de Materiales" +msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "Stock bajo" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" +msgstr "Existencias no disponibles" + +#: templates/js/translated/part.js:623 +msgid "Unit" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" -msgstr "Parte Rastreable" +msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" -msgstr "Parte virtual" +msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" -msgstr "Parte suscrita" +msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" -msgstr "Pieza vendible" - -#: templates/js/translated/part.js:736 -msgid "Stock item has not been checked recently" msgstr "" #: templates/js/translated/part.js:744 +msgid "Stock item has not been checked recently" +msgstr "" + +#: templates/js/translated/part.js:752 msgid "Update item" -msgstr "Actualizar elemento" +msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" -msgstr "Eliminar elemento" +msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" -msgstr "No se encontraron variantes" - -#: templates/js/translated/part.js:1482 -msgid "Delete part relationship" -msgstr "Eliminar relación de parte" - -#: templates/js/translated/part.js:1506 -msgid "Delete Part Relationship" -msgstr "Eliminar Relación de Parte" - -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 -msgid "No parts found" -msgstr "No se encontraron partes" - -#: templates/js/translated/part.js:1767 -msgid "No category" -msgstr "Sin categoría" - -#: templates/js/translated/part.js:1798 -msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1490 +msgid "Delete part relationship" +msgstr "" + +#: templates/js/translated/part.js:1514 +msgid "Delete Part Relationship" +msgstr "" + +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +msgid "No parts found" +msgstr "" + +#: templates/js/translated/part.js:1775 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:1806 +msgid "No stock" +msgstr "Sin Stock" + +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" -msgstr "" +msgstr "Asignado a pedidos" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "Mostrar como lista" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "Mostrar como cuadrícula" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" -msgstr "Definir Categoría de Parte" +msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "Mostrar como árbol" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" -msgstr "Cargar subcategorías" +msgstr "Cargar Subcategorías" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" -msgstr "Categoría suscrita" +msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" -msgstr "No hay plantillas de prueba que coincidan con la consulta" +msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" -msgstr "Editar resultado de prueba" +msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" -msgstr "Eliminar resultado de prueba" +msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" -msgstr "Esta prueba está definida para una parte principal" +msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" -msgstr "Editar plantilla de resultado de prueba" +msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" -msgstr "Eliminar plantilla de resultados de prueba" +msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" -msgstr "Sin fecha especificada" +msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" -msgstr "Especulativo" +msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" -msgstr "" +msgstr "No hay información de precios disponible para esta pieza" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" -msgstr "" +msgstr "Error obteniendo información de programación de esta pieza" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" -msgstr "Cantidad máxima" +msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" -msgstr "El Plugin fue Instalado" +msgstr "" #: templates/js/translated/pricing.js:143 msgid "Error fetching currency data" @@ -10440,12 +10449,12 @@ msgstr "" #: templates/js/translated/pricing.js:602 #, python-brace-format msgid "Edit ${human_name}" -msgstr "Editar ${human_name}" +msgstr "" #: templates/js/translated/pricing.js:603 #, python-brace-format msgid "Delete ${human_name}" -msgstr "Eliminar ${human_name}" +msgstr "" #: templates/js/translated/pricing.js:721 msgid "No purchase history data available" @@ -10469,105 +10478,105 @@ msgstr "" #: templates/js/translated/pricing.js:994 msgid "Variant Part" -msgstr "Parte variante" +msgstr "" #: templates/js/translated/report.js:67 msgid "items selected" -msgstr "ítems seleccionados" +msgstr "" #: templates/js/translated/report.js:75 msgid "Select Report Template" -msgstr "Seleccionar Plantilla de Informe" +msgstr "" #: templates/js/translated/report.js:90 msgid "Select Test Report Template" -msgstr "Seleccione Plantilla de Informe de Prueba" +msgstr "" #: templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" -msgstr "Elemento(s) de stock deben ser seleccionados antes de imprimir informes" +msgstr "" #: templates/js/translated/report.js:136 templates/js/translated/report.js:189 #: templates/js/translated/report.js:243 templates/js/translated/report.js:297 #: templates/js/translated/report.js:351 msgid "No Reports Found" -msgstr "No se Encontraron Informes" +msgstr "" #: templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" -msgstr "No se encontraron plantillas de informe que coincidan con los artículos de stock seleccionados" +msgstr "" #: templates/js/translated/report.js:172 msgid "Select Builds" -msgstr "Seleccionar construcciones" +msgstr "" #: templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" -msgstr "Construccion(es) deben ser seleccionadas antes de imprimir informes" +msgstr "" #: templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" -msgstr "No se encontraron plantillas de informe que coincidan con la construcción(es) seleccionadas" +msgstr "" #: templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" -msgstr "Pieza(s) deben ser seleccionadas antes de imprimir informes" +msgstr "" #: templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" -msgstr "No se encontraron plantillas de informe que coincidan con la(s) parte(s) seleccionada(s)" +msgstr "" #: templates/js/translated/report.js:279 msgid "Select Purchase Orders" -msgstr "Seleccionar órdenes de compra" +msgstr "" #: templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" -msgstr "Pedido(s) de compra debe ser seleccionado antes de imprimir informe" +msgstr "" #: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" -msgstr "No se encontraron plantillas de informe que coincidan con los pedidos seleccionados" +msgstr "" #: templates/js/translated/report.js:333 msgid "Select Sales Orders" -msgstr "Seleccionar Pedidos de Venta" +msgstr "Seleccionar Pedidos de Entrega" #: templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" -msgstr "Pedido(s) de venta debe ser seleccionado antes de imprimir el informe" +msgstr "Algún Pedido(s) de Entrega debe ser seleccionado antes de imprimir el informe" #: templates/js/translated/search.js:410 msgid "Minimize results" -msgstr "Minimizar resultados" +msgstr "" #: templates/js/translated/search.js:413 msgid "Remove results" -msgstr "Eliminar resultados" +msgstr "" #: templates/js/translated/stock.js:73 msgid "Serialize Stock Item" -msgstr "Serializar Artículo de Stock" +msgstr "" #: templates/js/translated/stock.js:104 msgid "Confirm Stock Serialization" -msgstr "Confirmar Serialización de Stock" +msgstr "" #: templates/js/translated/stock.js:113 msgid "Parent stock location" -msgstr "Ubicación del stock principal" +msgstr "" #: templates/js/translated/stock.js:147 msgid "Edit Stock Location" -msgstr "Editar ubicación de stock" +msgstr "" #: templates/js/translated/stock.js:162 msgid "New Stock Location" -msgstr "Nueva Ubicación de Stock" +msgstr "" #: templates/js/translated/stock.js:176 msgid "Are you sure you want to delete this stock location?" -msgstr "¿Está seguro que desea eliminar esta ubicación?" +msgstr "" #: templates/js/translated/stock.js:183 msgid "Move to parent stock location" @@ -10575,7 +10584,7 @@ msgstr "" #: templates/js/translated/stock.js:192 msgid "Delete Stock Location" -msgstr "Eliminar ubicación de stock" +msgstr "" #: templates/js/translated/stock.js:196 msgid "Action for stock items in this stock location" @@ -10587,15 +10596,15 @@ msgstr "" #: templates/js/translated/stock.js:255 msgid "This part cannot be serialized" -msgstr "Esta parte no se puede serializar" +msgstr "" #: templates/js/translated/stock.js:297 msgid "Enter initial quantity for this stock item" -msgstr "Introduzca la cantidad inicial para este artículo de stock" +msgstr "" #: templates/js/translated/stock.js:303 msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "Introduzca números de serie para el nuevo stock (o deje en blanco)" +msgstr "" #: templates/js/translated/stock.js:368 msgid "Stock item duplicated" @@ -10603,51 +10612,51 @@ msgstr "" #: templates/js/translated/stock.js:388 msgid "Duplicate Stock Item" -msgstr "Duplicar artículo de stock" +msgstr "" #: templates/js/translated/stock.js:404 msgid "Are you sure you want to delete this stock item?" -msgstr "¿Está seguro que desea eliminar este elemento de stock?" +msgstr "" #: templates/js/translated/stock.js:409 msgid "Delete Stock Item" -msgstr "Eliminar elemento de stock" +msgstr "" #: templates/js/translated/stock.js:430 msgid "Edit Stock Item" -msgstr "Editar artículo de stock" +msgstr "" #: templates/js/translated/stock.js:480 msgid "Created new stock item" -msgstr "Crear nuevo artículo de stock" +msgstr "" #: templates/js/translated/stock.js:493 msgid "Created multiple stock items" -msgstr "Creados varios artículos de stock" +msgstr "" #: templates/js/translated/stock.js:518 msgid "Find Serial Number" -msgstr "Encontrar número serial" +msgstr "" #: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 msgid "Enter serial number" -msgstr "Introducir número de serie" +msgstr "" #: templates/js/translated/stock.js:539 msgid "Enter a serial number" -msgstr "Introducir un número de serie" +msgstr "" #: templates/js/translated/stock.js:559 msgid "No matching serial number" -msgstr "Ningún número de serie coincidente" +msgstr "" #: templates/js/translated/stock.js:568 msgid "More than one matching result found" -msgstr "Más de un resultado encontrado" +msgstr "" #: templates/js/translated/stock.js:691 msgid "Confirm stock assignment" -msgstr "Confirmar asignación de stock" +msgstr "" #: templates/js/translated/stock.js:692 msgid "Assign Stock to Customer" @@ -10655,139 +10664,139 @@ msgstr "Asignar Stock al Cliente" #: templates/js/translated/stock.js:769 msgid "Warning: Merge operation cannot be reversed" -msgstr "Advertencia: La operación de fusión no puede ser revertida" +msgstr "" #: templates/js/translated/stock.js:770 msgid "Some information will be lost when merging stock items" -msgstr "Alguna información se perderá al combinar artículos de stock" +msgstr "" #: templates/js/translated/stock.js:772 msgid "Stock transaction history will be deleted for merged items" -msgstr "Se eliminará el historial de transacciones de stock para elementos fusionados" +msgstr "" #: templates/js/translated/stock.js:773 msgid "Supplier part information will be deleted for merged items" -msgstr "La información de la pieza del proveedor se eliminará para los artículos fusionados" +msgstr "" #: templates/js/translated/stock.js:862 msgid "Confirm stock item merge" -msgstr "Confirmar fusión de artículos de stock" +msgstr "" #: templates/js/translated/stock.js:863 msgid "Merge Stock Items" -msgstr "Fusionar Artículos de Stock" +msgstr "" #: templates/js/translated/stock.js:958 msgid "Transfer Stock" -msgstr "Transferir Stock" +msgstr "" #: templates/js/translated/stock.js:959 msgid "Move" -msgstr "Mover" +msgstr "" #: templates/js/translated/stock.js:965 msgid "Count Stock" -msgstr "Contar Stock" +msgstr "" #: templates/js/translated/stock.js:966 msgid "Count" -msgstr "Contar" +msgstr "" #: templates/js/translated/stock.js:970 msgid "Remove Stock" -msgstr "Eliminar Stock" +msgstr "" #: templates/js/translated/stock.js:971 msgid "Take" -msgstr "Tomar" +msgstr "" #: templates/js/translated/stock.js:975 msgid "Add Stock" -msgstr "Añadir Stock" +msgstr "" #: templates/js/translated/stock.js:976 users/models.py:221 msgid "Add" -msgstr "Añadir" +msgstr "" #: templates/js/translated/stock.js:980 msgid "Delete Stock" -msgstr "Eliminar Stock" +msgstr "" #: templates/js/translated/stock.js:1073 msgid "Quantity cannot be adjusted for serialized stock" -msgstr "La cantidad no se puede ajustar para el stock serializado" +msgstr "" #: templates/js/translated/stock.js:1073 msgid "Specify stock quantity" -msgstr "Especificar cantidad de stock" +msgstr "" #: templates/js/translated/stock.js:1113 msgid "You must select at least one available stock item" -msgstr "Debe seleccionar al menos un artículo de stock disponible" +msgstr "" #: templates/js/translated/stock.js:1140 msgid "Confirm stock adjustment" -msgstr "Confirmar ajuste de stock" +msgstr "" #: templates/js/translated/stock.js:1276 msgid "PASS" -msgstr "PASA" +msgstr "" #: templates/js/translated/stock.js:1278 msgid "FAIL" -msgstr "FALLO" +msgstr "" #: templates/js/translated/stock.js:1283 msgid "NO RESULT" -msgstr "SIN RESULTADO" +msgstr "" #: templates/js/translated/stock.js:1330 msgid "Pass test" -msgstr "Pruebas pasadas" +msgstr "" #: templates/js/translated/stock.js:1333 msgid "Add test result" -msgstr "Añadir resultado de prueba" +msgstr "" #: templates/js/translated/stock.js:1359 msgid "No test results found" -msgstr "No se encontraron resultados de prueba" +msgstr "" #: templates/js/translated/stock.js:1423 msgid "Test Date" -msgstr "Fecha de Prueba" +msgstr "" #: templates/js/translated/stock.js:1589 msgid "Edit Test Result" -msgstr "Editar Resultados de Prueba" +msgstr "" #: templates/js/translated/stock.js:1611 msgid "Delete Test Result" -msgstr "Borrar Resultado de Prueba" +msgstr "" #: templates/js/translated/stock.js:1640 msgid "In production" -msgstr "En producción" +msgstr "" #: templates/js/translated/stock.js:1644 msgid "Installed in Stock Item" -msgstr "Instalado en el artículo de stock" +msgstr "" #: templates/js/translated/stock.js:1652 msgid "Assigned to Sales Order" -msgstr "Asignado a la Orden de Venta" +msgstr "Asignado al Pedido de Entrega" #: templates/js/translated/stock.js:1658 msgid "No stock location set" -msgstr "Ninguna ubicación de stock establecida" +msgstr "" #: templates/js/translated/stock.js:1823 msgid "Stock item is in production" -msgstr "El artículo de stock está en producción" +msgstr "" #: templates/js/translated/stock.js:1828 msgid "Stock item assigned to sales order" -msgstr "Artículo de stock asignado al pedido de venta" +msgstr "Artículo de stock asignado al pedido de entrega" #: templates/js/translated/stock.js:1831 msgid "Stock item assigned to customer" @@ -10795,64 +10804,64 @@ msgstr "Artículo de stock asignado al cliente" #: templates/js/translated/stock.js:1834 msgid "Serialized stock item has been allocated" -msgstr "Se ha asignado un artículo de stock serializado" +msgstr "" #: templates/js/translated/stock.js:1836 msgid "Stock item has been fully allocated" -msgstr "Artículo de stock ha sido completamente asignado" +msgstr "" #: templates/js/translated/stock.js:1838 msgid "Stock item has been partially allocated" -msgstr "Artículo de stock ha sido asignado parcialmente" +msgstr "" #: templates/js/translated/stock.js:1841 msgid "Stock item has been installed in another item" -msgstr "Artículo de stock ha sido instalado en otro artículo" +msgstr "" #: templates/js/translated/stock.js:1845 msgid "Stock item has expired" -msgstr "Artículo de stock ha caducado" +msgstr "" #: templates/js/translated/stock.js:1847 msgid "Stock item will expire soon" -msgstr "El artículo de stock caducará pronto" +msgstr "" #: templates/js/translated/stock.js:1854 msgid "Stock item has been rejected" -msgstr "Artículo de stock ha sido rechazado" +msgstr "" #: templates/js/translated/stock.js:1856 msgid "Stock item is lost" -msgstr "Artículo de stock perdido" +msgstr "" #: templates/js/translated/stock.js:1858 msgid "Stock item is destroyed" -msgstr "Artículo de stock destruido" +msgstr "" #: templates/js/translated/stock.js:1862 #: templates/js/translated/table_filters.js:216 msgid "Depleted" -msgstr "Agotado" +msgstr "" #: templates/js/translated/stock.js:1992 msgid "Supplier part not specified" -msgstr "Parte del proveedor no especificada" +msgstr "" #: templates/js/translated/stock.js:2029 msgid "No stock items matching query" -msgstr "No hay artículos de stock que coincidan con la consulta" +msgstr "" #: templates/js/translated/stock.js:2202 msgid "Set Stock Status" -msgstr "Establecer estado de stock" +msgstr "" #: templates/js/translated/stock.js:2216 msgid "Select Status Code" -msgstr "Seleccionar Código de Estado" +msgstr "" #: templates/js/translated/stock.js:2217 msgid "Status code must be selected" -msgstr "Debe seleccionar el código de estado" +msgstr "" #: templates/js/translated/stock.js:2449 msgid "Load Subloactions" @@ -10860,7 +10869,7 @@ msgstr "" #: templates/js/translated/stock.js:2544 msgid "Details" -msgstr "Detalles" +msgstr "" #: templates/js/translated/stock.js:2560 msgid "Part information unavailable" @@ -10868,11 +10877,11 @@ msgstr "" #: templates/js/translated/stock.js:2582 msgid "Location no longer exists" -msgstr "Ubicación ya no existe" +msgstr "" #: templates/js/translated/stock.js:2601 msgid "Purchase order no longer exists" -msgstr "La orden de compra ya no existe" +msgstr "" #: templates/js/translated/stock.js:2620 msgid "Customer no longer exists" @@ -10880,23 +10889,23 @@ msgstr "El cliente ya no existe" #: templates/js/translated/stock.js:2638 msgid "Stock item no longer exists" -msgstr "Artículo de stock ya no existe" +msgstr "" #: templates/js/translated/stock.js:2661 msgid "Added" -msgstr "Añadido" +msgstr "" #: templates/js/translated/stock.js:2669 msgid "Removed" -msgstr "Eliminado" +msgstr "" #: templates/js/translated/stock.js:2745 msgid "No installed items" -msgstr "Ningún elemento instalado" +msgstr "" #: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 msgid "Uninstall Stock Item" -msgstr "Desinstalar elemento de stock" +msgstr "" #: templates/js/translated/stock.js:2848 msgid "Select stock item to uninstall" @@ -10908,7 +10917,7 @@ msgstr "" #: templates/js/translated/stock.js:2870 msgid "Stock items can only be installed if they meet the following criteria" -msgstr "Los artículos de stock sólo pueden ser instalados si cumplen con los siguientes criterios" +msgstr "" #: templates/js/translated/stock.js:2872 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" @@ -10932,11 +10941,11 @@ msgstr "" #: templates/js/translated/table_filters.js:56 msgid "Trackable Part" -msgstr "Parte Rastreable" +msgstr "" #: templates/js/translated/table_filters.js:60 msgid "Assembled Part" -msgstr "Parte Ensamblada" +msgstr "" #: templates/js/translated/table_filters.js:64 msgid "Has Available Stock" @@ -10944,11 +10953,11 @@ msgstr "" #: templates/js/translated/table_filters.js:72 msgid "Validated" -msgstr "Validado" +msgstr "" #: templates/js/translated/table_filters.js:80 msgid "Allow Variant Stock" -msgstr "Permitir stock de variante" +msgstr "" #: templates/js/translated/table_filters.js:92 #: templates/js/translated/table_filters.js:528 @@ -10962,125 +10971,125 @@ msgstr "Incluir sub-ubicación" #: templates/js/translated/table_filters.js:131 msgid "Include locations" -msgstr "Incluir ubicaciones" +msgstr "" #: templates/js/translated/table_filters.js:145 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:465 msgid "Include subcategories" -msgstr "Incluir subcategorías" +msgstr "Incluir subcategorias" #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:508 msgid "Subscribed" -msgstr "Suscrito" +msgstr "" #: templates/js/translated/table_filters.js:164 #: templates/js/translated/table_filters.js:246 msgid "Is Serialized" -msgstr "Es Serializado" +msgstr "" #: templates/js/translated/table_filters.js:167 #: templates/js/translated/table_filters.js:253 msgid "Serial number GTE" -msgstr "Número Serial GTE" +msgstr "" #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:254 msgid "Serial number greater than or equal to" -msgstr "Número de serie mayor o igual a" +msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 msgid "Serial number LTE" -msgstr "Número Serial LTE" +msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 msgid "Serial number less than or equal to" -msgstr "Número de serie menor o igual que" +msgstr "" #: templates/js/translated/table_filters.js:175 #: templates/js/translated/table_filters.js:176 #: templates/js/translated/table_filters.js:249 #: templates/js/translated/table_filters.js:250 msgid "Serial number" -msgstr "Número de serie" +msgstr "" #: templates/js/translated/table_filters.js:180 #: templates/js/translated/table_filters.js:271 msgid "Batch code" -msgstr "Código de lote" +msgstr "" #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:437 msgid "Active parts" -msgstr "Partes activas" +msgstr "" #: templates/js/translated/table_filters.js:192 msgid "Show stock for active parts" -msgstr "Mostrar stock para las partes activas" +msgstr "" #: templates/js/translated/table_filters.js:197 msgid "Part is an assembly" -msgstr "Parte es un ensamblado" +msgstr "" #: templates/js/translated/table_filters.js:201 msgid "Is allocated" -msgstr "Está asignado" +msgstr "" #: templates/js/translated/table_filters.js:202 msgid "Item has been allocated" -msgstr "El artículo ha sido asignado" +msgstr "" #: templates/js/translated/table_filters.js:207 msgid "Stock is available for use" -msgstr "Stock disponible para uso" +msgstr "" #: templates/js/translated/table_filters.js:212 msgid "Include stock in sublocations" -msgstr "Incluye stock en sub-ubicaciones" +msgstr "" #: templates/js/translated/table_filters.js:217 msgid "Show stock items which are depleted" -msgstr "Mostrar artículos de stock que están agotados" +msgstr "" #: templates/js/translated/table_filters.js:222 msgid "Show items which are in stock" -msgstr "Mostrar elementos en stock" +msgstr "" #: templates/js/translated/table_filters.js:226 msgid "In Production" -msgstr "En Producción" +msgstr "" #: templates/js/translated/table_filters.js:227 msgid "Show items which are in production" -msgstr "Mostrar artículos que están en producción" +msgstr "" #: templates/js/translated/table_filters.js:231 msgid "Include Variants" -msgstr "Incluye Variantes" +msgstr "" #: templates/js/translated/table_filters.js:232 msgid "Include stock items for variant parts" -msgstr "Incluye artículos de stock para partes de variantes" +msgstr "" #: templates/js/translated/table_filters.js:236 msgid "Installed" -msgstr "Instalado" +msgstr "" #: templates/js/translated/table_filters.js:237 msgid "Show stock items which are installed in another item" -msgstr "Mostrar elementos de stock que están instalados en otro artículo" +msgstr "" #: templates/js/translated/table_filters.js:242 msgid "Show items which have been assigned to a customer" -msgstr "Mostrar elementos que han sido asignados a un cliente" +msgstr "Mostrar artículos que han sido asignados a un cliente" #: templates/js/translated/table_filters.js:262 #: templates/js/translated/table_filters.js:263 msgid "Stock status" -msgstr "Estado del stock" +msgstr "" #: templates/js/translated/table_filters.js:266 msgid "Has batch code" @@ -11096,11 +11105,11 @@ msgstr "" #: templates/js/translated/table_filters.js:280 msgid "Has purchase price" -msgstr "Tiene precio de compra" +msgstr "" #: templates/js/translated/table_filters.js:281 msgid "Show stock items which have a purchase price set" -msgstr "Mostrar artículos de stock que tienen un precio de compra establecido" +msgstr "" #: templates/js/translated/table_filters.js:285 msgid "Expiry Date before" @@ -11112,11 +11121,11 @@ msgstr "" #: templates/js/translated/table_filters.js:298 msgid "Show stock items which have expired" -msgstr "Mostrar artículos de stock que han caducado" +msgstr "" #: templates/js/translated/table_filters.js:304 msgid "Show stock which is close to expiring" -msgstr "Mostrar stock que está cerca de caducar" +msgstr "" #: templates/js/translated/table_filters.js:316 msgid "Test Passed" @@ -11128,32 +11137,32 @@ msgstr "" #: templates/js/translated/table_filters.js:339 msgid "Build status" -msgstr "Estado de la construcción" +msgstr "" #: templates/js/translated/table_filters.js:352 #: templates/js/translated/table_filters.js:393 msgid "Assigned to me" -msgstr "Asignado a mí" +msgstr "" #: templates/js/translated/table_filters.js:369 #: templates/js/translated/table_filters.js:380 #: templates/js/translated/table_filters.js:410 msgid "Order status" -msgstr "Estado del pedido" +msgstr "" #: templates/js/translated/table_filters.js:385 #: templates/js/translated/table_filters.js:402 #: templates/js/translated/table_filters.js:415 msgid "Outstanding" -msgstr "Pendiente" +msgstr "" #: templates/js/translated/table_filters.js:466 msgid "Include parts in subcategories" -msgstr "Incluye partes en subcategorías" +msgstr "Incluir piezas en subcategorías" #: templates/js/translated/table_filters.js:471 msgid "Show active parts" -msgstr "Mostrar partes activas" +msgstr "" #: templates/js/translated/table_filters.js:479 msgid "Available stock" @@ -11161,19 +11170,19 @@ msgstr "" #: templates/js/translated/table_filters.js:487 msgid "Has IPN" -msgstr "Tiene IPN" +msgstr "" #: templates/js/translated/table_filters.js:488 msgid "Part has internal part number" -msgstr "La parte tiene número de pieza interno" +msgstr "" #: templates/js/translated/table_filters.js:492 msgid "In stock" -msgstr "" +msgstr "En stock" #: templates/js/translated/table_filters.js:500 msgid "Purchasable" -msgstr "Comprable" +msgstr "" #: templates/js/translated/table_filters.js:512 msgid "Has stocktake entries" @@ -11189,7 +11198,7 @@ msgstr "Mostrar vista de lista" #: templates/js/translated/tables.js:90 msgid "Display tree view" -msgstr "" +msgstr "Mostrar vista de árbol" #: templates/js/translated/tables.js:142 msgid "Export Table Data" @@ -11201,7 +11210,7 @@ msgstr "" #: templates/js/translated/tables.js:501 msgid "Loading data" -msgstr "Cargando datos" +msgstr "" #: templates/js/translated/tables.js:504 msgid "rows per page" @@ -11209,7 +11218,7 @@ msgstr "filas por página" #: templates/js/translated/tables.js:509 msgid "Showing all rows" -msgstr "Mostrar todas las filas" +msgstr "Mostrando todas las filas" #: templates/js/translated/tables.js:511 msgid "Showing" @@ -11217,7 +11226,7 @@ msgstr "Mostrando" #: templates/js/translated/tables.js:511 msgid "to" -msgstr "para" +msgstr "hasta" #: templates/js/translated/tables.js:511 msgid "of" @@ -11231,19 +11240,19 @@ msgstr "filas" #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" -msgstr "Buscar" +msgstr "" #: templates/js/translated/tables.js:518 msgid "No matching results" -msgstr "No se encontraron resultados" +msgstr "" #: templates/js/translated/tables.js:521 msgid "Hide/Show pagination" -msgstr "Ocultar/Mostrar paginación" +msgstr "" #: templates/js/translated/tables.js:527 msgid "Toggle" -msgstr "Alternar" +msgstr "" #: templates/js/translated/tables.js:530 msgid "Columns" @@ -11251,15 +11260,15 @@ msgstr "Columnas" #: templates/js/translated/tables.js:533 msgid "All" -msgstr "Todo" +msgstr "" #: templates/navbar.html:45 msgid "Buy" -msgstr "Comprar" +msgstr "" #: templates/navbar.html:57 msgid "Sell" -msgstr "Vender" +msgstr "Entrega" #: templates/navbar.html:116 msgid "Show Notifications" @@ -11267,59 +11276,59 @@ msgstr "" #: templates/navbar.html:119 msgid "New Notifications" -msgstr "Notificaciones nuevas" +msgstr "" #: templates/navbar.html:137 users/models.py:36 msgid "Admin" -msgstr "Admin" +msgstr "" #: templates/navbar.html:140 msgid "Logout" -msgstr "Cerrar sesión" +msgstr "" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "Guardar" +msgstr "" #: templates/notifications.html:13 msgid "Show all notifications and history" -msgstr "Mostrar todas las notificaciones y el historial" +msgstr "" #: templates/price_data.html:7 msgid "No data" -msgstr "Sin datos" +msgstr "" #: templates/qr_code.html:11 msgid "QR data not provided" -msgstr "Datos QR no proporcionados" +msgstr "" #: templates/registration/logged_out.html:6 msgid "You were logged out successfully." -msgstr "Se ha cerrado la sesión correctamente." +msgstr "" #: templates/registration/logged_out.html:8 msgid "Log in again" -msgstr "Volver a ingresar" +msgstr "" #: templates/search.html:9 msgid "Show full search results" -msgstr "Mostrar resultados completos de búsqueda" +msgstr "" #: templates/search.html:12 msgid "Clear search" -msgstr "Borrar búsqueda" +msgstr "" #: templates/search.html:16 msgid "Filter results" -msgstr "Filtrar resultados" +msgstr "" #: templates/search.html:20 msgid "Close search menu" -msgstr "Cerrar menú de búsqueda" +msgstr "" #: templates/search.html:35 msgid "No search results" -msgstr "Búsqueda sin resultados" +msgstr "" #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" @@ -11359,7 +11368,7 @@ msgstr "" #: templates/socialaccount/login.html:19 msgid "Continue" -msgstr "Continuar" +msgstr "" #: templates/socialaccount/signup.html:10 #, python-format @@ -11369,185 +11378,185 @@ msgstr "" #: templates/stats.html:9 msgid "Server" -msgstr "Servidor" +msgstr "" #: templates/stats.html:13 msgid "Instance Name" -msgstr "Nombre de Instancia" +msgstr "" #: templates/stats.html:18 msgid "Database" -msgstr "Base de datos" +msgstr "" #: templates/stats.html:26 msgid "Server is running in debug mode" -msgstr "El servidor se está ejecutando en modo depuración" +msgstr "" #: templates/stats.html:33 msgid "Docker Mode" -msgstr "Modo Docker" +msgstr "" #: templates/stats.html:34 msgid "Server is deployed using docker" -msgstr "El servidor está desplegado usando docker" +msgstr "" #: templates/stats.html:39 msgid "Plugin Support" -msgstr "Soporte para Plugins" +msgstr "" #: templates/stats.html:43 msgid "Plugin support enabled" -msgstr "Soporte de plugins habilitado" +msgstr "" #: templates/stats.html:45 msgid "Plugin support disabled" -msgstr "Soporte de plugins desactivado" +msgstr "" #: templates/stats.html:52 msgid "Server status" -msgstr "Estado del servidor" +msgstr "" #: templates/stats.html:55 msgid "Healthy" -msgstr "Saludable" +msgstr "" #: templates/stats.html:57 msgid "Issues detected" -msgstr "Problemas detectados" +msgstr "" #: templates/stats.html:64 msgid "Background Worker" -msgstr "Trabajador en segundo plano" +msgstr "" #: templates/stats.html:67 msgid "Background worker not running" -msgstr "Trabajador en segundo plano no ejecutado" +msgstr "" #: templates/stats.html:75 msgid "Email Settings" -msgstr "Configuración de Email" +msgstr "" #: templates/stats.html:78 msgid "Email settings not configured" -msgstr "Configuración de correo no configurada" +msgstr "" #: templates/stock_table.html:17 msgid "Barcode Actions" -msgstr "Acciones de código de barras" +msgstr "" #: templates/stock_table.html:33 msgid "Print test reports" -msgstr "Imprimir informes de prueba" +msgstr "" #: templates/stock_table.html:40 msgid "Stock Options" -msgstr "Opciones Stock" +msgstr "" #: templates/stock_table.html:45 msgid "Add to selected stock items" -msgstr "Añadir a los elementos de stock seleccionados" +msgstr "" #: templates/stock_table.html:46 msgid "Remove from selected stock items" -msgstr "Eliminar de los elementos de stock seleccionados" +msgstr "" #: templates/stock_table.html:47 msgid "Stocktake selected stock items" -msgstr "Artículos de stock seleccionados" +msgstr "Inventariar artículos de stock seleccionados" #: templates/stock_table.html:48 msgid "Move selected stock items" -msgstr "Mover elementos de stock seleccionados" +msgstr "" #: templates/stock_table.html:49 msgid "Merge selected stock items" -msgstr "Combinar artículos de stock seleccionados" +msgstr "" #: templates/stock_table.html:49 msgid "Merge stock" -msgstr "Fusionar stock" +msgstr "" #: templates/stock_table.html:50 msgid "Order selected items" -msgstr "Ordenar artículos seleccionados" +msgstr "" #: templates/stock_table.html:52 msgid "Change status" -msgstr "Cambiar estado" +msgstr "" #: templates/stock_table.html:52 msgid "Change stock status" -msgstr "Cambiar estado de stock" +msgstr "" #: templates/stock_table.html:55 msgid "Delete selected items" -msgstr "Eliminar elementos seleccionados" +msgstr "" #: templates/stock_table.html:55 msgid "Delete stock" -msgstr "Eliminar existencias" +msgstr "" #: templates/yesnolabel.html:4 msgid "Yes" -msgstr "Sí" +msgstr "" #: templates/yesnolabel.html:6 msgid "No" -msgstr "No" +msgstr "" #: users/admin.py:61 msgid "Users" -msgstr "Usuarios" +msgstr "" #: users/admin.py:62 msgid "Select which users are assigned to this group" -msgstr "Seleccione qué usuarios están asignados a este grupo" +msgstr "" #: users/admin.py:191 msgid "The following users are members of multiple groups:" -msgstr "Los siguientes usuarios son miembros de varios grupos:" +msgstr "" #: users/admin.py:214 msgid "Personal info" -msgstr "Información personal" +msgstr "" #: users/admin.py:215 msgid "Permissions" -msgstr "Permisos" +msgstr "" #: users/admin.py:218 msgid "Important dates" -msgstr "Fechas importantes" +msgstr "" #: users/models.py:208 msgid "Permission set" -msgstr "Permiso establecido" +msgstr "" #: users/models.py:216 msgid "Group" -msgstr "Grupo" +msgstr "" #: users/models.py:219 msgid "View" -msgstr "Vista" +msgstr "" #: users/models.py:219 msgid "Permission to view items" -msgstr "Permiso para ver elementos" +msgstr "" #: users/models.py:221 msgid "Permission to add items" -msgstr "Permiso para añadir elementos" +msgstr "" #: users/models.py:223 msgid "Change" -msgstr "Cambiar" +msgstr "" #: users/models.py:223 msgid "Permissions to edit items" -msgstr "Permisos para editar elementos" +msgstr "" #: users/models.py:225 msgid "Permission to delete items" -msgstr "Permiso para eliminar elementos" +msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index 1fd297ee18..6e6749b1ca 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -44,7 +44,7 @@ msgstr "تاریخ را وارد کنید" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "یادداشت" @@ -212,14 +212,14 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "" @@ -237,9 +237,9 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "" @@ -317,9 +317,9 @@ msgstr "" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "" @@ -433,107 +433,107 @@ msgstr "آدرس فایل تصویری از راه دور" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "" @@ -810,7 +810,7 @@ msgstr "" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,13 +939,14 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "" #: build/models.py:285 -msgid "User responsible for this build order" +msgid "User or group responsible for this build order" msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 @@ -1034,7 +1035,7 @@ msgstr "" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "" @@ -1045,7 +1046,7 @@ msgstr "" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "تایید" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 3064ab76fb..3f1f761fe4 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:03\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -44,7 +44,7 @@ msgstr "Entrer la date" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Notes" @@ -212,14 +212,14 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Lien" @@ -237,9 +237,9 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Erreur lors du renommage du fichier" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Choix invalide" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Nom" @@ -317,9 +317,9 @@ msgstr "Nom" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Chemin d'accès" @@ -433,107 +433,107 @@ msgstr "URL du fichier image distant" msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Tchèque" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Danois" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Grec" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Espagnol" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Espagnol (Mexique)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Farsi / Perse" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Français" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Hébreu" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Hongrois" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Italien" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japonais" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Coréen" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Néerlandais" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norvégien" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugais" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portugais (Brésilien)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Russe" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "Slovénien" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Suédois" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Thaïlandais" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Turc" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnamien" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Chinois" @@ -810,7 +810,7 @@ msgstr "BuildOrder associé a cette fabrication" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Utilisateur ayant émis cette commande de construction" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Responsable" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Utilisateur responsable de cette commande de construction" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "Construction à laquelle allouer des pièces" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Article en stock" @@ -1045,7 +1046,7 @@ msgstr "Stock d'origine de l'article" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Stock d'origine de l'article" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1171,7 +1172,7 @@ msgstr "Une liste d'ordre de production doit être fourni" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "Date Cible" @@ -1513,7 +1514,7 @@ msgstr "Pièces allouées" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "{name.title()} Fichier" msgid "Select {name} file to upload" msgstr "Sélectionner le fichier {name} à uploader" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "Mise à jour" @@ -1754,1142 +1755,1142 @@ msgstr "La valeur doit être un nombre entier" msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "Pas de groupe" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "Un domaine vide n'est pas autorisé." -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nom de domaine invalide : {domain}" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/models.py:874 +#: common/models.py:885 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:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "Nom de l'instance du serveur" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "Limiter l'affichage de `about`" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "Afficher la modale `about` uniquement aux super-utilisateurs" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Nom de la société" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "Nom de société interne" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "URL de base" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "Devise par défaut" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "Sélectionnez la devise de base pour les calculs de prix" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:925 +#: common/models.py:936 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:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "Limite du volume de téléchargement" -#: common/models.py:932 +#: common/models.py:943 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:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "Agent utilisateur utilisé pour télécharger depuis l'URL" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "Confirmation requise" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "Exiger une confirmation explicite de l’utilisateur pour certaines actions." -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "Profondeur de l'arborescence" -#: common/models.py:957 +#: common/models.py:968 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:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "Backup automatique" -#: common/models.py:967 +#: common/models.py:978 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:973 +#: common/models.py:984 msgid "Days Between Backup" -msgstr "" +msgstr "Jours entre chaque sauvegarde" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" -msgstr "" +msgstr "Spécifiez le nombre de jours entre les sauvegardes automatique" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "Supprimer les anciennes tâches" -#: common/models.py:984 +#: common/models.py:995 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:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "Supprimer les logs d'erreurs" -#: common/models.py:995 +#: common/models.py:1006 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:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "Supprimer les notifications" -#: common/models.py:1006 +#: common/models.py:1017 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:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "Activer le support du scanner de code-barres" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "Délai d'entrée du code-barres" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "Délai de traitement du code-barres" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "Prise en charge de la webcam code-barres" -#: common/models.py:1035 +#: common/models.py:1046 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:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1042 +#: common/models.py:1053 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:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:1054 +#: common/models.py:1065 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:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "Copier les données de la pièce" -#: common/models.py:1061 +#: common/models.py:1072 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:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:1068 +#: common/models.py:1079 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:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:1075 +#: common/models.py:1086 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:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:1082 +#: common/models.py:1093 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:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "Modèle" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "Assemblage" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "Composant" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "Vendable" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "Traçable" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "Stock initial" -#: common/models.py:1152 +#: common/models.py:1163 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:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" -#: common/models.py:1159 +#: common/models.py:1170 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:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "Format d'affichage du nom de la pièce" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "Format pour afficher le nom de la pièce" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "Icône de catégorie par défaut" -#: common/models.py:1174 +#: common/models.py:1185 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:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "Décimales de tarification" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "Nombre de décimales à afficher lors du rendu des données de prix" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/models.py:1191 +#: common/models.py:1202 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:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/models.py:1198 +#: common/models.py:1209 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:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/models.py:1205 +#: common/models.py:1216 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:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/models.py:1212 +#: common/models.py:1223 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:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/models.py:1230 +#: common/models.py:1241 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:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "Temps de reconstruction des prix" -#: common/models.py:1237 +#: common/models.py:1248 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:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "jours" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" -msgstr "" +msgstr "Si disponible, les prix internes remplacent les calculs de la fourchette de prix" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/models.py:1269 +#: common/models.py:1280 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:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "Activer les rapports de test" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "Activer la génération de rapports de test" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "Joindre des rapports de test" -#: common/models.py:1311 +#: common/models.py:1322 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:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/models.py:1318 +#: common/models.py:1329 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:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" -msgstr "" +msgstr "Détermine le comportement par défaut lorsqu'un article de stock est épuisé" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/models.py:1339 +#: common/models.py:1350 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:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" -msgstr "" +msgstr "Délai de péremption du stock" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" -msgstr "" +msgstr "Nombre de jours pendant lesquels les articles en stock sont considérés comme périmés avant d'expirer" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" -msgstr "" +msgstr "Construction de stock expirée" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1374 +#: common/models.py:1385 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:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1381 +#: common/models.py:1392 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:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1387 +#: common/models.py:1398 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:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1394 +#: common/models.py:1405 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:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1401 +#: common/models.py:1412 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:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" -msgstr "" +msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "" +msgstr "Autoriser la modification des commandes de vente après avoir été expédiées ou complétées" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" -msgstr "" +msgstr "Modèle requis pour générer le champ de référence de bon de commande" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" -msgstr "" +msgstr "Modifier les bons de commande terminés" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "" +msgstr "Autoriser la modification des bons de commande après avoir été expédiés ou complétés" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1430 +#: common/models.py:1441 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:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1437 +#: common/models.py:1448 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:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1451 +#: common/models.py:1462 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:1457 +#: common/models.py:1468 msgid "Email required" msgstr "Email requis" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1465 +#: common/models.py:1476 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:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1479 +#: common/models.py:1490 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:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Restreindre l'inscription à certains domaines (séparés par des virgules, commence par @)" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:1493 +#: common/models.py:1504 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:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:1507 +#: common/models.py:1518 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:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "Vérifier les signatures du plugin" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "Vérifier et afficher les signatures des plugins" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:1604 +#: common/models.py:1615 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:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "Nombre de composants récents" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "Nombre de pièces récentes à afficher sur la page d'index" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "Afficher les listes de matériaux non validées" -#: common/models.py:1625 +#: common/models.py:1636 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:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1632 +#: common/models.py:1643 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:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "Compte de stock récent" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "Nombre d'éléments de stock récents à afficher sur la page d'index" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:1660 +#: common/models.py:1671 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:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:1667 +#: common/models.py:1678 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:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" -msgstr "" +msgstr "Afficher les articles de stock périmés sur la page d'accueil" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" -msgstr "" +msgstr "Afficher les constructions en attente" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" -msgstr "" +msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" -msgstr "" +msgstr "Afficher les constructions en retard" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" -msgstr "" +msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" -msgstr "" +msgstr "Afficher les commandes en suspens" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" -msgstr "" +msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" -msgstr "" +msgstr "Afficher les commandes en retard" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" -msgstr "" +msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" -msgstr "" +msgstr "Afficher les envois en suspens" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" -msgstr "" +msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" -msgstr "" +msgstr "Afficher les envois en retard" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" -msgstr "" +msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" -msgstr "" +msgstr "Afficher les nouvelles" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" -msgstr "" +msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" -msgstr "" +msgstr "Affichage du libellé en ligne" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" -msgstr "" +msgstr "Afficher les étiquettes PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" -msgstr "" +msgstr "Affichage du rapport en ligne" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" +msgstr "Afficher les rapports PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" -msgstr "" +msgstr "Rechercher de pièces" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" -msgstr "" +msgstr "Afficher les pièces dans la fenêtre d'aperçu de la recherche" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" -msgstr "" +msgstr "Chercher des pièces fournisseur" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" -msgstr "" +msgstr "Afficher les pièces du fournisseur dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" -msgstr "" +msgstr "Rechercher les pièces du fabricant" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" -msgstr "" +msgstr "Afficher les pièces du fabricant dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" -msgstr "" +msgstr "Masquer les pièces inactives" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" -msgstr "" +msgstr "Exclure les pièces inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" -msgstr "" +msgstr "Rechercher des catégories" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" -msgstr "" +msgstr "Afficher les catégories de pièces dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:1779 +#: common/models.py:1790 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:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" -msgstr "" +msgstr "Exclure les articles en stock qui ne sont pas disponibles de la fenêtre de prévisualisation de recherche" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" -msgstr "" +msgstr "Chercher des Emplacements" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" -msgstr "" +msgstr "Afficher les emplacements dans la fenêtre d'aperçu de la recherche" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" -msgstr "" +msgstr "Rechercher les entreprises" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" -msgstr "" +msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" -msgstr "" +msgstr "Rechercher les commandes de construction" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" -msgstr "" +msgstr "Afficher les commandes de construction dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" -msgstr "" +msgstr "Rechercher des bons de commande" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" -msgstr "" +msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" -msgstr "" +msgstr "Exclure les bons de commande inactifs" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" -msgstr "" +msgstr "Exclure les commandes d’achat inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:1863 +#: common/models.py:1874 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:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "Format de date" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "Prix" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "Jeton" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "ID message" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "Hôte" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "Entête" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "Corps" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Auteur" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "Sélectionner un fabricant" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3201,38 +3202,38 @@ msgstr "" #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" -msgstr "" +msgstr "Pièces du fabricant" #: company/models.py:364 msgid "Parameter name" -msgstr "" +msgstr "Nom du paramètre" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "Valeur" #: company/models.py:371 msgid "Parameter value" -msgstr "" +msgstr "Valeur du paramètre" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "Unités" #: company/models.py:378 msgid "Parameter units" -msgstr "" +msgstr "Unités du paramètre" #: company/models.py:456 msgid "Linked manufacturer part must reference the same base part" -msgstr "" +msgstr "La pièce du fabricant liée doit faire référence à la même pièce de base" #: company/models.py:498 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:136 order/models.py:264 @@ -3242,29 +3243,29 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "Fournisseur" #: company/models.py:499 msgid "Select supplier" -msgstr "" +msgstr "Sélectionner un fournisseur" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" -msgstr "" +msgstr "SKU" #: company/models.py:505 part/serializers.py:365 msgid "Supplier stock keeping unit" -msgstr "" +msgstr "Unité de gestion des stocks des fournisseurs" #: company/models.py:512 msgid "Select manufacturer part" -msgstr "" +msgstr "Sélectionner un fabricant" #: company/models.py:518 msgid "URL for external supplier part link" @@ -3306,7 +3307,7 @@ msgstr "Conditionnement de l'article" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "Nombre de paquet" @@ -3326,8 +3327,8 @@ msgstr "Commande multiple" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "Disponible" @@ -3338,15 +3339,15 @@ msgstr "Quantité disponible auprès du fournisseur" #: company/models.py:558 msgid "Availability Updated" -msgstr "" +msgstr "Disponibilité mise à jour" #: company/models.py:559 msgid "Date of last update of availability data" -msgstr "" +msgstr "Date de dernière mise à jour des données de disponibilité" #: company/serializers.py:72 msgid "Default currency used for this supplier" -msgstr "" +msgstr "Devise par défaut utilisée pour ce fournisseur" #: company/serializers.py:73 msgid "Currency Code" @@ -3365,7 +3366,7 @@ msgstr "Créer une commande d'achat" #: company/templates/company/company_base.html:28 msgid "Company actions" -msgstr "" +msgstr "Actions de l'entreprise" #: company/templates/company/company_base.html:33 msgid "Edit company information" @@ -3398,7 +3399,7 @@ msgstr "Télécharger l'image depuis l'URL" #: company/templates/company/company_base.html:61 #: part/templates/part/part_thumb.html:16 msgid "Delete image" -msgstr "" +msgstr "Supprimer image" #: company/templates/company/company_base.html:87 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:701 @@ -3420,28 +3421,28 @@ msgid "Phone" msgstr "Téléphone" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" -msgstr "" +msgstr "Supprimer l'image" #: company/templates/company/company_base.html:207 msgid "Remove associated image from this company" -msgstr "" +msgstr "Supprimer l'image associée de cette entreprise" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" -msgstr "" +msgstr "Supprimer" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "Charger une image" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "Télécharger une image" @@ -3595,8 +3596,8 @@ msgstr "Supprimer les pièces du fournisseur" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "Supprimer" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "Supprimer les paramètres" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "Ajouter un paramètre" @@ -3675,11 +3676,11 @@ msgstr "Délier le code-barre" #: stock/templates/stock/item_base.html:50 #: stock/templates/stock/location.html:54 msgid "Link Barcode" -msgstr "" +msgstr "Lier le code-barre" #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" -msgstr "" +msgstr "Actions de la pièce du fournisseur" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 @@ -3691,59 +3692,59 @@ msgstr "Commander un composant" #: company/templates/company/supplier_part.html:61 #: company/templates/company/supplier_part.html:62 msgid "Update Availability" -msgstr "" +msgstr "Disponibilité de la mise à jour" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 #: templates/js/translated/company.js:248 msgid "Edit Supplier Part" -msgstr "" +msgstr "Modifier la pièce du fournisseur" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 #: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" -msgstr "" +msgstr "Dupliquer la pièce du fournisseur" #: company/templates/company/supplier_part.html:74 msgid "Delete Supplier Part" -msgstr "" +msgstr "Supprimer la pièce du fournisseur" #: company/templates/company/supplier_part.html:75 msgid "Delete Supplier Part" -msgstr "" +msgstr "Supprimer la pièce du fournisseur" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 #: stock/templates/stock/location.html:150 msgid "Barcode Identifier" -msgstr "" +msgstr "Identifiant du code-barres" #: company/templates/company/supplier_part.html:140 msgid "No supplier information available" -msgstr "" +msgstr "Aucune information de fournisseur disponible" #: company/templates/company/supplier_part.html:200 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" -msgstr "" +msgstr "Stock de pièces du fournisseur" #: company/templates/company/supplier_part.html:203 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" -msgstr "" +msgstr "Créer un nouvel article de stock" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:466 msgid "New Stock Item" -msgstr "" +msgstr "Nouvel article de stock" #: company/templates/company/supplier_part.html:217 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" -msgstr "" +msgstr "Commandes de pièces du fournisseur" #: company/templates/company/supplier_part.html:242 msgid "Pricing Information" @@ -3753,15 +3754,15 @@ msgstr "Information sur les prix" #: company/templates/company/supplier_part.html:317 #: templates/js/translated/pricing.js:654 msgid "Add Price Break" -msgstr "" +msgstr "Ajouter un prix de rupture" #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" -msgstr "" +msgstr "Lier le code-barres à la pièce du fournisseur" #: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" -msgstr "" +msgstr "Mettre à jour la disponibilité des pièces" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 @@ -3769,11 +3770,11 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" -msgstr "" +msgstr "Stock" #: company/templates/company/supplier_part_navbar.html:22 msgid "Orders" @@ -3782,7 +3783,7 @@ msgstr "Commandes" #: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" -msgstr "" +msgstr "Prix de la pièce du fournisseur" #: company/templates/company/supplier_part_navbar.html:29 #: part/templates/part/part_sidebar.html:30 @@ -3829,23 +3830,23 @@ msgstr "Nouvelle Entreprise" #: company/views.py:120 stock/views.py:125 msgid "Stock Item QR Code" -msgstr "" +msgstr "Code QR de l'article en stock" #: label/models.py:102 msgid "Label name" -msgstr "" +msgstr "Nom de l'étiquette" #: label/models.py:109 msgid "Label description" -msgstr "" +msgstr "Description de l’étiquette" #: label/models.py:116 msgid "Label" -msgstr "" +msgstr "Étiquette" #: label/models.py:117 msgid "Label template file" -msgstr "" +msgstr "Fichier de modèle d'étiquette" #: label/models.py:123 report/models.py:254 msgid "Enabled" @@ -3853,15 +3854,15 @@ msgstr "Activé" #: label/models.py:124 msgid "Label template is enabled" -msgstr "" +msgstr "Le modèle d'étiquette est activé" #: label/models.py:129 msgid "Width [mm]" -msgstr "" +msgstr "Largeur [mm]" #: label/models.py:130 msgid "Label width, specified in mm" -msgstr "" +msgstr "Largeur de l'étiquette, spécifiée en mm" #: label/models.py:136 msgid "Height [mm]" @@ -3869,19 +3870,19 @@ msgstr "Hauteur [mm]" #: label/models.py:137 msgid "Label height, specified in mm" -msgstr "" +msgstr "Hauteur de l'étiquette, spécifiée en mm" #: label/models.py:143 report/models.py:247 msgid "Filename Pattern" -msgstr "" +msgstr "Modèle de nom de fichier" #: label/models.py:144 msgid "Pattern for generating label filenames" -msgstr "" +msgstr "Modèle pour la génération des noms de fichiers d'étiquette" #: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," -msgstr "" +msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules)," #: label/models.py:234 label/models.py:275 label/models.py:303 #: report/models.py:280 report/models.py:411 report/models.py:449 @@ -3890,15 +3891,15 @@ msgstr "Filtres" #: label/models.py:274 msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" +msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules" #: label/models.py:302 msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" +msgstr "Filtres de requêtes de pièces (valeurs de paires clé=valeur séparées par des virgules)" #: order/api.py:161 msgid "No matching purchase order found" -msgstr "" +msgstr "Aucun bon de commande correspondant n'a été trouvé" #: order/api.py:1257 order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "Pièce fournisseur" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "Reçu" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Envoi" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "ID de composant" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "Révision" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "En Commande" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Composantes" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "Catégorie" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "Nom de test" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "Requis" @@ -5259,7 +5264,7 @@ msgstr "Requis" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "Dernier numéro de série" msgid "Search for serial number" msgstr "Rechercher un numéro de série" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "Calculer" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "Numéro de série" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Confirmer" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "ID de commande" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "Options de duplication de pièces" msgid "Add Part Category" msgstr "Ajouter une catégorie de pièce" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "Composant créé avec succès" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "Modifier la pièce" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "Pièce modifiée" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "Créer une variante de pièce" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "Stock bas" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "Pièce traçable" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "Pièce virtuelle" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "Pièce vendable" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "Aucune variante trouvée" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "Aucune pièce trouvée" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "Aucune catégorie" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "Afficher sous forme de liste" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "Afficher sous forme de grille" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "Afficher sous forme d'arborescence" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "Modifier le résultat du test" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "Supprimer le résultat du test" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 4d1e435670..8172aa9fd2 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -44,7 +44,7 @@ msgstr "הזן תאריך סיום" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "" @@ -212,14 +212,14 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "קישור" @@ -237,9 +237,9 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "שגיאה בשינוי שם פריט" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "בחירה שגויה" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "שם" @@ -317,9 +317,9 @@ msgstr "שם" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "מקור" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "" @@ -433,107 +433,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "גרמנית" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "יוונית" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "אנגלית" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "ספרדית" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "ספרדית (מקסיקנית)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "צרפתית" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "עברית" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "איטלקית" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "יפנית" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "קוריאנית" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "הולנדית" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "נורווגית" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "פולנית" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "רוסית" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "שוודית" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "תאילנדית" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "טורקית" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "ווייטנאמית" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "סינית" @@ -810,7 +810,7 @@ msgstr "" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,13 +939,14 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "" #: build/models.py:285 -msgid "User responsible for this build order" +msgid "User or group responsible for this build order" msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 @@ -1034,7 +1035,7 @@ msgstr "" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "" @@ -1045,7 +1046,7 @@ msgstr "" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "אשר" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index efb072e7e6..52a3bcc918 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-07 09:21\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:03\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -44,7 +44,7 @@ msgstr "Dátum megadása" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Megjegyzések" @@ -212,14 +212,14 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Link" @@ -237,9 +237,9 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Hiba a fájl átnevezésekor" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Érvénytelen választás" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Név" @@ -317,9 +317,9 @@ msgstr "Név" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "szülő" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Elérési út" @@ -433,107 +433,107 @@ msgstr "A távoli kép URL-je" msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Cseh" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Dán" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Német" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Görög" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Angol" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Spanyol (Mexikói)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Fárszi/Perzsa" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Francia" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Héber" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Magyar" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Olasz" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japán" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Koreai" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Holland" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norvég" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Lengyel" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugál" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portugál (Brazíliai)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Orosz" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "Szlovén" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Svéd" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Tháj" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Török" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnámi" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Kínai" @@ -810,7 +810,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Felelős" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Felhasználó aki felelős ezért a gyártási utasításért" +msgid "User or group responsible for this build order" +msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "Gyártás amihez készletet foglaljunk" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Készlet tétel" @@ -1045,7 +1046,7 @@ msgstr "Forrás készlet tétel" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Forrás készlet tétel" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -1171,7 +1172,7 @@ msgstr "A gyártási kimenetek listáját meg kell adni" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1432,7 +1433,7 @@ msgstr "Még nincs lefoglalva a szükséges készlet" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "Cél dátum" @@ -1514,7 +1515,7 @@ msgstr "Lefoglalt alkatrészek" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1723,7 +1724,7 @@ msgstr "{name.title()} Fájl" msgid "Select {name} file to upload" msgstr "{name} fájl kiválasztása feltöltéshez" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "Frissítve" @@ -1755,1142 +1756,1142 @@ msgstr "Az érték egész szám kell legyen" msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "Nincs csoport" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "Üres domain nem engedélyezett." -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Érvénytelen domain név: {domain}" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/models.py:874 +#: common/models.py:885 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:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "Példány név használata" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Cég neve" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "Belső cégnév" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "Kiindulási URL" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "Válassz alap pénznemet az ár számításokhoz" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/models.py:925 +#: common/models.py:936 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:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "Letöltési méret korlát" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "Maximum megengedett letöltési mérete a távoli képeknek" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "Felhasznált User-agent az URL-ről letöltéshez" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "Megerősítés igénylése" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "Kérjen felhasználói megerősítést bizonyos műveletekhez" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "Fa mélység" -#: common/models.py:957 +#: common/models.py:968 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:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "Automatikus biztonsági mentés" -#: common/models.py:967 +#: common/models.py:978 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:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "Biztonsági mentések közti napok" -#: common/models.py:974 +#: common/models.py:985 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:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "Régi feladatok törlése" -#: common/models.py:984 +#: common/models.py:995 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:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "Hibanapló törlése" -#: common/models.py:995 +#: common/models.py:1006 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:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "Értesítések törlése" -#: common/models.py:1006 +#: common/models.py:1017 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:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "Vonalkód olvasó engedélyezése" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "Vonalkód beadási késleltetés" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "Vonalkód beadáskor a feldolgozás késleltetési ideje" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "Webkamerás vonalkód olvasás" -#: common/models.py:1035 +#: common/models.py:1046 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:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrész esetén is" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:1054 +#: common/models.py:1065 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:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:1061 +#: common/models.py:1072 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:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:1068 +#: common/models.py:1079 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:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:1075 +#: common/models.py:1086 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:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:1082 +#: common/models.py:1093 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:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "Sablon" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "Gyártmány" -#: common/models.py:1096 +#: common/models.py:1107 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:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "Összetevő" -#: common/models.py:1103 +#: common/models.py:1114 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:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "Követésre kötelezett" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:1138 +#: common/models.py:1149 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:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "Kezdeti készlet adatok" -#: common/models.py:1152 +#: common/models.py:1163 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:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" -#: common/models.py:1159 +#: common/models.py:1170 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:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "Alkatrész kategória alapértelmezett ikon" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek száma" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek száma az árak megjelenítésekor" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/models.py:1191 +#: common/models.py:1202 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:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/models.py:1198 +#: common/models.py:1209 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:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/models.py:1205 +#: common/models.py:1216 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:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/models.py:1212 +#: common/models.py:1223 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:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/models.py:1223 +#: common/models.py:1234 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:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/models.py:1230 +#: common/models.py:1241 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:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "Ár újraszámítás ideje" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "nap" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/models.py:1255 +#: common/models.py:1266 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:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/models.py:1269 +#: common/models.py:1280 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:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "Teszt riportok engedélyezése" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "Teszt riportok hozzáadása" -#: common/models.py:1311 +#: common/models.py:1322 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:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/models.py:1318 +#: common/models.py:1329 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:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/models.py:1332 +#: common/models.py:1343 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:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1339 +#: common/models.py:1350 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:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1359 +#: common/models.py:1370 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:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1387 +#: common/models.py:1398 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:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1394 +#: common/models.py:1405 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:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1401 +#: common/models.py:1412 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:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1408 +#: common/models.py:1419 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:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1415 +#: common/models.py:1426 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:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1422 +#: common/models.py:1433 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:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1437 +#: common/models.py:1448 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:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1451 +#: common/models.py:1462 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:1457 +#: common/models.py:1468 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1465 +#: common/models.py:1476 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:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1472 +#: common/models.py:1483 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:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1479 +#: common/models.py:1490 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:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Ezekről a domain-ekről a regisztráció tiltása (vesszővel elválasztva, @-el kezdve)" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1493 +#: common/models.py:1504 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:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1507 +#: common/models.py:1518 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:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "Plugin aláírások ellenőrzése" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "Pluginok aláírásainak ellenőrzése és megjelenítése" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1523 +#: common/models.py:1534 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:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1547 +#: common/models.py:1558 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:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1555 +#: common/models.py:1566 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:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 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:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1604 +#: common/models.py:1615 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:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "Legfrissebb alkatrész szám" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "Főoldalon megjelenítendő legújabb alkatrészek" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1625 +#: common/models.py:1636 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:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1632 +#: common/models.py:1643 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:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "Legfrissebb készlet mennyiség" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1660 +#: common/models.py:1671 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:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1688 +#: common/models.py:1699 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:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1716 +#: common/models.py:1727 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:1722 +#: common/models.py:1733 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1730 +#: common/models.py:1741 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:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1737 +#: common/models.py:1748 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:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:1751 +#: common/models.py:1762 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:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:1758 +#: common/models.py:1769 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:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1765 +#: common/models.py:1776 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:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1772 +#: common/models.py:1783 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:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1779 +#: common/models.py:1790 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:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:1786 +#: common/models.py:1797 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:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:1807 +#: common/models.py:1818 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:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1814 +#: common/models.py:1825 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:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:1821 +#: common/models.py:1832 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:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:1828 +#: common/models.py:1839 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:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:1835 +#: common/models.py:1846 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:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:1842 +#: common/models.py:1853 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:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:1849 +#: common/models.py:1860 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:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:1856 +#: common/models.py:1867 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:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:1863 +#: common/models.py:1874 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:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "Alkatrész leltározási információk megjelenítése" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:1899 +#: common/models.py:1910 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:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "Ár" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2898,97 +2899,97 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "Token" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "Titok" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "Fejléc" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "Törzs" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "Id" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "Cím" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "Közzétéve" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Szerző" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "Elolvasva" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "Elolvasva?" @@ -3181,7 +3182,7 @@ msgstr "Gyártó kiválasztása" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "MPN" @@ -3211,7 +3212,7 @@ msgstr "Paraméter neve" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "Érték" @@ -3223,7 +3224,7 @@ msgstr "Paraméter értéke" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "Mértékegységek" @@ -3243,7 +3244,7 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "Beszállító" @@ -3255,7 +3256,7 @@ msgstr "Beszállító kiválasztása" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "SKU" @@ -3307,7 +3308,7 @@ msgstr "Alkatrész csomagolás" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "Csomagolási mennyiség" @@ -3327,8 +3328,8 @@ msgstr "Többszörös rendelés" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "Elérhető" @@ -3421,7 +3422,7 @@ msgid "Phone" msgstr "Telefonszám" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "Kép eltávolítása" @@ -3430,19 +3431,19 @@ msgid "Remove associated image from this company" msgstr "Céghez rendelt kép eltávolítása" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Törlés" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "Kép feltöltése" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "Kép letöltése" @@ -3596,8 +3597,8 @@ msgstr "Beszállítói alkatrész törlése" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "Törlés" @@ -3621,7 +3622,7 @@ msgid "Delete parameters" msgstr "Paraméterek törlése" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "Paraméter hozzáadása" @@ -3770,8 +3771,8 @@ msgstr "Alkatrész elérhetőség frissítése" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -3908,7 +3909,7 @@ msgstr "Nincs egyező beszerzési rendelés" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4080,7 +4081,7 @@ msgstr "Beszállítói alkatrész" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "Beérkezett" @@ -4137,7 +4138,7 @@ msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Szállítmány" @@ -4682,7 +4683,7 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "Alkatrész ID" @@ -4695,13 +4696,13 @@ msgid "Part Description" msgstr "Alkatrész leírása" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "IPN" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "Változat" @@ -4711,7 +4712,7 @@ msgid "Keywords" msgstr "Kulcsszavak" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "Kategória ID" @@ -4739,8 +4740,8 @@ msgstr "Készleten" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "Rendelve" @@ -4756,8 +4757,8 @@ msgid "Allocated" msgstr "Lefoglalva" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "Gyártásban" @@ -4788,7 +4789,7 @@ msgstr "Kategória elérési út" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Alkatrészek" @@ -4967,7 +4968,7 @@ msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredmén #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "Kategória" @@ -5063,9 +5064,13 @@ msgstr "Alkatrészjegyzék ellenőrzési dátuma" msgid "Creation User" msgstr "Létrehozó" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "Felhasználó aki felelős ezért az alkatrészért" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "Utolsó leltár" @@ -5209,7 +5214,7 @@ msgstr "Teljes készlet a leltárkor" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5235,7 +5240,7 @@ msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni 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:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "Teszt név" @@ -5251,7 +5256,7 @@ msgstr "Teszt leírása" msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "Kötelező" @@ -5260,7 +5265,7 @@ msgstr "Kötelező" msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "Kötelező érték" @@ -5268,7 +5273,7 @@ msgstr "Kötelező érték" 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:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "Kötelező melléklet" @@ -5544,7 +5549,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "Alkatrész másolása" @@ -5568,83 +5573,83 @@ msgstr "Beszállító információ" msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1121 +#: part/serializers.py:1122 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:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1127 +#: part/serializers.py:1128 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:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1139 +#: part/serializers.py:1140 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:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1180 +#: part/serializers.py:1181 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:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" @@ -6047,13 +6052,13 @@ msgstr "Virtuális (nem kézzelfogható alkatrész)" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "Inaktív" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "Alkatrész részletei" @@ -6081,7 +6086,7 @@ msgid "Minimum stock level" msgstr "Minimális készlet" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6096,23 +6101,23 @@ msgstr "Legutolsó sorozatszám" msgid "Search for serial number" msgstr "Sorozatszámra keresés" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "Vonalkód hozzárendelése az alkatrészhez" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "Számítás" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "Alkatrészhez rendelt kép eltávolítása" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "Nincs egyező kép" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "Részletek elrejtése" @@ -6259,8 +6264,8 @@ msgstr "Eladási ár" msgid "Add Sell Price Break" msgstr "Eladási ársáv hozzáadása" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "Nincs készlet" @@ -6694,7 +6699,7 @@ msgstr "Készlet tétel teszt riport" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6728,14 +6733,14 @@ msgid "Installed Items" msgstr "Beépített tételek" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "Sorozatszám" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "Hely ID" @@ -6752,7 +6757,7 @@ msgstr "Hely elérési út" msgid "Stock Item ID" msgstr "Készlet tétel ID" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "Beszállítói cikkszám" @@ -6773,7 +6778,7 @@ msgstr "Vevő ID" msgid "Installed In" msgstr "Beépítve ebbe" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "Gyártás ID" @@ -8342,7 +8347,7 @@ msgstr "Email cím megerősítése" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Erősítsd meg hogy a %(email)s email a %(user_display)s felhasználó email címe." -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Megerősítés" @@ -8583,7 +8588,7 @@ msgid "Click on the following link to view this part" msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "Minimum mennyiség" @@ -8956,7 +8961,7 @@ msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "Változatokkal együtt" @@ -9255,8 +9260,8 @@ msgstr "Készlet tételek foglalása" msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "Kiválaszt" @@ -9342,34 +9347,34 @@ msgid "No manufacturer parts found" msgstr "Nincs gyártói alkatrész" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "Sablon alkatrész" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "Gyártmány alkatrész" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "Nem található paraméter" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "Paraméter törlése" @@ -9449,61 +9454,61 @@ msgstr "Összes szűrő törlése" msgid "Create filter" msgstr "Szűrő létrehozása" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "Művelet tiltva" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "Létrehozás nem engedélyezett" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "Módosítás nem engedélyezett" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "Törlés nem engedélyezett" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "Megtekintés nem engedélyezett" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "Form nyitva tartása" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "Adj meg egy érvényes számot" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Form hibák vannak" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "Nincs eredmény" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "Oszlopok kiválasztása" @@ -9636,25 +9641,25 @@ msgstr "A kiszolgáló 400-as hibakódot adott vissza" msgid "Error requesting form data" msgstr "Form adat lekérése sikertelen" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "Cég ID" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "Készlet ID" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "Rendelés ID" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "Szállítmány ID" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "Gyártói cikkszám" @@ -9882,7 +9887,7 @@ msgstr "Bevételezés megerősítése" msgid "Receive Purchase Order Items" msgstr "Beszerzési rendelés tételeinek bevételezése" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" @@ -9915,8 +9920,8 @@ msgstr "Nem találhatók sortételek" msgid "Total" msgstr "Összesen" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "Teljes mennyiség" @@ -9934,11 +9939,11 @@ msgid "Total Price" msgstr "Teljes ár" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "Sortétel bevételezése" @@ -10119,302 +10124,306 @@ msgstr "Alkatrész másolási opciók" msgid "Add Part Category" msgstr "Alkatrész kategória hozzáadása" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "Ikon (opcionális) - Az összes ikon felfedezése itt" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "Alkatrész kategória szerkesztése" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "Biztos hogy törölni szeretnéd ezt az alkatrész kategóriát?" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "Áthelyezés fentebbi kategóriába" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "Alkatrész kategória törlése" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "A kategóriában lévő alkatrészek kezelése" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "Alkategóriák kezelése" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "Alkatrész létrehozása" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "Új alkatrész létrehozása ez után" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "Alkatrész sikeresen létrehozva" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "Alkatrész módosítva" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "Alkatrész változat létrehozása" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "Aktív alkatrész" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "Alkatrész nem törölhető mivel még aktív" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "Ezen alkatrész törlése nem vonható vissza" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "Ennek az alkatrésznek a teljes készlete törölve lesz" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "Ez az alkatrész minden alkatrészjegyzékből törölve lesz" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Ehhez az alkatrészhez rendelt minden beszállítói és gyártói információ törölve lesz" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "Alkatrész törlése" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "Értesítések kérése erre a tételre" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "Értesítések letiltva erre a tételre" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "Az alkatrészjegyzék jóváhagyása minden sortételt jóvá fog hagyni" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "Alkatrészjegyzék jóváhagyása" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "Alkatrészjegyzék jóvá lett hagyva" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "Alkatrészjegyzék másolása" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "Alacsony készlet" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "Nincs szabad" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "Mértékegység" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "Virtuális alkatrész" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "Értesítésre beállított alkatrész" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "Értékesíthető alkatrész" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "A készlet tétel mostanában nem volt ellenőrizve" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "Tétel frissítése" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "Tétel törlése" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "Nincs elérhető leltár előzmény" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "Leltár bejegyzés szerkesztése" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "Leltár bejegyzés törlése" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "Nincs több változat" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "Nincs alkatrész" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "Nincs kategória" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "Nincs készlet" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "Gyártáshoz lefoglalva" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "Vevő rendeléshez lefoglalva" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "Megjelenítés listaként" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "Megjelenítés rácsnézetként" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "Kategória beállítása a kiválasztott alkatrészekhez" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "Alkatrész kategória beállítása" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "Alkatrész kategória kiválasztása" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "Kategória megadása kötelező" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "Megjelenítés fában" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "Alkategóriák betöltése" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "Ez a teszt a szülő alkatrészhez lett felvéve" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "Nincs megadva dátum" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "A megadott dátum a múltban van" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "Spekulatív" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "Hiba az alkatrész ütemezési információinak betöltésekor" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "Minimum mennyiség" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "Minimális készlet" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 293de461c7..4677b45eaf 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -44,7 +44,7 @@ msgstr "Masukkan tanggal" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Catatan" @@ -212,14 +212,14 @@ msgstr "Lampiran" msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Tautan" @@ -237,9 +237,9 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Kesalahan merubah nama file" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Pilihan tidak valid" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Nama" @@ -317,9 +317,9 @@ msgstr "Nama" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "induk" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Direktori" @@ -433,107 +433,107 @@ msgstr "URL file gambar external" msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Ceko" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Denmark" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Jerman" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Yunani" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Inggris" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Spanyol (Meksiko)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Farsi / Persia" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Perancis" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Ibrani" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Hungaria" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Itali" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Jepang" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Korea" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Belanda" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norwegia" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polandia" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugis" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portugis (Brasil)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Rusia" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Swedia" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Thai" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Turki" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnam" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Cina" @@ -810,7 +810,7 @@ msgstr "Produksi induk dari produksi ini" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Pengguna yang menyerahkan order ini" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Penanggung Jawab" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Pengguna yang bertanggung jawab atas order ini" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Stok Item" @@ -1045,7 +1046,7 @@ msgstr "Sumber stok item" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Sumber stok item" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" @@ -1171,7 +1172,7 @@ msgstr "Daftar hasil pesanan harus disediakan" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Konfirmasi" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index f63a46c900..70653b9131 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-15 21:25\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -44,7 +44,7 @@ msgstr "Inserisci la data" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Note" @@ -212,14 +212,14 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Collegamento" @@ -237,9 +237,9 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Errore nella rinominazione del file" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Scelta non valida" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Nome" @@ -317,9 +317,9 @@ msgstr "Nome" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "genitore" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Percorso" @@ -433,107 +433,107 @@ msgstr "URL del file immagine remota" msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Ceco" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Danese" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Tedesco" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Greco" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Inglese" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Spagnolo" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Spagnolo (Messicano)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Farsi / Persiano" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Francese" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Ebraico" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Ungherese" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Giapponese" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Olandese" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norvegese" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polacco" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portoghese" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portoghese (Brasile)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "Sloveno" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Svedese" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Thailandese" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Cinese" @@ -810,7 +810,7 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Utente che ha emesso questo ordine di costruzione" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Responsabile" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Utente responsabile di questo ordine di generazione" +msgid "User or group responsible for this build order" +msgstr "Utente o gruppo responsabile di questo ordine di produzione" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "Costruisci per allocare gli articoli" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Articoli in magazzino" @@ -1045,7 +1046,7 @@ msgstr "Origine giacenza articolo" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Origine giacenza articolo" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1171,7 +1172,7 @@ msgstr "Deve essere fornito un elenco dei risultati di produzione" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzi #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "Data scadenza" @@ -1513,7 +1514,7 @@ msgstr "Articoli Assegnati" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "{name.title()} File" msgid "Select {name} file to upload" msgstr "Seleziona il file {name} da caricare" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "Aggiornato" @@ -1754,1142 +1755,1142 @@ msgstr "Il valore deve essere un intero" msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "Nessun gruppo" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "Un dominio vuoto non è consentito." -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nome dominio non valido: {domain}" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/models.py:874 +#: common/models.py:885 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:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "Nome Istanza Del Server" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "Limita visualizzazione `Informazioni`" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "Mostra la modalità `Informazioni` solo ai superusers" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Nome azienda" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "URL Base" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "Selezionare la valuta di base per i calcoli dei prezzi" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/models.py:925 +#: common/models.py:936 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:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "Limite Dimensione Download" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "Dimensione massima consentita per il download dell'immagine remota" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "User-agent utilizzato per scaricare dall'URL" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "Richiesta conferma" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "Richiede una conferma esplicita dell'utente per una determinata azione." -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "Profondità livelli" -#: common/models.py:957 +#: common/models.py:968 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:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "Backup automatico" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "Abilita il backup automatico di database e file multimediali" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" -msgstr "" +msgstr "Giorni tra il backup" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" -msgstr "" +msgstr "Definisci i giorni intercorrenti tra un backup automatico e l'altro" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "Cancella le vecchie sessioni" -#: common/models.py:984 +#: common/models.py:995 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:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "Elimina Log Degli Errori" -#: common/models.py:995 +#: common/models.py:1006 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:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "Cancella Notifiche" -#: common/models.py:1006 +#: common/models.py:1017 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:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "Abilita supporto scanner codici a barre" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "Codice a barre inserito scaduto" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "Tempo di ritardo di elaborazione codice a barre" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "Codice a Barre Supporto Webcam" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "Consenti la scansione del codice a barre tramite webcam nel browser" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:1054 +#: common/models.py:1065 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:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:1061 +#: common/models.py:1072 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:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:1068 +#: common/models.py:1079 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:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "Copia I Dati dell'Articolo Test" -#: common/models.py:1075 +#: common/models.py:1086 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:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "Modello" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "Assemblaggio" -#: common/models.py:1096 +#: common/models.py:1107 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:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "Componente" -#: common/models.py:1103 +#: common/models.py:1114 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:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "Vendibile" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "Tracciabile" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "Dati iniziali dello stock" -#: common/models.py:1152 +#: common/models.py:1163 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:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" -#: common/models.py:1159 +#: common/models.py:1170 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:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "Icona predefinita Categoria Articolo" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "Prezzi Decimali" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "Numero di cifre decimali da visualizzare quando si visualizzano i dati dei prezzi" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/models.py:1191 +#: common/models.py:1202 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:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/models.py:1198 +#: common/models.py:1209 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:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/models.py:1205 +#: common/models.py:1216 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:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/models.py:1212 +#: common/models.py:1223 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:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/models.py:1230 +#: common/models.py:1241 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:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "Tempo di Riproduzione Prezzi" -#: common/models.py:1237 +#: common/models.py:1248 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:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "giorni" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/models.py:1255 +#: common/models.py:1266 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:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/models.py:1269 +#: common/models.py:1280 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:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "Abilita Rapporto di Prova" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "Allega Rapporto di Prova" -#: common/models.py:1311 +#: common/models.py:1322 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:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/models.py:1318 +#: common/models.py:1329 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:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina il comportamento predefinito quando un elemento stock è esaurito" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/models.py:1339 +#: common/models.py:1350 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:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/models.py:1359 +#: common/models.py:1370 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:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1374 +#: common/models.py:1385 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:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1408 +#: common/models.py:1419 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:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1422 +#: common/models.py:1433 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:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1451 +#: common/models.py:1462 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:1457 +#: common/models.py:1468 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1465 +#: common/models.py:1476 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:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:1472 +#: common/models.py:1483 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:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:1479 +#: common/models.py:1490 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:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Limita la registrazione a determinati domini (separati da virgola, che cominciano con @)" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:1493 +#: common/models.py:1504 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:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:1507 +#: common/models.py:1518 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:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "Controlla le firme del plugin" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "Controlla e mostra le firme per i plugin" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "Conteggio Ultimi Articoli" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "Numero di articoli da visualizzare sulla pagina indice" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "Mostra distinta base non convalidata" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "Recente Conteggio Giacenze" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "Numero di giacenze recenti da visualizzare sulla pagina indice" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:1660 +#: common/models.py:1671 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:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1730 +#: common/models.py:1741 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:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1737 +#: common/models.py:1748 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:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "Trova Articoli del Fornitore" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:1786 +#: common/models.py:1797 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:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:1842 +#: common/models.py:1853 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:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "Il tasto Escape chiude i moduli" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto di escape per chiudere i moduli modali" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:1863 +#: common/models.py:1874 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:1869 +#: common/models.py:1880 msgid "Date Format" -msgstr "" +msgstr "Formato Data" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" -msgstr "" +msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "" +msgstr "Programmazione Prodotto" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" -msgstr "" +msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" -msgstr "" +msgstr "Inventario Prodotto" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" -msgstr "" +msgstr "Mostra informazioni inventario prodotto" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" -msgstr "" +msgstr "Lunghezza Stringa Tabella" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" -msgstr "" +msgstr "Limite massimo di lunghezza per le stringhe visualizzate nelle viste della tabella" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" -msgstr "" +msgstr "Quantità prezzo limite" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "Prezzo" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" -msgstr "" +msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" -msgstr "" +msgstr "Scadenza" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" -msgstr "" +msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" -msgstr "" +msgstr "Nome per questa notifica" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,120 +2898,120 @@ msgstr "" msgid "Active" msgstr "Attivo" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" -msgstr "" +msgstr "È questa notifica attiva" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "Token" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" -msgstr "" +msgstr "Token per l'accesso" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" -msgstr "" +msgstr "Segreto" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" -msgstr "" +msgstr "Segreto condiviso per HMAC" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" -msgstr "" +msgstr "ID Messaggio" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" -msgstr "" +msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" -msgstr "" +msgstr "Host" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" -msgstr "" +msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" -msgstr "" +msgstr "Intestazione" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" -msgstr "" +msgstr "Intestazione di questo messaggio" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" -msgstr "" +msgstr "Contenuto" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" -msgstr "" +msgstr "Contenuto di questo messaggio" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" -msgstr "" +msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" -msgstr "" +msgstr "Lavorato il" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" -msgstr "" +msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" -msgstr "" +msgstr "Id" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" -msgstr "" +msgstr "Titolo" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" -msgstr "" +msgstr "Pubblicato" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" -msgstr "" +msgstr "Autore" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" -msgstr "" +msgstr "Riepilogo" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" -msgstr "" +msgstr "Letto" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" -msgstr "" +msgstr "Queste notizie sull'elemento sono state lette?" #: common/notifications.py:294 #, python-brace-format msgid "New {verbose_name}" -msgstr "" +msgstr "Nuovo {verbose_name}" #: common/notifications.py:296 msgid "A new order has been created and assigned to you" -msgstr "" +msgstr "Un nuovo ordine è stato creato e assegnato a te" #: common/notifications.py:302 msgid "Items Received" -msgstr "" +msgstr "Elemento ricevuto" #: common/notifications.py:304 msgid "Items have been received against a purchase order" -msgstr "" +msgstr "Gli elementi sono stati ricevuti a fronte di un ordine di acquisto" #: common/notifications.py:416 msgid "Error raised by plugin" -msgstr "" +msgstr "Errore generato dal plugin" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 @@ -3087,7 +3088,7 @@ msgstr "Numero di telefono di contatto" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 msgid "Email" -msgstr "" +msgstr "Email" #: company/models.py:123 msgid "Contact email address" @@ -3180,7 +3181,7 @@ msgstr "Seleziona Produttore" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "Codice articolo produttore (MPN)" @@ -3210,7 +3211,7 @@ msgstr "Nome parametro" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "Valore" @@ -3222,7 +3223,7 @@ msgstr "Valore del parametro" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "Unità" @@ -3242,7 +3243,7 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "Fornitore" @@ -3254,7 +3255,7 @@ msgstr "Seleziona fornitore" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "SKU" @@ -3306,7 +3307,7 @@ msgstr "Imballaggio del pezzo" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "Quantità Confezione" @@ -3326,8 +3327,8 @@ msgstr "Ordine multiplo" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "Disponibile" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "Telefono" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "Rimuovi immagine" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "Rimuovi l'immagine associata a questa azienda" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Rimuovi" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "Carica immagine" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "Download Immagine" @@ -3595,8 +3596,8 @@ msgstr "Elimina articolo fornitore" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "Elimina" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "Elimina il parametro" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "Aggiungi parametro" @@ -3769,8 +3770,8 @@ msgstr "Aggiorna Disponibilità Articolo" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -3907,7 +3908,7 @@ msgstr "Nessun ordine di acquisto corrispondente trovato" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4045,7 +4046,7 @@ msgstr "Note linea elemento" #: order/models.py:948 msgid "Target date for this line item (leave blank to use the target date from the order)" -msgstr "" +msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)" #: order/models.py:966 msgid "Context" @@ -4079,7 +4080,7 @@ msgstr "Articolo Fornitore" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "Ricevuto" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Spedizione" @@ -4194,7 +4195,7 @@ msgstr "La quantità deve essere 1 per l'elemento serializzato" #: order/models.py:1425 msgid "Sales order does not match shipment" -msgstr "" +msgstr "L'ordine di vendita non corrisponde alla spedizione" #: order/models.py:1426 msgid "Shipment does not match sales order" @@ -4452,21 +4453,21 @@ msgstr "Costo totale" #: order/templates/order/order_base.html:196 #: order/templates/order/sales_order_base.html:194 msgid "Total cost could not be calculated" -msgstr "" +msgstr "Il costo totale non può essere calcolato" #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" -msgstr "" +msgstr "Selezione mancante per le seguenti colonne richieste" #: order/templates/order/order_wizard/match_fields.html:20 #: part/templates/part/import_wizard/ajax_match_fields.html:20 #: part/templates/part/import_wizard/match_fields.html:20 #: templates/patterns/wizard/match_fields.html:19 msgid "Duplicate selections found, see below. Fix them then retry submitting." -msgstr "" +msgstr "Selezioni duplicate trovate, vedi sotto. Correggi le selezioni e riprova." #: order/templates/order/order_wizard/match_fields.html:29 #: order/templates/order/order_wizard/match_parts.html:21 @@ -4481,7 +4482,7 @@ msgstr "Invia Selezione" #: part/templates/part/import_wizard/match_fields.html:35 #: templates/patterns/wizard/match_fields.html:34 msgid "File Fields" -msgstr "" +msgstr "Campi File" #: order/templates/order/order_wizard/match_fields.html:42 #: part/templates/part/import_wizard/ajax_match_fields.html:35 @@ -4530,15 +4531,15 @@ msgstr "Seleziona l'articolo del fornitore" #: order/templates/order/order_wizard/po_upload.html:8 msgid "Return to Orders" -msgstr "" +msgstr "Ritorna agli Ordini" #: order/templates/order/order_wizard/po_upload.html:13 msgid "Upload File for Purchase Order" -msgstr "" +msgstr "Carica il file per l'Ordine di Acquisto" #: order/templates/order/order_wizard/po_upload.html:14 msgid "Order is already processed. Files cannot be uploaded." -msgstr "" +msgstr "L'ordine è già elaborato. Non è possibile caricare i file." #: order/templates/order/order_wizard/po_upload.html:27 #: part/templates/part/import_wizard/ajax_part_upload.html:10 @@ -4553,135 +4554,135 @@ msgstr "Passo %(step)s di %(count)s" #: report/templates/report/inventree_po_report.html:84 #: report/templates/report/inventree_so_report.html:85 msgid "Line Items" -msgstr "" +msgstr "Elementi Riga" #: order/templates/order/po_sidebar.html:7 msgid "Received Stock" -msgstr "" +msgstr "Stock Ricevuto" #: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" -msgstr "" +msgstr "Elementi D'Ordine D'Acquisto" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/order.js:577 templates/js/translated/order.js:750 msgid "Add Line Item" -msgstr "" +msgstr "Aggiungi Elemento Riga" #: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" -msgstr "" +msgstr "Ricevi gli elementi selezionati" #: order/templates/order/purchase_order_detail.html:50 #: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" -msgstr "" +msgstr "Linee Extra" #: order/templates/order/purchase_order_detail.html:56 #: order/templates/order/sales_order_detail.html:51 #: order/templates/order/sales_order_detail.html:289 msgid "Add Extra Line" -msgstr "" +msgstr "Aggiungi Linea Extra" #: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" -msgstr "" +msgstr "Elementi Ricevuti" #: order/templates/order/purchase_order_detail.html:101 #: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" -msgstr "" +msgstr "Note dell'Ordine" #: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" -msgstr "" +msgstr "Aggiungi Linea all'Ordine" #: order/templates/order/purchase_orders.html:30 #: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" -msgstr "" +msgstr "Stampa i rapporti dell'ordine" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" -msgstr "" +msgstr "Stampa il rapporto dell'ordine delle vendite" #: order/templates/order/sales_order_base.html:47 msgid "Print packing list" -msgstr "" +msgstr "Stampa lista d'imballaggio" #: order/templates/order/sales_order_base.html:60 #: templates/js/translated/order.js:233 msgid "Complete Shipments" -msgstr "" +msgstr "Spedizioni Completate" #: order/templates/order/sales_order_base.html:67 #: templates/js/translated/order.js:398 msgid "Complete Sales Order" -msgstr "" +msgstr "Completa Ordine Di Vendita" #: order/templates/order/sales_order_base.html:103 msgid "This Sales Order has not been fully allocated" -msgstr "" +msgstr "Questo Ordine di Vendita non è stato assegnato completamente" #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/order.js:2870 msgid "Customer Reference" -msgstr "" +msgstr "Riferimento Cliente" #: order/templates/order/sales_order_base.html:141 #: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" -msgstr "" +msgstr "Spedizioni Completate" #: order/templates/order/sales_order_base.html:230 msgid "Edit Sales Order" -msgstr "" +msgstr "Modifica Ordine di Vendita" #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" -msgstr "" +msgstr "Elementi Ordine di Vendita" #: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" -msgstr "" +msgstr "Spedizione in sospeso" #: order/templates/order/sales_order_detail.html:77 #: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 #: templates/js/translated/build.js:1990 msgid "Actions" -msgstr "" +msgstr "Azioni" #: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" -msgstr "" +msgstr "Nuova spedizione" #: order/views.py:104 msgid "Match Supplier Parts" -msgstr "" +msgstr "Corrispondenza Articoli del Fornitore" #: order/views.py:377 msgid "Sales order not found" -msgstr "" +msgstr "Ordine di Vendita non trovato" #: order/views.py:383 msgid "Price not found" -msgstr "" +msgstr "Prezzo non trovato" #: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" -msgstr "" +msgstr "Aggiornato {part} prezzo unitario a {price}" #: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" -msgstr "" +msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "Codice Articolo" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "Descrizione Articolo" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "IPN - Numero di riferimento interno" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "Revisione" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "Parole Chiave" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "Id Categoria" @@ -4720,11 +4721,11 @@ msgstr "Nome Categoria" #: part/admin.py:30 part/admin.py:177 msgid "Default Location ID" -msgstr "" +msgstr "Posizione Predefinita ID" #: part/admin.py:31 msgid "Default Supplier ID" -msgstr "" +msgstr "ID Fornitore Predefinito" #: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 msgid "Minimum Stock" @@ -4738,8 +4739,8 @@ msgstr "In magazzino" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "Ordinato" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "Allocato" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "In Costruzione" @@ -4770,11 +4771,11 @@ msgstr "Costo Massimo" #: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 msgid "Parent ID" -msgstr "" +msgstr "ID principale" #: part/admin.py:176 part/admin.py:251 stock/admin.py:27 msgid "Parent Name" -msgstr "" +msgstr "Nome Principale" #: part/admin.py:179 part/templates/part/category.html:81 #: part/templates/part/category.html:94 @@ -4787,7 +4788,7 @@ msgstr "Percorso Categoria" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Articoli" @@ -4798,15 +4799,15 @@ msgstr "Livello Distinta Base" #: part/admin.py:246 msgid "BOM Item ID" -msgstr "" +msgstr "ID Elemento Distinta Base" #: part/admin.py:250 msgid "Parent IPN" -msgstr "" +msgstr "IPN Principale" #: part/admin.py:253 part/models.py:3336 msgid "Part IPN" -msgstr "" +msgstr "IPN Articolo" #: part/admin.py:259 templates/js/translated/pricing.js:332 #: templates/js/translated/pricing.js:973 @@ -4820,31 +4821,31 @@ msgstr "Prezzo Massimo" #: part/api.py:536 msgid "Incoming Purchase Order" -msgstr "" +msgstr "Ordine D'Acquisto In Arrivo" #: part/api.py:556 msgid "Outgoing Sales Order" -msgstr "" +msgstr "Ordine di Vendita in Uscita" #: part/api.py:574 msgid "Stock produced by Build Order" -msgstr "" +msgstr "Giacenza prodotta dall'Ordine di Costruzione" #: part/api.py:660 msgid "Stock required for Build Order" -msgstr "" +msgstr "Giacenza richiesta per l'Ordine di Produzione" #: part/api.py:818 msgid "Valid" -msgstr "" +msgstr "Valido" #: part/api.py:819 msgid "Validate entire Bill of Materials" -msgstr "" +msgstr "Convalida l'intera Fattura dei Materiali" #: part/api.py:825 msgid "This option must be selected" -msgstr "" +msgstr "Questa opzione deve essere selezionata" #: part/bom.py:175 part/models.py:116 part/models.py:888 #: part/templates/part/category.html:109 part/templates/part/part_base.html:374 @@ -4966,7 +4967,7 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "Categoria" @@ -5062,9 +5063,13 @@ msgstr "Data di verifica Distinta Base" msgid "Creation User" msgstr "Creazione Utente" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "Utente responsabile di questo articolo" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "Ultimo Inventario" @@ -5208,7 +5213,7 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "Il modello di prova può essere creato solo per gli articoli rintracciab msgid "Test with this name already exists for this part" msgstr "Una prova con questo nome esiste già per questo articolo" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "Nome Test" @@ -5250,7 +5255,7 @@ msgstr "Descrizione Di Prova" msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "Richiesto" @@ -5259,7 +5264,7 @@ msgstr "Richiesto" msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "Valore richiesto" @@ -5267,7 +5272,7 @@ msgstr "Valore richiesto" 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:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "Allegato Richiesto" @@ -5407,7 +5412,7 @@ msgstr "Ereditato" #: part/models.py:3454 msgid "This BOM item is inherited by BOMs for variant parts" -msgstr "" +msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" #: part/models.py:3459 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1011 @@ -5416,7 +5421,7 @@ msgstr "Consenti Le Varianti" #: part/models.py:3460 msgid "Stock items for variant parts can be used for this BOM item" -msgstr "" +msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" #: part/models.py:3546 stock/models.py:558 msgid "Quantity must be integer value for trackable parts" @@ -5468,11 +5473,11 @@ msgstr "Valuta di acquisto di questo articolo in stock" #: part/serializers.py:318 msgid "Original Part" -msgstr "" +msgstr "Articolo Originale" #: part/serializers.py:318 msgid "Select original part to duplicate" -msgstr "" +msgstr "Seleziona l'articolo originale da duplicare" #: part/serializers.py:323 msgid "Copy Image" @@ -5484,11 +5489,11 @@ msgstr "Copia immagine dall'articolo originale" #: part/serializers.py:328 part/templates/part/detail.html:295 msgid "Copy BOM" -msgstr "" +msgstr "Copia Distinta Base" #: part/serializers.py:328 msgid "Copy bill of materials from original part" -msgstr "" +msgstr "Copia fattura dei materiali dall'articolo originale" #: part/serializers.py:333 msgid "Copy Parameters" @@ -5496,7 +5501,7 @@ msgstr "Copia parametri" #: part/serializers.py:333 msgid "Copy parameter data from original part" -msgstr "" +msgstr "Copia i dati dei parametri dall'articolo originale" #: part/serializers.py:343 msgid "Initial Stock Quantity" @@ -5504,146 +5509,146 @@ msgstr "Quantità iniziale" #: part/serializers.py:343 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." -msgstr "" +msgstr "Specificare la quantità iniziale disponibile per questo Articolo. Se la quantità è zero, non viene aggiunta alcuna quantità." #: part/serializers.py:349 msgid "Initial Stock Location" -msgstr "" +msgstr "Ubicazione Iniziale Magazzino" #: part/serializers.py:349 msgid "Specify initial stock location for this Part" -msgstr "" +msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" #: part/serializers.py:359 msgid "Select supplier (or leave blank to skip)" -msgstr "" +msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" #: part/serializers.py:370 msgid "Select manufacturer (or leave blank to skip)" -msgstr "" +msgstr "Seleziona il produttore (o lascia vuoto per saltare)" #: part/serializers.py:376 msgid "Manufacturer part number" -msgstr "" +msgstr "Codice articolo Produttore" #: part/serializers.py:383 msgid "Selected company is not a valid supplier" -msgstr "" +msgstr "L'azienda selezionata non è un fornitore valido" #: part/serializers.py:391 msgid "Selected company is not a valid manufacturer" -msgstr "" +msgstr "L'azienda selezionata non è un produttore valido" #: part/serializers.py:403 msgid "Manufacturer part matching this MPN already exists" -msgstr "" +msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" #: part/serializers.py:411 msgid "Supplier part matching this SKU already exists" -msgstr "" +msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "Duplica articolo" #: part/serializers.py:562 msgid "Copy initial data from another Part" -msgstr "" +msgstr "Copia i dati iniziali da un altro Articolo" #: part/serializers.py:567 templates/js/translated/part.js:68 msgid "Initial Stock" -msgstr "" +msgstr "Stock iniziale" #: part/serializers.py:567 msgid "Create Part with initial stock quantity" -msgstr "" +msgstr "Crea Articolo con quantità di scorta iniziale" #: part/serializers.py:572 msgid "Supplier Information" -msgstr "" +msgstr "Informazioni Fornitore" #: part/serializers.py:572 msgid "Add initial supplier information for this part" -msgstr "" +msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" @@ -5833,15 +5838,15 @@ msgstr "Varianti articolo" #: part/templates/part/detail.html:183 msgid "Create new variant" -msgstr "" +msgstr "Crea nuova variante" #: part/templates/part/detail.html:184 msgid "New Variant" -msgstr "" +msgstr "Nuova variante" #: part/templates/part/detail.html:211 msgid "Add new parameter" -msgstr "" +msgstr "Aggiungi un nuovo parametro" #: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 msgid "Related Parts" @@ -5849,7 +5854,7 @@ msgstr "Articoli correlati" #: part/templates/part/detail.html:252 part/templates/part/detail.html:253 msgid "Add Related" -msgstr "" +msgstr "Aggiungi Correlato" #: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 @@ -5858,40 +5863,40 @@ msgstr "Distinta base" #: part/templates/part/detail.html:278 msgid "Export actions" -msgstr "" +msgstr "Esporta azioni" #: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 msgid "Export BOM" -msgstr "" +msgstr "Esporta Distinta Base" #: part/templates/part/detail.html:284 msgid "Print BOM Report" -msgstr "" +msgstr "Stampa il report Distinta Base" #: part/templates/part/detail.html:294 msgid "Upload BOM" -msgstr "" +msgstr "Carica Distinta Base" #: part/templates/part/detail.html:296 msgid "Validate BOM" -msgstr "" +msgstr "Valida Distinta Base" #: part/templates/part/detail.html:301 part/templates/part/detail.html:302 #: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 msgid "Add BOM Item" -msgstr "" +msgstr "Aggiungi elemento Distinta Base" #: part/templates/part/detail.html:315 msgid "Assemblies" -msgstr "" +msgstr "Assembla" #: part/templates/part/detail.html:333 msgid "Part Builds" -msgstr "" +msgstr "Articoli prodotti" #: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 msgid "Build Order Allocations" -msgstr "" +msgstr "Costruisci le ubicazioni degli ordini" #: part/templates/part/detail.html:376 msgid "Part Suppliers" @@ -5903,7 +5908,7 @@ msgstr "Componenti Produttori" #: part/templates/part/detail.html:422 msgid "Delete manufacturer parts" -msgstr "" +msgstr "Elimina articoli produttore" #: part/templates/part/detail.html:696 msgid "Related Part" @@ -5911,11 +5916,11 @@ msgstr "Articoli correlati" #: part/templates/part/detail.html:704 msgid "Add Related Part" -msgstr "" +msgstr "Aggiungi articolo correlato" #: part/templates/part/detail.html:800 msgid "Add Test Result Template" -msgstr "" +msgstr "Aggiungi risultato modello test" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 @@ -5932,19 +5937,19 @@ msgstr "Importa Articoli da File" #: part/templates/part/import_wizard/part_upload.html:31 msgid "Requirements for part import" -msgstr "" +msgstr "Requisiti per l'importazione di prodotto" #: part/templates/part/import_wizard/part_upload.html:33 msgid "The part import file must contain the required named columns as provided in the " -msgstr "" +msgstr "Il file articolo importato deve contenere le colonne con nome richiesto come indicato nella " #: part/templates/part/import_wizard/part_upload.html:33 msgid "Part Import Template" -msgstr "" +msgstr "Modello Articolo Importato" #: part/templates/part/import_wizard/part_upload.html:89 msgid "Download Part Import Template" -msgstr "" +msgstr "Scarica il Modello Articolo Importato" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 @@ -5960,7 +5965,7 @@ msgstr "Seleziona il formato del file" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "" +msgstr "Elenco Articolo" #: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 msgid "You are subscribed to notifications for this part" @@ -5968,11 +5973,11 @@ msgstr "Sei iscritto alle notifiche per questo articolo" #: part/templates/part/part_base.html:35 msgid "Subscribe to notifications for this part" -msgstr "" +msgstr "Sottoscrivi le notifiche per questo articolo" #: part/templates/part/part_base.html:49 msgid "Unink Barcode" -msgstr "" +msgstr "Scollega Codice a Barre" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 @@ -5982,7 +5987,7 @@ msgstr "Stampa Etichetta" #: part/templates/part/part_base.html:60 msgid "Show pricing information" -msgstr "" +msgstr "Mostra informazioni sui prezzi" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 @@ -5992,15 +5997,15 @@ msgstr "Azioni magazzino" #: part/templates/part/part_base.html:72 msgid "Count part stock" -msgstr "" +msgstr "Conta articoli magazzino" #: part/templates/part/part_base.html:78 msgid "Transfer part stock" -msgstr "" +msgstr "Trasferisci giacenza" #: part/templates/part/part_base.html:93 msgid "Part actions" -msgstr "" +msgstr "Azioni articolo" #: part/templates/part/part_base.html:96 msgid "Duplicate part" @@ -6016,19 +6021,19 @@ msgstr "Cancella articolo" #: part/templates/part/part_base.html:121 msgid "Part is a template part (variants can be made from this part)" -msgstr "" +msgstr "L'articolo è una articolo modello (le varianti possono essere fatte da questo articolo)" #: part/templates/part/part_base.html:125 msgid "Part can be assembled from other parts" -msgstr "" +msgstr "L'articolo può essere assemblato da altri articoli" #: part/templates/part/part_base.html:129 msgid "Part can be used in assemblies" -msgstr "" +msgstr "L'articolo può essere utilizzato negli assemblaggi" #: part/templates/part/part_base.html:133 msgid "Part stock is tracked by serial number" -msgstr "" +msgstr "Lo stock dell'articolo è tracciato dal numero di serie" #: part/templates/part/part_base.html:137 msgid "Part can be purchased from external suppliers" @@ -6041,84 +6046,84 @@ msgstr "La parte può essere venduta ai clienti" #: part/templates/part/part_base.html:147 #: part/templates/part/part_base.html:155 msgid "Part is virtual (not a physical part)" -msgstr "" +msgstr "L'Articolo è virtuale (non è un articolo fisico)" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "Inattivo" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" -msgstr "" +msgstr "Mostra i Dettagli Articolo" #: part/templates/part/part_base.html:183 #, python-format msgid "This part is a variant of %(link)s" -msgstr "" +msgstr "Questo articolo è una variante di %(link)s" #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" -msgstr "" +msgstr "Assegnato agli Ordini di Produzione" #: part/templates/part/part_base.html:230 #: stock/templates/stock/item_base.html:375 msgid "Allocated to Sales Orders" -msgstr "" +msgstr "Assegnato agli Ordini di Vendita" #: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 msgid "Can Build" -msgstr "" +msgstr "Puoi produrre" #: part/templates/part/part_base.html:293 msgid "Minimum stock level" -msgstr "" +msgstr "Livello minimo di giacenza" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" -msgstr "" +msgstr "Fascia di Prezzo" #: part/templates/part/part_base.html:359 msgid "Latest Serial Number" -msgstr "" +msgstr "Ultimo Numero Di Serie" #: part/templates/part/part_base.html:363 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" -msgstr "" +msgstr "Ricerca per numero seriale" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" -msgstr "" +msgstr "Collega il codice a barre all'Articolo" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" -msgstr "" +msgstr "Calcola" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" -msgstr "" +msgstr "Rimuovi l'immagine associata all'articolo" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" -msgstr "" +msgstr "Nessuna immagine corrispondente trovata" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" -msgstr "" +msgstr "Nascondi Dettagli dell'Articolo" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 #: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 msgid "Supplier Pricing" -msgstr "" +msgstr "Prezzo del Fornitore" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 @@ -6258,8 +6263,8 @@ msgstr "Prezzo di Vendita" msgid "Add Sell Price Break" msgstr "Aggiungi Prezzo Ribassato di Vendita" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "Nessuna giacenza" @@ -6269,49 +6274,49 @@ msgstr "Disponibilità scarsa" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" -msgstr "" +msgstr "Ritorna alla Distinta Base" #: part/templates/part/upload_bom.html:13 msgid "Upload Bill of Materials" -msgstr "" +msgstr "Carica la Fattura dei Materiali" #: part/templates/part/upload_bom.html:19 msgid "BOM upload requirements" -msgstr "" +msgstr "Distinta Base caricamento richiesto" #: part/templates/part/upload_bom.html:23 #: part/templates/part/upload_bom.html:90 msgid "Upload BOM File" -msgstr "" +msgstr "Carica file Distinta Base" #: part/templates/part/upload_bom.html:29 msgid "Submit BOM Data" -msgstr "" +msgstr "Invia Dati Distinta Base" #: part/templates/part/upload_bom.html:37 msgid "Requirements for BOM upload" -msgstr "" +msgstr "Requisiti per il caricamento Distinta Base" #: part/templates/part/upload_bom.html:39 msgid "The BOM file must contain the required named columns as provided in the " -msgstr "" +msgstr "Il file Distinta Base deve contenere le colonne con nome richiesto come indicato nella " #: part/templates/part/upload_bom.html:39 msgid "BOM Upload Template" -msgstr "" +msgstr "Carica Modello Distinta Base" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "" +msgstr "Ogni articolo deve essere già presente nel database" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" -msgstr "" +msgstr "Crea nuove varianti dell'articolo" #: part/templates/part/variant_part.html:10 #, python-format msgid "Create a new variant of template '%(full_name)s'." -msgstr "" +msgstr "Crea una nuova variante del modello '%(full_name)s'." #: part/templatetags/inventree_extras.py:213 msgid "Unknown database" @@ -6320,11 +6325,11 @@ msgstr "Database sconosciuto" #: part/templatetags/inventree_extras.py:265 #, python-brace-format msgid "{title} v{version}" -msgstr "" +msgstr "{title} v{version}" #: part/views.py:111 msgid "Match References" -msgstr "" +msgstr "Riferimenti Corrispondenza" #: part/views.py:239 #, python-brace-format @@ -6333,27 +6338,27 @@ msgstr "Impossibile importare l'articolo {name} perché non c'è nessuna categor #: part/views.py:378 msgid "Part QR Code" -msgstr "" +msgstr "QR Code Articolo" #: part/views.py:396 msgid "Select Part Image" -msgstr "" +msgstr "Seleziona l'immagine dell'Articolo" #: part/views.py:422 msgid "Updated part image" -msgstr "" +msgstr "Immagine articolo aggiornata" #: part/views.py:425 msgid "Part image not found" -msgstr "" +msgstr "Immagine articolo non trovata" #: part/views.py:520 msgid "Part Pricing" -msgstr "" +msgstr "Prezzo Articolo" #: plugin/apps.py:55 msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" +msgstr "Il tuo ambiente ha una versione git obsoleta. Questo impedisce a InvenTree di caricare i dettagli del plugin." #: plugin/base/action/api.py:27 msgid "No action specified" @@ -6365,7 +6370,7 @@ msgstr "Nessuna azione corrispondente trovata" #: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 msgid "Missing barcode data" -msgstr "" +msgstr "Codice a barre mancante" #: plugin/base/barcodes/api.py:80 msgid "No match found for barcode data" @@ -6377,62 +6382,62 @@ msgstr "Corrispondenza trovata per i dati del codice a barre" #: plugin/base/barcodes/api.py:120 msgid "Barcode matches existing item" -msgstr "" +msgstr "Il codice a barre corrisponde a un elemento esistente" #: plugin/base/barcodes/api.py:217 msgid "No match found for provided value" -msgstr "" +msgstr "Nessuna corrispondenza trovata per il valore fornito" #: plugin/base/label/label.py:60 msgid "Label printing failed" -msgstr "" +msgstr "Stampa etichetta fallita" #: plugin/builtin/barcodes/inventree_barcode.py:26 msgid "InvenTree Barcodes" -msgstr "" +msgstr "InvenTree Codice a Barre" #: plugin/builtin/barcodes/inventree_barcode.py:27 msgid "Provides native support for barcodes" -msgstr "" +msgstr "Fornisce supporto nativo per codici a barre" #: plugin/builtin/barcodes/inventree_barcode.py:29 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" -msgstr "" +msgstr "Contributi d'InvenTree" #: plugin/builtin/integration/core_notifications.py:32 msgid "InvenTree Notifications" -msgstr "" +msgstr "InvenTree Notifiche" #: plugin/builtin/integration/core_notifications.py:34 msgid "Integrated outgoing notificaton methods" -msgstr "" +msgstr "Metodi di notifica integrati in uscita" #: plugin/builtin/integration/core_notifications.py:39 #: plugin/builtin/integration/core_notifications.py:80 msgid "Enable email notifications" -msgstr "" +msgstr "Attiva notifiche email" #: plugin/builtin/integration/core_notifications.py:40 #: plugin/builtin/integration/core_notifications.py:81 msgid "Allow sending of emails for event notifications" -msgstr "" +msgstr "Consenti l'invio di email per le notifiche di eventi" #: plugin/builtin/integration/core_notifications.py:45 msgid "Enable slack notifications" -msgstr "" +msgstr "Abilita notifiche per rallentamenti" #: plugin/builtin/integration/core_notifications.py:46 msgid "Allow sending of slack channel messages for event notifications" -msgstr "" +msgstr "Consenti l'invio di messaggi di rallentamenti canale per le notifiche degli eventi" #: plugin/builtin/integration/core_notifications.py:51 msgid "Slack incoming webhook url" -msgstr "" +msgstr "Rallentamenti in entrata notifiche url" #: plugin/builtin/integration/core_notifications.py:52 msgid "URL that is used to send messages to a slack channel" -msgstr "" +msgstr "Questo URL è stato utilizzato per inviare messaggi a un canale rallentato" #: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" @@ -6643,79 +6648,79 @@ msgstr "" #: report/models.py:412 msgid "Purchase order query filters" -msgstr "" +msgstr "Ordine di Acquisto filtra la ricerca" #: report/models.py:450 msgid "Sales order query filters" -msgstr "" +msgstr "Ordine di Vendita filtra la ricerca" #: report/models.py:502 msgid "Snippet" -msgstr "" +msgstr "Snippet" #: report/models.py:503 msgid "Report snippet file" -msgstr "" +msgstr "Report file snippet" #: report/models.py:507 msgid "Snippet file description" -msgstr "" +msgstr "Descrizione file snippet" #: report/models.py:544 msgid "Asset" -msgstr "" +msgstr "Risorsa" #: report/models.py:545 msgid "Report asset file" -msgstr "" +msgstr "Report file risorsa" #: report/models.py:552 msgid "Asset file description" -msgstr "" +msgstr "File risorsa descrizione" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" -msgstr "" +msgstr "Materiali necessari" #: report/templates/report/inventree_build_order_base.html:146 msgid "Required For" -msgstr "" +msgstr "Richiesto Per" #: report/templates/report/inventree_po_report.html:77 msgid "Supplier was deleted" -msgstr "" +msgstr "Il fornitore è stato eliminato" #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" -msgstr "" +msgstr "Test Report Elemento Stock" #: report/templates/report/inventree_test_report_base.html:79 #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" -msgstr "" +msgstr "Numero Seriale" #: report/templates/report/inventree_test_report_base.html:88 msgid "Test Results" -msgstr "" +msgstr "Risultati Test" #: report/templates/report/inventree_test_report_base.html:93 #: stock/models.py:2165 templates/js/translated/stock.js:1378 msgid "Test" -msgstr "" +msgstr "Test" #: report/templates/report/inventree_test_report_base.html:94 #: stock/models.py:2171 msgid "Result" -msgstr "" +msgstr "Risultato" #: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" -msgstr "" +msgstr "Passaggio" #: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" @@ -6724,65 +6729,65 @@ msgstr "Fallito" #: report/templates/report/inventree_test_report_base.html:123 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" -msgstr "" +msgstr "Elementi installati" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "Seriale" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "ID Posizione" #: stock/admin.py:24 stock/admin.py:91 msgid "Location Name" -msgstr "" +msgstr "Nome Ubicazione" #: stock/admin.py:28 stock/templates/stock/location.html:123 #: stock/templates/stock/location.html:129 msgid "Location Path" -msgstr "" +msgstr "Percorso Ubicazione" #: stock/admin.py:83 msgid "Stock Item ID" -msgstr "" +msgstr "ID Elemento Stock" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" -msgstr "" +msgstr "ID Articolo Fornitore" #: stock/admin.py:93 msgid "Supplier ID" -msgstr "" +msgstr "ID Fornitore" #: stock/admin.py:94 msgid "Supplier Name" -msgstr "" +msgstr "Nome Fornitore" #: stock/admin.py:95 msgid "Customer ID" -msgstr "" +msgstr "ID Cliente" #: stock/admin.py:96 stock/models.py:689 #: stock/templates/stock/item_base.html:359 msgid "Installed In" msgstr "Installato In" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" -msgstr "" +msgstr "ID Costruttore" #: stock/admin.py:99 msgid "Sales Order ID" -msgstr "" +msgstr "ID Ordine Vendita" #: stock/admin.py:100 msgid "Purchase Order ID" -msgstr "" +msgstr "ID Ordine D'acquisto" #: stock/admin.py:108 stock/models.py:762 #: stock/templates/stock/item_base.html:427 @@ -6796,16 +6801,16 @@ msgstr "La quantità è richiesta" #: stock/api.py:548 msgid "Valid part must be supplied" -msgstr "" +msgstr "Deve essere fornita un articolo valido" #: stock/api.py:573 msgid "Serial numbers cannot be supplied for a non-trackable part" -msgstr "" +msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" #: stock/models.py:107 stock/models.py:803 #: stock/templates/stock/item_base.html:250 msgid "Owner" -msgstr "" +msgstr "Proprietario" #: stock/models.py:108 stock/models.py:804 msgid "Select Owner" @@ -6813,48 +6818,48 @@ msgstr "Seleziona Owner" #: stock/models.py:115 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" +msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." #: stock/models.py:158 msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" +msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcuni elementi di magazzino sono già posizionati al suo interno!" #: stock/models.py:539 msgid "Stock items cannot be located into structural stock locations!" -msgstr "" +msgstr "Gli articoli di magazzino non possono essere ubicati in posizioni di magazzino strutturali!" #: stock/models.py:564 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" -msgstr "" +msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" #: stock/models.py:581 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" -msgstr "" +msgstr "Il tipo di articolo ('{pf}') deve essere {pe}" #: stock/models.py:591 stock/models.py:600 msgid "Quantity must be 1 for item with a serial number" -msgstr "" +msgstr "La quantità deve essere 1 per elementi con un numero di serie" #: stock/models.py:592 msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" +msgstr "Il numero di serie non può essere impostato se la quantità è maggiore di 1" #: stock/models.py:614 msgid "Item cannot belong to itself" -msgstr "" +msgstr "L'elemento non può appartenere a se stesso" #: stock/models.py:620 msgid "Item must have a build reference if is_building=True" -msgstr "" +msgstr "L'elemento deve avere un riferimento di costruzione se is_building=True" #: stock/models.py:634 msgid "Build reference does not point to the same part object" -msgstr "" +msgstr "Il riferimento di costruzione non punta allo stesso oggetto dell'articolo" #: stock/models.py:648 msgid "Parent Stock Item" -msgstr "" +msgstr "Elemento di magazzino principale" #: stock/models.py:658 msgid "Base part" @@ -6862,7 +6867,7 @@ msgstr "Articolo base" #: stock/models.py:666 msgid "Select a matching supplier part for this stock item" -msgstr "" +msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino" #: stock/models.py:673 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 @@ -6871,23 +6876,23 @@ msgstr "Ubicazione magazzino" #: stock/models.py:676 msgid "Where is this stock item located?" -msgstr "" +msgstr "Dove si trova questo articolo di magazzino?" #: stock/models.py:683 msgid "Packaging this stock item is stored in" -msgstr "" +msgstr "Imballaggio di questo articolo di magazzino è collocato in" #: stock/models.py:692 msgid "Is this item installed in another item?" -msgstr "" +msgstr "Questo elemento è stato installato su un altro elemento?" #: stock/models.py:708 msgid "Serial number for this item" -msgstr "" +msgstr "Numero di serie per questo elemento" #: stock/models.py:722 msgid "Batch code for this stock item" -msgstr "" +msgstr "Codice lotto per questo elemento di magazzino" #: stock/models.py:727 msgid "Stock Quantity" @@ -6895,27 +6900,27 @@ msgstr "Quantità disponibile" #: stock/models.py:734 msgid "Source Build" -msgstr "" +msgstr "Genera Costruzione" #: stock/models.py:736 msgid "Build for this stock item" -msgstr "" +msgstr "Costruisci per questo elemento di magazzino" #: stock/models.py:747 msgid "Source Purchase Order" -msgstr "" +msgstr "Origina Ordine di Acquisto" #: stock/models.py:750 msgid "Purchase order for this stock item" -msgstr "" +msgstr "Ordine d'acquisto per questo articolo in magazzino" #: stock/models.py:756 msgid "Destination Sales Order" -msgstr "" +msgstr "Destinazione Ordine di Vendita" #: stock/models.py:763 msgid "Expiry date for stock item. Stock will be considered expired after this date" -msgstr "" +msgstr "Data di scadenza per l'elemento di magazzino. Le scorte saranno considerate scadute dopo questa data" #: stock/models.py:778 msgid "Delete on deplete" @@ -6923,142 +6928,142 @@ msgstr "Elimina al esaurimento" #: stock/models.py:778 msgid "Delete this Stock Item when stock is depleted" -msgstr "" +msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita" #: stock/models.py:791 stock/templates/stock/item.html:132 msgid "Stock Item Notes" -msgstr "" +msgstr "Note Elemento di magazzino" #: stock/models.py:799 msgid "Single unit purchase price at time of purchase" -msgstr "" +msgstr "Prezzo di acquisto unitario al momento dell’acquisto" #: stock/models.py:827 msgid "Converted to part" -msgstr "" +msgstr "Convertito in articolo" #: stock/models.py:1317 msgid "Part is not set as trackable" -msgstr "" +msgstr "L'articolo non è impostato come tracciabile" #: stock/models.py:1323 msgid "Quantity must be integer" -msgstr "" +msgstr "La quantità deve essere un numero intero" #: stock/models.py:1329 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" -msgstr "" +msgstr "La quantità non deve superare la quantità disponibile ({n})" #: stock/models.py:1332 msgid "Serial numbers must be a list of integers" -msgstr "" +msgstr "I numeri di serie devono essere numeri interi" #: stock/models.py:1335 msgid "Quantity does not match serial numbers" -msgstr "" +msgstr "La quantità non corrisponde ai numeri di serie" #: stock/models.py:1342 #, python-brace-format msgid "Serial numbers already exist: {exists}" -msgstr "" +msgstr "Numeri di serie già esistenti: {exists}" #: stock/models.py:1412 msgid "Stock item has been assigned to a sales order" -msgstr "" +msgstr "L'elemento di magazzino è stato assegnato a un ordine di vendita" #: stock/models.py:1415 msgid "Stock item is installed in another item" -msgstr "" +msgstr "L'elemento di magazzino è installato in un altro elemento" #: stock/models.py:1418 msgid "Stock item contains other items" -msgstr "" +msgstr "L'elemento di magazzino contiene altri elementi" #: stock/models.py:1421 msgid "Stock item has been assigned to a customer" -msgstr "" +msgstr "L'elemento di magazzino è stato assegnato a un cliente" #: stock/models.py:1424 msgid "Stock item is currently in production" -msgstr "" +msgstr "L'elemento di magazzino è attualmente in produzione" #: stock/models.py:1427 msgid "Serialized stock cannot be merged" -msgstr "" +msgstr "Il magazzino serializzato non può essere unito" #: stock/models.py:1434 stock/serializers.py:963 msgid "Duplicate stock items" -msgstr "" +msgstr "Duplica elementi di magazzino" #: stock/models.py:1438 msgid "Stock items must refer to the same part" -msgstr "" +msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" #: stock/models.py:1442 msgid "Stock items must refer to the same supplier part" -msgstr "" +msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" #: stock/models.py:1446 msgid "Stock status codes must match" -msgstr "" +msgstr "I codici di stato dello stock devono corrispondere" #: stock/models.py:1615 msgid "StockItem cannot be moved as it is not in stock" -msgstr "" +msgstr "Le giacenze non possono essere spostate perché non disponibili" #: stock/models.py:2083 msgid "Entry notes" -msgstr "" +msgstr "Note d'ingresso" #: stock/models.py:2141 msgid "Value must be provided for this test" -msgstr "" +msgstr "Il valore deve essere fornito per questo test" #: stock/models.py:2147 msgid "Attachment must be uploaded for this test" -msgstr "" +msgstr "L'allegato deve essere caricato per questo test" #: stock/models.py:2166 msgid "Test name" -msgstr "" +msgstr "Nome Test" #: stock/models.py:2172 msgid "Test result" -msgstr "" +msgstr "Risultato Test" #: stock/models.py:2178 msgid "Test output value" -msgstr "" +msgstr "Test valore output" #: stock/models.py:2185 msgid "Test result attachment" -msgstr "" +msgstr "Risultato della prova allegato" #: stock/models.py:2191 msgid "Test notes" -msgstr "" +msgstr "Note del test" #: stock/serializers.py:75 msgid "Serial number is too large" -msgstr "" +msgstr "Il numero di serie è troppo grande" #: stock/serializers.py:176 msgid "Purchase price of this stock item" -msgstr "" +msgstr "Prezzo di acquisto di questo elemento di magazzino" #: stock/serializers.py:286 msgid "Enter number of stock items to serialize" -msgstr "" +msgstr "Inserisci il numero di elementi di magazzino da serializzare" #: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" -msgstr "" +msgstr "La quantità non deve superare la quantità disponibile ({q})" #: stock/serializers.py:304 msgid "Enter serial numbers for new items" -msgstr "" +msgstr "Inserisci i numeri di serie per i nuovi elementi" #: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 msgid "Destination stock location" @@ -7066,11 +7071,11 @@ msgstr "Posizione magazzino di destinazione" #: stock/serializers.py:322 msgid "Optional note field" -msgstr "" +msgstr "Note opzionali elemento" #: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" -msgstr "" +msgstr "Numeri di serie non possono essere assegnati a questo articolo" #: stock/serializers.py:353 msgid "Serial numbers already exist" @@ -7078,144 +7083,144 @@ msgstr "Numeri di serie già esistenti" #: stock/serializers.py:393 msgid "Select stock item to install" -msgstr "" +msgstr "Seleziona elementi di magazzino da installare" #: stock/serializers.py:406 msgid "Stock item is unavailable" -msgstr "" +msgstr "Elemento di magazzino non disponibile" #: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" -msgstr "" +msgstr "L'articolo selezionato non è nella Fattura dei Materiali" #: stock/serializers.py:450 msgid "Destination location for uninstalled item" -msgstr "" +msgstr "Posizione di destinazione per gli elementi disinstallati" #: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" -msgstr "" +msgstr "Aggiungi nota di transazione (opzionale)" #: stock/serializers.py:489 msgid "Select part to convert stock item into" -msgstr "" +msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino" #: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" -msgstr "" +msgstr "L'articolo selezionato non è una valida opzione per la conversione" #: stock/serializers.py:531 msgid "Destination location for returned item" -msgstr "" +msgstr "Posizione di destinazione per l'elemento restituito" #: stock/serializers.py:775 msgid "Part must be salable" -msgstr "" +msgstr "L'articolo deve essere vendibile" #: stock/serializers.py:779 msgid "Item is allocated to a sales order" -msgstr "" +msgstr "L'elemento è assegnato a un ordine di vendita" #: stock/serializers.py:783 msgid "Item is allocated to a build order" -msgstr "" +msgstr "Elemento assegnato a un ordine di costruzione" #: stock/serializers.py:814 msgid "Customer to assign stock items" -msgstr "" +msgstr "Cliente a cui assegnare elementi di magazzino" #: stock/serializers.py:820 msgid "Selected company is not a customer" -msgstr "" +msgstr "L'azienda selezionata non è un cliente" #: stock/serializers.py:828 msgid "Stock assignment notes" -msgstr "" +msgstr "Note sull'assegnazione delle scorte" #: stock/serializers.py:838 stock/serializers.py:1069 msgid "A list of stock items must be provided" -msgstr "" +msgstr "Deve essere fornito un elenco degli elementi di magazzino" #: stock/serializers.py:927 msgid "Stock merging notes" -msgstr "" +msgstr "Note di fusione di magazzino" #: stock/serializers.py:932 msgid "Allow mismatched suppliers" -msgstr "" +msgstr "Consenti fornitori non corrispondenti" #: stock/serializers.py:933 msgid "Allow stock items with different supplier parts to be merged" -msgstr "" +msgstr "Consenti di unire gli elementi di magazzino che hanno fornitori diversi" #: stock/serializers.py:938 msgid "Allow mismatched status" -msgstr "" +msgstr "Consenti stato non corrispondente" #: stock/serializers.py:939 msgid "Allow stock items with different status codes to be merged" -msgstr "" +msgstr "Consenti di unire gli elementi di magazzino con diversi codici di stato" #: stock/serializers.py:949 msgid "At least two stock items must be provided" -msgstr "" +msgstr "Devono essere riforniti almeno due elementi in magazzino" #: stock/serializers.py:1031 msgid "StockItem primary key value" -msgstr "" +msgstr "Valore di chiave primaria StockItem" #: stock/serializers.py:1059 msgid "Stock transaction notes" -msgstr "" +msgstr "Note sugli spostamenti di magazzino" #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" -msgstr "" +msgstr "Informazioni di Tracciamento Magazzino" #: stock/templates/stock/item.html:69 msgid "Child Stock Items" -msgstr "" +msgstr "Elementi Secondari Magazzino" #: stock/templates/stock/item.html:77 msgid "This stock item does not have any child items" -msgstr "" +msgstr "Questo elemento di magazzino non ha nessun elemento secondario" #: stock/templates/stock/item.html:86 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" -msgstr "" +msgstr "Dati di Test" #: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 msgid "Test Report" -msgstr "" +msgstr "Rapporto del Test" #: stock/templates/stock/item.html:94 stock/templates/stock/item.html:302 msgid "Delete Test Data" -msgstr "" +msgstr "Elimina Dati di Test" #: stock/templates/stock/item.html:98 msgid "Add Test Data" -msgstr "" +msgstr "Aggiungi Dati Di Test" #: stock/templates/stock/item.html:147 msgid "Installed Stock Items" -msgstr "" +msgstr "Elementi di magazzino installati" #: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 msgid "Install Stock Item" -msgstr "" +msgstr "Installa Elemento Magazzino" #: stock/templates/stock/item.html:290 msgid "Delete all test results for this stock item" -msgstr "" +msgstr "Elimina tutti i risultati del test per questo elemento di magazzino" #: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 msgid "Add Test Result" -msgstr "" +msgstr "Aggiungi Risultato Test" #: stock/templates/stock/item_base.html:34 msgid "Locate stock item" -msgstr "" +msgstr "Individua elemento di magazzino" #: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 msgid "Scan to Location" @@ -7224,11 +7229,11 @@ msgstr "Scansiona nella posizione" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:63 msgid "Printing actions" -msgstr "" +msgstr "Impostazioni di stampa" #: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" -msgstr "" +msgstr "Azioni adeguamento giacenza" #: stock/templates/stock/item_base.html:80 #: stock/templates/stock/location.html:82 templates/stock_table.html:47 @@ -7245,7 +7250,7 @@ msgstr "Rimuovi giacenza" #: stock/templates/stock/item_base.html:86 msgid "Serialize stock" -msgstr "" +msgstr "Serializza magazzino" #: stock/templates/stock/item_base.html:89 #: stock/templates/stock/location.html:88 templates/stock_table.html:48 @@ -7254,84 +7259,84 @@ msgstr "Trasferisci giacenza" #: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 msgid "Assign to customer" -msgstr "" +msgstr "Assegna al cliente" #: stock/templates/stock/item_base.html:95 msgid "Return to stock" -msgstr "" +msgstr "Torna al magazzino" #: stock/templates/stock/item_base.html:98 msgid "Uninstall stock item" -msgstr "" +msgstr "Disinstalla elemento di magazzino" #: stock/templates/stock/item_base.html:98 msgid "Uninstall" -msgstr "" +msgstr "Disinstalla" #: stock/templates/stock/item_base.html:102 msgid "Install stock item" -msgstr "" +msgstr "Installa elementi stock" #: stock/templates/stock/item_base.html:102 msgid "Install" -msgstr "" +msgstr "Installa" #: stock/templates/stock/item_base.html:116 msgid "Convert to variant" -msgstr "" +msgstr "Converti in variante" #: stock/templates/stock/item_base.html:119 msgid "Duplicate stock item" -msgstr "" +msgstr "Duplica elemento di magazzino" #: stock/templates/stock/item_base.html:121 msgid "Edit stock item" -msgstr "" +msgstr "Modifica elemento di magazzino" #: stock/templates/stock/item_base.html:124 msgid "Delete stock item" -msgstr "" +msgstr "Cancella elemento di magazzino" #: stock/templates/stock/item_base.html:196 msgid "Parent Item" -msgstr "" +msgstr "Elemento principale" #: stock/templates/stock/item_base.html:214 msgid "No manufacturer set" -msgstr "" +msgstr "Nessun produttore impostato" #: stock/templates/stock/item_base.html:254 msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "" +msgstr "Non sei nell'elenco dei proprietari di questo elemento. Questo elemento di magazzino non può essere modificato." #: stock/templates/stock/item_base.html:255 #: stock/templates/stock/location.html:141 msgid "Read only" -msgstr "" +msgstr "Sola lettura" #: stock/templates/stock/item_base.html:268 msgid "This stock item is in production and cannot be edited." -msgstr "" +msgstr "Questo elemento di magazzino è in produzione e non può essere modificato." #: stock/templates/stock/item_base.html:269 msgid "Edit the stock item from the build view." -msgstr "" +msgstr "Modifica l'elemento di magazzino dalla visualizzazione generata." #: stock/templates/stock/item_base.html:282 msgid "This stock item has not passed all required tests" -msgstr "" +msgstr "Questo elemento di magazzino non ha superato i test richiesti" #: stock/templates/stock/item_base.html:290 msgid "This stock item is allocated to Sales Order" -msgstr "" +msgstr "Questo elemento di magazzino è stato assegnato all'Ordine di Vendita" #: stock/templates/stock/item_base.html:298 msgid "This stock item is allocated to Build Order" -msgstr "" +msgstr "Questo elemento di magazzino è stato assegnato all'Ordine di Produzione" #: stock/templates/stock/item_base.html:304 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "" +msgstr "Questo elemento di magazzino è di serie - ha un numero di serie unico e la quantità non può essere regolata." #: stock/templates/stock/item_base.html:326 msgid "previous page" @@ -7339,7 +7344,7 @@ msgstr "pagina precedente" #: stock/templates/stock/item_base.html:326 msgid "Navigate to previous serial number" -msgstr "" +msgstr "Vai al numero di serie precedente" #: stock/templates/stock/item_base.html:335 msgid "next page" @@ -7347,7 +7352,7 @@ msgstr "pagina successiva" #: stock/templates/stock/item_base.html:335 msgid "Navigate to next serial number" -msgstr "" +msgstr "Vai al numero di serie successivo" #: stock/templates/stock/item_base.html:348 msgid "Available Quantity" @@ -7628,56 +7633,56 @@ msgstr "" #: templates/InvenTree/index.html:312 msgid "InvenTree News" -msgstr "" +msgstr "Novità InvenTree" #: templates/InvenTree/index.html:314 msgid "Current News" -msgstr "" +msgstr "Notizie Attuali" #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" -msgstr "" +msgstr "Cronologia Notifiche" #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" -msgstr "" +msgstr "Notifiche In Attesa" #: templates/InvenTree/notifications/inbox.html:13 #: templates/InvenTree/notifications/inbox.html:14 msgid "Mark all as read" -msgstr "" +msgstr "Segna tutte come lette" #: templates/InvenTree/notifications/notifications.html:10 #: templates/InvenTree/notifications/sidebar.html:5 #: templates/InvenTree/settings/sidebar.html:17 #: templates/InvenTree/settings/sidebar.html:35 templates/notifications.html:5 msgid "Notifications" -msgstr "" +msgstr "Notifiche" #: templates/InvenTree/notifications/notifications.html:39 msgid "No unread notifications found" -msgstr "" +msgstr "Nessuna notifica non letta" #: templates/InvenTree/notifications/notifications.html:59 msgid "No notification history found" -msgstr "" +msgstr "Nessuna cronologia notifiche trovata" #: templates/InvenTree/notifications/notifications.html:67 msgid "Delete all read notifications" -msgstr "" +msgstr "Elimina tutte le notifiche lette" #: templates/InvenTree/notifications/notifications.html:93 #: templates/js/translated/notification.js:82 msgid "Delete Notification" -msgstr "" +msgstr "Elimina notifica" #: templates/InvenTree/notifications/sidebar.html:8 msgid "Inbox" -msgstr "" +msgstr "Posta" #: templates/InvenTree/notifications/sidebar.html:10 msgid "History" -msgstr "" +msgstr "Cronologia" #: templates/InvenTree/search.html:8 msgid "Search Results" @@ -7685,11 +7690,11 @@ msgstr "Risultati della Ricerca" #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" -msgstr "" +msgstr "Impostazioni codice a barre" #: templates/InvenTree/settings/build.html:8 msgid "Build Order Settings" -msgstr "" +msgstr "Impostazione Ordine di Produzione" #: templates/InvenTree/settings/category.html:7 msgid "Category Settings" @@ -7702,7 +7707,7 @@ msgstr "Impostazioni Server" #: templates/InvenTree/settings/label.html:8 #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "" +msgstr "Impostazioni Etichetta" #: templates/InvenTree/settings/login.html:9 #: templates/InvenTree/settings/sidebar.html:31 @@ -7711,7 +7716,7 @@ msgstr "Impostazioni di accesso" #: templates/InvenTree/settings/login.html:16 msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" -msgstr "" +msgstr "L'email in uscita non è stata configurata. Alcune funzioni di login e di registrazione potrebbero non funzionare correttamente!" #: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 @@ -7720,33 +7725,33 @@ msgstr "Registrati" #: templates/InvenTree/settings/login.html:35 msgid "Single Sign On" -msgstr "" +msgstr "Accesso singolo" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 msgid "Settings" -msgstr "" +msgstr "Impostazioni" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" -msgstr "" +msgstr "URL" #: templates/InvenTree/settings/mixins/urls.html:8 #, python-format msgid "The Base-URL for this plugin is %(base)s." -msgstr "" +msgstr "L'URL di base per questo plugin è %(base)s." #: templates/InvenTree/settings/mixins/urls.html:23 msgid "Open in new tab" -msgstr "" +msgstr "Apri in una nuova scheda" #: templates/InvenTree/settings/notifications.html:9 msgid "Global Notification Settings" -msgstr "" +msgstr "Impostazioni globali di notifica" #: templates/InvenTree/settings/notifications.html:18 msgid "Slug" -msgstr "" +msgstr "Slug" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" @@ -7762,105 +7767,105 @@ msgstr "Importa Articolo" #: templates/InvenTree/settings/part.html:59 msgid "Part Parameter Templates" -msgstr "" +msgstr "Modelli parametro articolo" #: templates/InvenTree/settings/plugin.html:10 #: templates/InvenTree/settings/sidebar.html:57 msgid "Plugin Settings" -msgstr "" +msgstr "Impostazioni Plugin" #: templates/InvenTree/settings/plugin.html:16 msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." -msgstr "" +msgstr "Cambiando le impostazioni qui sotto, si richiede di riavviare immediatamente il server. Non cambiare le impostazioni durante l'utilizzo." #: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:59 msgid "Plugins" -msgstr "" +msgstr "Plugin" #: templates/InvenTree/settings/plugin.html:44 #: templates/js/translated/plugin.js:16 msgid "Install Plugin" -msgstr "" +msgstr "Installa Plugin" #: templates/InvenTree/settings/plugin.html:52 msgid "External plugins are not enabled for this InvenTree installation" -msgstr "" +msgstr "I plugin esterni non sono abilitati per questa installazione InvenTree" #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" -msgstr "" +msgstr "Versione" #: templates/InvenTree/settings/plugin.html:72 msgid "Active plugins" -msgstr "" +msgstr "Plugin attivi" #: templates/InvenTree/settings/plugin.html:80 msgid "Inactive plugins" -msgstr "" +msgstr "Plugin inattivi" #: templates/InvenTree/settings/plugin.html:94 msgid "Plugin Error Stack" -msgstr "" +msgstr "Plugin Errore Stack" #: templates/InvenTree/settings/plugin.html:103 msgid "Stage" -msgstr "" +msgstr "Stage" #: templates/InvenTree/settings/plugin.html:105 #: templates/js/translated/notification.js:75 msgid "Message" -msgstr "" +msgstr "Messaggio" #: templates/InvenTree/settings/plugin_details.html:32 #: templates/InvenTree/settings/plugin_settings.html:101 msgid "Builtin" -msgstr "" +msgstr "Integrato" #: templates/InvenTree/settings/plugin_details.html:38 msgid "Sample" -msgstr "" +msgstr "Esempio" #: templates/InvenTree/settings/plugin_settings.html:17 msgid "Plugin information" -msgstr "" +msgstr "Informazioni Plugin" #: templates/InvenTree/settings/plugin_settings.html:48 msgid "no version information supplied" -msgstr "" +msgstr "nessuna informazione di versione fornita" #: templates/InvenTree/settings/plugin_settings.html:62 msgid "License" -msgstr "" +msgstr "Licenza" #: templates/InvenTree/settings/plugin_settings.html:71 msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running." -msgstr "" +msgstr "Le informazioni sul codice vengono prelevate dall'ultimo commit git per questo plugin. Potrebbe non riflettere numeri di versione ufficiali o informazioni ma il codice effettivo in esecuzione." #: templates/InvenTree/settings/plugin_settings.html:77 msgid "Package information" -msgstr "" +msgstr "Informazioni Pacchetto" #: templates/InvenTree/settings/plugin_settings.html:83 msgid "Installation method" -msgstr "" +msgstr "Metodo d'installazione" #: templates/InvenTree/settings/plugin_settings.html:86 msgid "This plugin was installed as a package" -msgstr "" +msgstr "Questo plugin è stato installato come pacchetto" #: templates/InvenTree/settings/plugin_settings.html:88 msgid "This plugin was found in a local server path" -msgstr "" +msgstr "Questo plugin è stato trovato in un percorso server locale" #: templates/InvenTree/settings/plugin_settings.html:94 msgid "Installation path" -msgstr "" +msgstr "Percorso d'installazione" #: templates/InvenTree/settings/plugin_settings.html:102 msgid "This is a builtin plugin which cannot be disabled" -msgstr "" +msgstr "Questo è un plugin integrato che non può essere disabilitato" #: templates/InvenTree/settings/plugin_settings.html:107 msgid "Commit Author" @@ -7869,7 +7874,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:111 #: templates/about.html:36 msgid "Commit Date" -msgstr "" +msgstr "Data d'impegno" #: templates/InvenTree/settings/plugin_settings.html:115 #: templates/about.html:29 @@ -7882,23 +7887,23 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:127 msgid "Sign Status" -msgstr "" +msgstr "Stato Firma" #: templates/InvenTree/settings/plugin_settings.html:132 msgid "Sign Key" -msgstr "" +msgstr "Chiave Di Firma" #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" -msgstr "" +msgstr "Impostazioni Ordine di Acquisto" #: templates/InvenTree/settings/pricing.html:7 msgid "Pricing Settings" -msgstr "" +msgstr "Impostazioni Prezzi" #: templates/InvenTree/settings/pricing.html:33 msgid "Exchange Rates" -msgstr "" +msgstr "Tassi di cambio" #: templates/InvenTree/settings/pricing.html:37 msgid "Update Now" @@ -7907,7 +7912,7 @@ msgstr "Aggiorna Ora" #: templates/InvenTree/settings/pricing.html:45 #: templates/InvenTree/settings/pricing.html:49 msgid "Last Update" -msgstr "" +msgstr "Ultimo Aggiornamento" #: templates/InvenTree/settings/pricing.html:49 msgid "Never" @@ -7916,35 +7921,35 @@ msgstr "Mai" #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" -msgstr "" +msgstr "Impostazioni Report" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" -msgstr "" +msgstr "Nessun valore impostato" #: templates/InvenTree/settings/setting.html:44 msgid "Edit setting" -msgstr "" +msgstr "Modifica impostazioni" #: templates/InvenTree/settings/settings.html:118 msgid "Edit Plugin Setting" -msgstr "" +msgstr "Modifica Impostazioni Plugin" #: templates/InvenTree/settings/settings.html:120 msgid "Edit Notification Setting" -msgstr "" +msgstr "Modifica Impostazioni Notifica" #: templates/InvenTree/settings/settings.html:123 msgid "Edit Global Setting" -msgstr "" +msgstr "Modifica Impostazioni Globali" #: templates/InvenTree/settings/settings.html:125 msgid "Edit User Setting" -msgstr "" +msgstr "Modifica Impostazioni Utente" #: templates/InvenTree/settings/settings.html:196 msgid "Rate" -msgstr "" +msgstr "Voto" #: templates/InvenTree/settings/settings.html:261 msgid "No category parameter templates found" @@ -7953,12 +7958,12 @@ msgstr "Nessun parametro di categoria trovato" #: templates/InvenTree/settings/settings.html:283 #: templates/InvenTree/settings/settings.html:408 msgid "Edit Template" -msgstr "" +msgstr "Modifica Template" #: templates/InvenTree/settings/settings.html:284 #: templates/InvenTree/settings/settings.html:409 msgid "Delete Template" -msgstr "" +msgstr "Elimina Template" #: templates/InvenTree/settings/settings.html:324 msgid "Create Category Parameter Template" @@ -7970,29 +7975,29 @@ msgstr "Elimina Modello Parametro Categoria" #: templates/InvenTree/settings/settings.html:381 msgid "No part parameter templates found" -msgstr "" +msgstr "Nessun parametro dell'articolo templates trovato" #: templates/InvenTree/settings/settings.html:385 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" -msgstr "" +msgstr "ID" #: templates/InvenTree/settings/settings.html:427 msgid "Create Part Parameter Template" -msgstr "" +msgstr "Crea Parametro Articolo Template" #: templates/InvenTree/settings/settings.html:446 msgid "Edit Part Parameter Template" -msgstr "" +msgstr "Modifica Parametro Articolo Template" #: templates/InvenTree/settings/settings.html:460 msgid "Any parameters which reference this template will also be deleted" -msgstr "" +msgstr "Ogni parametro che fa riferimento a questo modello verrà eliminato" #: templates/InvenTree/settings/settings.html:468 msgid "Delete Part Parameter Template" -msgstr "" +msgstr "Elimina Parametro Articolo Template" #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 @@ -8002,16 +8007,16 @@ msgstr "Impostazioni Utente" #: templates/InvenTree/settings/sidebar.html:9 #: templates/InvenTree/settings/user.html:12 msgid "Account Settings" -msgstr "" +msgstr "Impostazioni Account" #: templates/InvenTree/settings/sidebar.html:11 #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" -msgstr "" +msgstr "Impostazioni Schermo" #: templates/InvenTree/settings/sidebar.html:13 msgid "Home Page" -msgstr "" +msgstr "Home Page" #: templates/InvenTree/settings/sidebar.html:15 #: templates/InvenTree/settings/user_search.html:9 @@ -8021,32 +8026,32 @@ msgstr "Impostazioni di ricerca" #: templates/InvenTree/settings/sidebar.html:19 #: templates/InvenTree/settings/sidebar.html:39 msgid "Label Printing" -msgstr "" +msgstr "Stampa Etichette" #: templates/InvenTree/settings/sidebar.html:21 #: templates/InvenTree/settings/sidebar.html:41 msgid "Reporting" -msgstr "" +msgstr "Rapporti" #: templates/InvenTree/settings/sidebar.html:26 msgid "Global Settings" -msgstr "" +msgstr "Impostazioni Globali" #: templates/InvenTree/settings/sidebar.html:29 msgid "Server Configuration" -msgstr "" +msgstr "Configurazione Server" #: templates/InvenTree/settings/sidebar.html:45 msgid "Categories" -msgstr "" +msgstr "Categorie" #: templates/InvenTree/settings/so.html:7 msgid "Sales Order Settings" -msgstr "" +msgstr "Impostazioni Ordine di Vendita" #: templates/InvenTree/settings/stock.html:7 msgid "Stock Settings" -msgstr "" +msgstr "Impostazioni Magazzino" #: templates/InvenTree/settings/user.html:18 #: templates/account/password_reset_from_key.html:4 @@ -8074,7 +8079,7 @@ msgstr "Cognome" #: templates/InvenTree/settings/user.html:54 msgid "The following email addresses are associated with your account:" -msgstr "" +msgstr "I seguenti indirizzi email sono associati con il tuo account:" #: templates/InvenTree/settings/user.html:75 msgid "Verified" @@ -8102,7 +8107,7 @@ msgstr "Attenzione:" #: templates/InvenTree/settings/user.html:96 msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." -msgstr "" +msgstr "Al momento non hai nessun indirizzo email impostato. Dovresti aggiungere un indirizzo email in modo da poter ricevere notifiche, reimpostare la password, ecc." #: templates/InvenTree/settings/user.html:104 msgid "Add Email Address" @@ -8114,35 +8119,35 @@ msgstr "Aggiungi Email" #: templates/InvenTree/settings/user.html:117 msgid "Social Accounts" -msgstr "" +msgstr "Account Social" #: templates/InvenTree/settings/user.html:122 msgid "You can sign in to your account using any of the following third party accounts:" -msgstr "" +msgstr "Puoi accedere al tuo account utilizzando uno dei seguenti account di terze parti:" #: templates/InvenTree/settings/user.html:158 msgid "There are no social network accounts connected to this account." -msgstr "" +msgstr "Non ci sono account di social network connessi a questo account." #: templates/InvenTree/settings/user.html:164 msgid "Add a 3rd Party Account" -msgstr "" +msgstr "Aggiungi un Account di Terze Parti" #: templates/InvenTree/settings/user.html:174 msgid "Multifactor" -msgstr "" +msgstr "Multifattore" #: templates/InvenTree/settings/user.html:179 msgid "You have these factors available:" -msgstr "" +msgstr "Sono disponibili questi fattori:" #: templates/InvenTree/settings/user.html:189 msgid "TOTP" -msgstr "" +msgstr "TOTP" #: templates/InvenTree/settings/user.html:195 msgid "Static" -msgstr "" +msgstr "Statico" #: templates/InvenTree/settings/user.html:204 msgid "Multifactor authentication is not configured for your account" @@ -8341,7 +8346,7 @@ msgstr "Conferma l'indirizzo e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Conferma" @@ -8385,7 +8390,7 @@ msgstr "Sei sicuro di voler uscire?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 #: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 msgid "Return to Site" -msgstr "" +msgstr "Ritorna al Sito" #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 @@ -8406,12 +8411,12 @@ msgstr "Questa funzione è attualmente disabilitata. Contatta un amministratore. #: templates/account/password_reset_from_key.html:7 msgid "Bad Token" -msgstr "" +msgstr "Token Errato" #: templates/account/password_reset_from_key.html:11 #, python-format msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" +msgstr "Il link di reset della password non era valido, forse perché è già stato utilizzato. Si prega di richiedere un nuovo reset della password." #: templates/account/password_reset_from_key.html:18 msgid "Change password" @@ -8424,26 +8429,26 @@ msgstr "La tua password è stata modificata." #: templates/account/signup.html:13 #, python-format msgid "Already have an account? Then please sign in." -msgstr "" +msgstr "Hai già un account? Allora accedi." #: templates/account/signup.html:28 msgid "Use a SSO-provider for signup" -msgstr "" +msgstr "Usa un SSO-provider per la registrazione" #: templates/account/signup_closed.html:5 #: templates/account/signup_closed.html:8 msgid "Sign Up Closed" -msgstr "" +msgstr "Registrazione Chiusa" #: templates/account/signup_closed.html:10 msgid "Sign up is currently closed." -msgstr "" +msgstr "L'iscrizione è attualmente chiusa." #: templates/account/signup_closed.html:15 #: templates/socialaccount/authentication_error.html:19 #: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27 msgid "Return to login page" -msgstr "" +msgstr "Torna alla pagina di login" #: templates/admin_button.html:8 msgid "View in administration panel" @@ -8451,67 +8456,67 @@ msgstr "Visualizza nel pannello di amministrazione" #: templates/allauth_2fa/authenticate.html:5 msgid "Two-Factor Authentication" -msgstr "" +msgstr "Autenticazione a Due Fattori" #: templates/allauth_2fa/authenticate.html:13 msgid "Authenticate" -msgstr "" +msgstr "Autenticazione" #: templates/allauth_2fa/backup_tokens.html:6 msgid "Two-Factor Authentication Backup Tokens" -msgstr "" +msgstr "Token Di Backup Dell'Autenticazione A Due Fattori" #: templates/allauth_2fa/backup_tokens.html:17 msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones." -msgstr "" +msgstr "I token di backup sono stati generati, ma non vengono rivelati qui per motivi di sicurezza. Premi il pulsante qui sotto per generarne di nuovi." #: templates/allauth_2fa/backup_tokens.html:20 msgid "No backup tokens are available. Press the button below to generate some." -msgstr "" +msgstr "Nessun token di backup disponibile. Premi il pulsante qui sotto per generarne alcuni." #: templates/allauth_2fa/backup_tokens.html:28 msgid "Generate Tokens" -msgstr "" +msgstr "Genera token" #: templates/allauth_2fa/remove.html:6 msgid "Disable Two-Factor Authentication" -msgstr "" +msgstr "Disabilita Autenticazione a Due Fattori" #: templates/allauth_2fa/remove.html:9 msgid "Are you sure?" -msgstr "" +msgstr "Sei sicuro?" #: templates/allauth_2fa/remove.html:17 msgid "Disable 2FA" -msgstr "" +msgstr "Disabilita l'autenticazione a due fattori" #: templates/allauth_2fa/setup.html:6 msgid "Setup Two-Factor Authentication" -msgstr "" +msgstr "Imposta l'Autenticazione a Due Fattori" #: templates/allauth_2fa/setup.html:10 msgid "Step 1" -msgstr "" +msgstr "Passaggio 1" #: templates/allauth_2fa/setup.html:14 msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." -msgstr "" +msgstr "Scansiona il codice QR qui sotto con un generatore di token di tua scelta (per esempio Google Authenticator)." #: templates/allauth_2fa/setup.html:23 msgid "Step 2" -msgstr "" +msgstr "Passaggio 2" #: templates/allauth_2fa/setup.html:27 msgid "Input a token generated by the app:" -msgstr "" +msgstr "Inserisci un token generato dall'app:" #: templates/allauth_2fa/setup.html:37 msgid "Verify" -msgstr "" +msgstr "Verifica" #: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 msgid "Add Link" -msgstr "" +msgstr "Aggiungi Collegamento" #: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 msgid "Add Attachment" @@ -8519,11 +8524,11 @@ msgstr "Aggiungi allegato" #: templates/attachment_table.html:11 msgid "Delete selected attachments" -msgstr "" +msgstr "Elimina allegati selezionati" #: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 msgid "Delete Attachments" -msgstr "" +msgstr "Elimina Allegati" #: templates/base.html:101 msgid "Server Restart Required" @@ -8548,24 +8553,24 @@ msgstr "Comprimi tutte le righe" #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 msgid "Click on the following link to view this order" -msgstr "" +msgstr "Clicca il seguente link per visualizzare quest'ordine" #: templates/email/build_order_required_stock.html:7 msgid "Stock is required for the following build order" -msgstr "" +msgstr "La giacenza è richiesta per il seguente ordine di produzione" #: templates/email/build_order_required_stock.html:8 #, python-format msgid "Build order %(build)s - building %(quantity)s x %(part)s" -msgstr "" +msgstr "Ordine di produzione %(build)s - produzione %(quantity)s x %(part)s" #: templates/email/build_order_required_stock.html:10 msgid "Click on the following link to view this build order" -msgstr "" +msgstr "Clicca il seguente link per visualizzare quest'ordine di produzione" #: templates/email/build_order_required_stock.html:14 msgid "The following parts are low on required stock" -msgstr "" +msgstr "I seguenti articoli sono pochi nel magazzino richiesto" #: templates/email/build_order_required_stock.html:18 #: templates/js/translated/bom.js:1637 @@ -8579,10 +8584,10 @@ msgstr "Stai ricevendo questa email perché sei iscritto alle notifiche per ques #: templates/email/low_stock_notification.html:9 msgid "Click on the following link to view this part" -msgstr "" +msgstr "Clicca il seguente link per visualizzare questo articolo" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "Quantità minima" @@ -8592,75 +8597,75 @@ msgstr "Espandi tutte le righe" #: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 msgid "No Response" -msgstr "" +msgstr "Nessuna Risposta" #: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 msgid "No response from the InvenTree server" -msgstr "" +msgstr "Nessuna risposta dal server InvenTree" #: templates/js/translated/api.js:202 msgid "Error 400: Bad request" -msgstr "" +msgstr "Errore 400: Richiesta Errata" #: templates/js/translated/api.js:203 msgid "API request returned error code 400" -msgstr "" +msgstr "Richiesta API restituito codice di errore 400" #: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 msgid "Error 401: Not Authenticated" -msgstr "" +msgstr "Errore 401: Non Autenticato" #: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 msgid "Authentication credentials not supplied" -msgstr "" +msgstr "Credenziali di autenticazione non fornite" #: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 msgid "Error 403: Permission Denied" -msgstr "" +msgstr "Errore 403 - Permesso negato" #: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 msgid "You do not have the required permissions to access this function" -msgstr "" +msgstr "Non hai i permessi necessari per accedere a questa funzione" #: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 msgid "Error 404: Resource Not Found" -msgstr "" +msgstr "Errore 404: Risorsa Non Trovata" #: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 msgid "The requested resource could not be located on the server" -msgstr "" +msgstr "La risorsa richiesta non può essere localizzata sul server" #: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" -msgstr "" +msgstr "Errore 405: Metodo Non Consentito" #: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" -msgstr "" +msgstr "Metodo HTTP non consentito all'URL" #: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 msgid "Error 408: Timeout" -msgstr "" +msgstr "Errore 408: Timeout" #: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 msgid "Connection timeout while requesting data from server" -msgstr "" +msgstr "Timeout connessione durante la richiesta di dati dal server" #: templates/js/translated/api.js:231 msgid "Unhandled Error Code" -msgstr "" +msgstr "Codice Di Errore Non Gestito" #: templates/js/translated/api.js:232 msgid "Error code" -msgstr "" +msgstr "Codice errore" #: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" -msgstr "" +msgstr "Tutti gli allegati selezionati saranno eliminati" #: templates/js/translated/attachment.js:194 msgid "No attachments found" -msgstr "" +msgstr "Allegati non trovati" #: templates/js/translated/attachment.js:220 msgid "Edit Attachment" @@ -8891,164 +8896,164 @@ msgstr "" #: templates/js/translated/bom.js:622 msgid "Are you sure you wish to remove this substitute part link?" -msgstr "" +msgstr "Sei sicuro di voler rimuovere questo collegamento all' articolo sostitutivo?" #: templates/js/translated/bom.js:628 msgid "Remove Substitute Part" -msgstr "" +msgstr "Rimuovi Articolo Sostitutivo" #: templates/js/translated/bom.js:667 msgid "Add Substitute" -msgstr "" +msgstr "Aggiungi Sostitutivo" #: templates/js/translated/bom.js:668 msgid "Edit BOM Item Substitutes" -msgstr "" +msgstr "Modifica Elementi Sostitutivi Distinta Base" #: templates/js/translated/bom.js:730 msgid "All selected BOM items will be deleted" -msgstr "" +msgstr "Tutti gli elementi selezionati della Distinta Base saranno eliminati" #: templates/js/translated/bom.js:746 msgid "Delete selected BOM items?" -msgstr "" +msgstr "Elimina gli Elementi selezionati della Distinta Base?" #: templates/js/translated/bom.js:875 msgid "Load BOM for subassembly" -msgstr "" +msgstr "Carica la Distinta Base per il sotto assemblaggio" #: templates/js/translated/bom.js:885 msgid "Substitutes Available" -msgstr "" +msgstr "Sostituti Disponibili" #: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 msgid "Variant stock allowed" -msgstr "" +msgstr "Variante stock consentita" #: templates/js/translated/bom.js:979 msgid "Substitutes" -msgstr "" +msgstr "Sostituti" #: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 msgid "View BOM" -msgstr "" +msgstr "Visualizza Distinta Base" #: templates/js/translated/bom.js:1102 msgid "BOM pricing is complete" -msgstr "" +msgstr "I prezzi Distinta Base sono completi" #: templates/js/translated/bom.js:1107 msgid "BOM pricing is incomplete" -msgstr "" +msgstr "I prezzi Distinta Base sono incompleti" #: templates/js/translated/bom.js:1114 msgid "No pricing available" -msgstr "" +msgstr "Nessun prezzo disponibile" #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 #: templates/js/translated/order.js:3960 msgid "No Stock Available" -msgstr "" +msgstr "Nessuna Scorta Disponibile" #: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 msgid "Includes variant and substitute stock" -msgstr "" +msgstr "Include variante e scorte sostitutive" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" -msgstr "" +msgstr "Comprende varianti magazzino" #: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 msgid "Includes substitute stock" -msgstr "" +msgstr "Comprende le scorte sostitutive" #: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 #: templates/js/translated/build.js:1996 msgid "Consumable item" -msgstr "" +msgstr "Elementi consumabili" #: templates/js/translated/bom.js:1239 msgid "Validate BOM Item" -msgstr "" +msgstr "Convalida elemento Distinta Base" #: templates/js/translated/bom.js:1241 msgid "This line has been validated" -msgstr "" +msgstr "Questa linea è stata convalidata" #: templates/js/translated/bom.js:1243 msgid "Edit substitute parts" -msgstr "" +msgstr "Modifica articoli sostitutivi" #: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" -msgstr "" +msgstr "Modifica elemento Distinta Base" #: templates/js/translated/bom.js:1247 msgid "Delete BOM Item" -msgstr "" +msgstr "Cancella elemento Distinta Base" #: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 msgid "No BOM items found" -msgstr "" +msgstr "Nessun elemento trovato in Distinta Base" #: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 msgid "Required Part" -msgstr "" +msgstr "Articolo richiesto" #: templates/js/translated/bom.js:1646 msgid "Inherited from parent BOM" -msgstr "" +msgstr "Ereditato dalla Distinta Base principale" #: templates/js/translated/build.js:96 msgid "Edit Build Order" -msgstr "" +msgstr "Modifica Ordine di produzione" #: templates/js/translated/build.js:139 msgid "Create Build Order" -msgstr "" +msgstr "Crea Ordine di Produzione" #: templates/js/translated/build.js:172 msgid "Cancel Build Order" -msgstr "" +msgstr "Annulla Ordine Di Produzione" #: templates/js/translated/build.js:181 msgid "Are you sure you wish to cancel this build?" -msgstr "" +msgstr "Sei sicuro di voler annullare questa produzione?" #: templates/js/translated/build.js:187 msgid "Stock items have been allocated to this build order" -msgstr "" +msgstr "Gli elementi di magazzino è stata assegnata a questo ordine di produzione" #: templates/js/translated/build.js:194 msgid "There are incomplete outputs remaining for this build order" -msgstr "" +msgstr "Ci sono output incompleti rimanenti per questo ordine di produzione" #: templates/js/translated/build.js:246 msgid "Build order is ready to be completed" -msgstr "" +msgstr "L'ordine di produzione è pronto per essere completato" #: templates/js/translated/build.js:254 msgid "This build order cannot be completed as there are incomplete outputs" -msgstr "" +msgstr "Questo ordine di produzione non può essere completato in quanto ci sono output incompleti" #: templates/js/translated/build.js:259 msgid "Build Order is incomplete" -msgstr "" +msgstr "L'Ordine di Produzione è incompleto" #: templates/js/translated/build.js:277 msgid "Complete Build Order" -msgstr "" +msgstr "Completa l'Ordine di Produzione" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 #: templates/js/translated/stock.js:236 msgid "Next available serial number" -msgstr "" +msgstr "Il prossimo numero di serie disponibile è" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 #: templates/js/translated/stock.js:238 msgid "Latest serial number" -msgstr "" +msgstr "Ultimo Numero Di Serie" #: templates/js/translated/build.js:329 msgid "The Bill of Materials contains trackable parts" @@ -9056,47 +9061,47 @@ msgstr "La distinta base contiene articoli tracciabili" #: templates/js/translated/build.js:330 msgid "Build outputs must be generated individually" -msgstr "" +msgstr "Gli outputs della produzione devono essere generati singolarmente" #: templates/js/translated/build.js:338 msgid "Trackable parts can have serial numbers specified" -msgstr "" +msgstr "Gli articoli tracciabili possono avere numeri di serie specificati" #: templates/js/translated/build.js:339 msgid "Enter serial numbers to generate multiple single build outputs" -msgstr "" +msgstr "Inserisci i numeri seriali per generare più output di produzione" #: templates/js/translated/build.js:346 msgid "Create Build Output" -msgstr "" +msgstr "Crea Output di Produzione" #: templates/js/translated/build.js:377 msgid "Allocate stock items to this build output" -msgstr "" +msgstr "Assegna gli elementi di magazzino a questo output di produzione" #: templates/js/translated/build.js:388 msgid "Unallocate stock from build output" -msgstr "" +msgstr "Non assegnare stock all'output di produzione" #: templates/js/translated/build.js:397 msgid "Complete build output" -msgstr "" +msgstr "Completa output di produzione" #: templates/js/translated/build.js:405 msgid "Delete build output" -msgstr "" +msgstr "Cancella output di produzione" #: templates/js/translated/build.js:428 msgid "Are you sure you wish to unallocate stock items from this build?" -msgstr "" +msgstr "Sei sicuro di voler annullare l'allocazione degli elementi stock da questa produzione?" #: templates/js/translated/build.js:446 msgid "Unallocate Stock Items" -msgstr "" +msgstr "Non assegnare Elementi Stock" #: templates/js/translated/build.js:466 templates/js/translated/build.js:622 msgid "Select Build Outputs" -msgstr "" +msgstr "Seleziona Output di produzione" #: templates/js/translated/build.js:467 templates/js/translated/build.js:623 msgid "At least one build output must be selected" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "Elimina il parametro" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "Elimina Parametri" @@ -9448,61 +9453,61 @@ msgstr "Cancella tutti i filtri" msgid "Create filter" msgstr "Crea filtro" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "Azione Vietata" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "Crea operazione non consentita" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "Operazione di aggiornamento non consentita" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "Operazione di eliminazione non consentita" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "Mostra operazione non consentita" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "Inserisci un numero valido" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "Nessun risultato trovato" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "Ricerca" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "Cancella input" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "ID azienda" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "ID Giacenza" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "ID Ordine" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "ID articolo produttore" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "Totale" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "Prezzo Totale" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "Aggiungi Categoria Articolo" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "Categoria articolo principale" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "Modifica Categoria Articoli" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "Elimina categoria" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "Crea Articolo" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "Crea un altro articolo dopo questo" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "Articolo creato con successo" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "Modifica l'articolo" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "Articolo modificato" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "Sei iscritto alle notifiche per questo elemento" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "Hai sottoscritto le notifiche per questo elemento" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "Hai annullato l'iscrizione alle notifiche per questo elemento" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "Convalida la distinta dei materiali" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "In esaurimento" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "Parte tracciabile" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "Parte virtuale" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "Parte sottoscritta" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "Parte vendibile" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "Nessuna variante trovata" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "Elimina relazione tra i componenti" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "Nessun articolo trovato" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "Nessuna categoria" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "Visualizza come elenco" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "Visualizza come griglia" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "Imposta categoria articolo" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "Categoria sottoscritta" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "Nessun modello di test corrispondente" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "Modificare il risultato del test" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "Cancellare il risultato del test" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 0a46bdc43d..0b58270846 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -44,7 +44,7 @@ msgstr "日付を入力する" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "メモ" @@ -212,14 +212,14 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "リンク" @@ -237,9 +237,9 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "ファイル名の変更に失敗しました" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "無効な選択です" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "お名前" @@ -317,9 +317,9 @@ msgstr "お名前" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "親" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "" @@ -433,107 +433,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "ドイツ語" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "ギリシャ語" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "英語" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "スペイン語" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "スペイン語(メキシコ)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "フランス語" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "ヘブライ語" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "ハンガリー語" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "イタリア語" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "日本語" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "韓国語" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "オランダ語" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "ノルウェー語" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "ポーランド語" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "ロシア語" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "スウェーデン語" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "タイ語" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "トルコ語" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "ベトナム語" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "中国語" @@ -810,7 +810,7 @@ msgstr "" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,13 +939,14 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "" #: build/models.py:285 -msgid "User responsible for this build order" +msgid "User or group responsible for this build order" msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 @@ -1034,7 +1035,7 @@ msgstr "パーツを割り当てるためにビルドする" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "在庫商品" @@ -1045,7 +1046,7 @@ msgstr "" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "テンプレート" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "アセンブリ" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "コンポーネント" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "追跡可能" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "パーツ" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "カテゴリ" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "在庫切れ" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "確認" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "続けて別のパーツを作る" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index 76feb850a8..4c5bdfdbed 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -44,7 +44,7 @@ msgstr "" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "" @@ -212,14 +212,14 @@ msgstr "첨부파일" msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "링크" @@ -237,9 +237,9 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "파일 이름 바꾸기 오류" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "이름" @@ -317,9 +317,9 @@ msgstr "이름" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "" @@ -433,107 +433,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "체코어" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "독일어" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "그리스어" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "영어" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "스페인어" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "스페인어 (멕시코)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "파르시어/페르시아어" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "프랑스어" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "히브리어" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "헝가리어" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "이탈리아어" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "일본어" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "한국어" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "네덜란드어" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "노르웨이어" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "폴란드어" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "러시아어" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "스웨덴어" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "태국어" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "터키어" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "베트남어" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "중국어" @@ -810,7 +810,7 @@ msgstr "" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,13 +939,14 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "" #: build/models.py:285 -msgid "User responsible for this build order" +msgid "User or group responsible for this build order" msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 @@ -1034,7 +1035,7 @@ msgstr "" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "" @@ -1045,7 +1046,7 @@ msgstr "" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "{name.title()} 파일" msgid "Select {name} file to upload" msgstr "업로드할 {name} 파일을 선택하세요" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "재시작 필요" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "회사명" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "기본 통화" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "URL에서 다운로드" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "바코드 지원" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "구입 가능" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "판매 가능" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "디버그 모드" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "페이지 크기" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "PDF 보고서 기본 페이지 크기" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "작성자" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "전화번호" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "이미지 업로드" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "이미지 다운로드" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "삭제" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "일련번호 검색" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "확인" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "선택" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "부품 명세서 복사" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 0cc695fc04..309d3ecbc1 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -44,7 +44,7 @@ msgstr "Voer datum in" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Opmerkingen" @@ -92,7 +92,7 @@ msgstr "Er moet hetzelfde e-mailadres ingevoerd worden." #: InvenTree/forms.py:230 InvenTree/forms.py:236 msgid "The provided primary email address is not valid." -msgstr "" +msgstr "Het opgegeven primaire e-mailadres is ongeldig." #: InvenTree/forms.py:242 msgid "The provided email domain is not approved." @@ -212,14 +212,14 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Link" @@ -237,9 +237,9 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Fout bij hernoemen bestand" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Ongeldige keuze" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Naam" @@ -317,9 +317,9 @@ msgstr "Naam" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,17 +334,17 @@ msgid "parent" msgstr "bovenliggende" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Pad" #: InvenTree/models.py:682 msgid "Barcode Data" -msgstr "" +msgstr "Streepjescode gegevens" #: InvenTree/models.py:683 msgid "Third party barcode data" -msgstr "" +msgstr "Streepjescode van derden" #: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" @@ -352,11 +352,11 @@ msgstr "Hash van Streepjescode" #: InvenTree/models.py:689 msgid "Unique hash of barcode data" -msgstr "" +msgstr "Unieke hash van barcode gegevens" #: InvenTree/models.py:734 msgid "Existing barcode found" -msgstr "" +msgstr "Bestaande barcode gevonden" #: InvenTree/models.py:787 msgid "Server Error" @@ -433,107 +433,107 @@ msgstr "URL van extern afbeeldingsbestand" msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Tsjechisch" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" -msgstr "" +msgstr "Deens" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Duits" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Grieks" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Engels" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Spaans" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Spaans (Mexicaans)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Farsi / Perzisch" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Frans" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Hebreeuws" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Hongaars" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Italiaans" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japans" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Koreaans" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Nederlands" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Noors" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Pools" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugees" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portugees (Braziliaans)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Thais" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Turks" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Chinees" @@ -810,7 +810,7 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Gebruiker die de productieorder heeft gegeven" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Verantwoordelijke" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Gebruiker verantwoordelijk voor deze productieorder" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -962,11 +963,11 @@ msgstr "Opmerkingen over de productie" #: build/models.py:299 msgid "Build Priority" -msgstr "" +msgstr "Bouw prioriteit" #: build/models.py:302 msgid "Priority of this build order" -msgstr "" +msgstr "Prioriteit van deze bouwopdracht" #: build/models.py:540 #, python-brace-format @@ -1034,7 +1035,7 @@ msgstr "Product om onderdelen toe te wijzen" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Voorraadartikel" @@ -1045,7 +1046,7 @@ msgstr "Bron voorraadartikel" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Bron voorraadartikel" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -1156,7 +1157,7 @@ msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers #: build/serializers.py:282 stock/api.py:601 msgid "The following serial numbers already exist or are invalid" -msgstr "" +msgstr "De volgende serienummers bestaan al of zijn ongeldig" #: build/serializers.py:331 build/serializers.py:400 msgid "A list of build outputs must be provided" @@ -1171,7 +1172,7 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1336,7 +1337,7 @@ msgstr "Toewijzing van vervangende onderdelen toestaan" #: build/serializers.py:851 msgid "Optional Items" -msgstr "" +msgstr "Optionele Items" #: build/serializers.py:852 msgid "Allocate optional BOM items to build order" @@ -1431,7 +1432,7 @@ msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "Streefdatum" @@ -1479,7 +1480,7 @@ msgstr "Uitgegeven door" #: build/templates/build/build_base.html:200 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 msgid "Priority" -msgstr "" +msgstr "Prioriteit" #: build/templates/build/build_base.html:259 msgid "Delete Build Order" @@ -1513,7 +1514,7 @@ msgstr "Toegewezen Onderdelen" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,9 +1723,9 @@ msgstr "{name.title()} Bestand" msgid "Select {name} file to upload" msgstr "Kies {name} bestand om te uploaden" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" -msgstr "" +msgstr "Bijgewerkt" #: common/models.py:66 msgid "Timestamp of last update" @@ -1754,1142 +1755,1142 @@ msgstr "Waarde moet een geheel getal zijn" msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "Geen groep" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/models.py:874 +#: common/models.py:885 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:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:925 +#: common/models.py:936 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:931 +#: common/models.py:942 msgid "Download Size Limit" -msgstr "" - -#: common/models.py:932 -msgid "Maximum allowable download size for remote image" -msgstr "" +msgstr "Download limiet" #: common/models.py:943 +msgid "Maximum allowable download size for remote image" +msgstr "Maximale downloadgrootte voor externe afbeelding" + +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" -msgstr "" +msgstr "Boomstructuur Diepte" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" -msgstr "" +msgstr "Dagen tussen backup" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 -msgid "Delete Old Tasks" -msgstr "" - -#: common/models.py:984 -msgid "Background task results will be deleted after specified number of days" -msgstr "" - #: common/models.py:994 -msgid "Delete Error Logs" -msgstr "" +msgid "Delete Old Tasks" +msgstr "Verwijder oude taken" #: common/models.py:995 -msgid "Error logs will be deleted after specified number of days" -msgstr "" +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:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1005 +msgid "Delete Error Logs" +msgstr "Verwijder foutenlogboek" + +#: common/models.py:1006 +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:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "Streepjescodescanner ondersteuning inschakelen" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "Barcode Webcam Ondersteuning" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode via webcam scannen in browser toestaan" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:1054 +#: common/models.py:1065 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:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "Sjabloon" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "Samenstelling" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "Component" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "Volgbaar" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "dagen" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/models.py:1269 +#: common/models.py:1280 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:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "Activeer Testrapporten" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "Testrapporten Toevoegen" -#: common/models.py:1311 +#: common/models.py:1322 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:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1359 +#: common/models.py:1370 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:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "Recente Voorraadtelling" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "Recente Voorraadtelling" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "Prijs" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "Actief" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "Token" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "Geheim" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "Host" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "Koptekst" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "Fabrikant selecteren" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "MPN" @@ -3210,7 +3211,7 @@ msgstr "Parameternaam" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "Waarde" @@ -3222,7 +3223,7 @@ msgstr "Parameterwaarde" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "Eenheden" @@ -3242,7 +3243,7 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "Leverancier" @@ -3254,7 +3255,7 @@ msgstr "Leverancier selecteren" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "SKU" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "Order meerdere" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "Beschikbaar" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "Telefoon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "Afbeelding Uploaden" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "Afbeelding Downloaden" @@ -3595,8 +3596,8 @@ msgstr "Verwijder leveranciersonderdelen" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "Verwijderen" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "Parameter verwijderen" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "Parameter toevoegen" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "Leveranciersonderdeel" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "Ontvangen" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Zending" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "In bestelling" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "Toegewezen" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "Geen overeenkomende afbeeldingen gevonden" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Bevestigen" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "Geen fabrikantenonderdelen gevonden" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "Samengesteld onderdeel" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "Geen parameters gevonden" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "Parameter bewerken" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "Parameter bewerken" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "Parameter verwijderen" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "Order-ID" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "Onderdeelnummer Fabrikant" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "Ontvang Artikelen Inkooporder" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "Geen inkooporder gevonden" @@ -9914,8 +9919,8 @@ msgstr "Geen artikelen gevonden" msgid "Total" msgstr "Totaal" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "Totaalprijs" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "Dit artikel is achterstallig" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "Artikel ontvangen" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "Validatie van de BOM markeert ieder artikel als geldig" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index d97d5b7b5a..f06d3b260a 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-07 09:21\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -44,7 +44,7 @@ msgstr "Oppgi dato" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Notater" @@ -212,14 +212,14 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Lenke" @@ -237,9 +237,9 @@ msgstr "Kommenter" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Feil ved endring av navn" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Ugyldig valg" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Navn" @@ -317,9 +317,9 @@ msgstr "Navn" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "overkategori" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Sti" @@ -433,107 +433,107 @@ msgstr "URL-adressen til ekstern bildefil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Tsjekkisk" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Dansk" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Gresk" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Spansk (Meksikansk)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Nederlandsk" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilian)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "Slovensk" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Kinesisk" @@ -810,7 +810,7 @@ msgstr "Build order som denne build er tildelt til" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "Build order som denne build er tildelt til" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Brukeren som utstede denne prosjekt order" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Ansvarlig" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Bruker ansvarlig for denne prosjekt order" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "Bygge for å tildele deler" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Lagervare" @@ -1045,7 +1046,7 @@ msgstr "Kilde lagervare" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Kilde lagervare" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "Angi antall for build utgang" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -1171,7 +1172,7 @@ msgstr "En liste over byggeresultater må oppgis" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "Lager er ikke fullt tildelt til denne byggordren" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "Måldato" @@ -1513,7 +1514,7 @@ msgstr "Tildelte deler" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "{name.title()} Fil" msgid "Select {name} file to upload" msgstr "Velg {name} fil som skal lastes opp" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "Verdien må være et heltall" msgid "Key string must be unique" msgstr "Nøkkelstreng må være unik" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "Ingen gruppe" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "Omstart påkrevd" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "En innstilling har blitt endrett som krever en serveromstart" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "Server Instans navn" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "Strengbeskrivelse for serverinstansen" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "Bruk forekomstnavn" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "Bruk forekomstnavnet i tittellinjen" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "Begrens visning av 'about'" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "Vis bare `about` modal til superbrukere" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Firmanavn" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "Base-URL" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "Base URL for server instans" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "Tilat nedlastning av eksterne bilder og filer fra ekstern URL" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "Nedlastingsgrense" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "Maksimal tillatt nedlastingsstørrelse for eksternt bilde" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "Krever bekreftelse" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "Krev eksplisitt brukerbekreftelse for visse handlinger." -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "Tre dybde" -#: common/models.py:957 +#: common/models.py:968 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:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "Automatisk sikkerhetskopiering" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "Aktiver automatisk sikkerhetskopiering av database og mediafiler" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "Slett gamle oppgaver" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "Bakgrunnsoppgaveresultater vil bli slettet etter antall angitte dager" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "Slett feillogger" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "Feilloggene vil bli slettet etter et angitt antall dager" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "Brukervarsler slettes etter antall angitte dager" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Strekkode støtte" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "Aktiver skrekkodeleser støtte" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "Strekkode registrering forsinkelse" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "Strekkode tidsforsinkelse i behandling" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "Strekkode webcam støtte" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "Tillat strekkodelesning via webkamera i nettleseren" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "IPN regex" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulært uttrykksmønster for matchende del IPN" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "Tilat duplisert IPN" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme IPN" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "Tillat redigering av IPN" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat å endre IPN-verdien mens du redigerer en del" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "Kopier BOM data fra del" -#: common/models.py:1061 +#: common/models.py:1072 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:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "Kopier del parameterdata" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopier parameterdata som standard ved duplisering av en del" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "Kopier del test data" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "Kopier designmaler for kategoriparametere" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "Kopier kategori parametermaler ved oppretting av en del" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "Mal" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "Montering" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "Komponent" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "Salgbar" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "Sporbar" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "Vis relaterte deler" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "Vis relaterte deler i en del" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1408 +#: common/models.py:1419 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:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1422 +#: common/models.py:1433 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:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "Krevt at brukeren angi e-post ved registrering" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO brukere" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "Ved registrering spør brukere to ganger for e-posten" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "Ved registrerting, spør brukere to ganger for passord" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "Gruppe på registrering" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Sjekk at alle programtillegg er installert ved oppstart - aktiver i containermiljøer" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "Sjekk plugin signaturer" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "Kontroller og vis signaturer for plugins" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "Aktiver URL integrering" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "Aktiver tillegg for å legge til URL" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrering" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "Aktiver plugins for å integrere inn i navigasjon" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "Aktiver app integrasjon" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "Aktiver plugins for å legge til apper" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "Aktiver integrering av tidsplan" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "Aktiver utvidelser for å kjøre planlagte oppgaver" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrering" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "Aktiver plugins til å svare på interne hendelser" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 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:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "Vis abbonerte deler" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "Vis abbonerte deler på hjemmesiden" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "Vis abbonerte kategorier" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "Vis abbonerte delkatekorier på hjemmesiden" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på hjemmesiden" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "Antall nylig deler" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "Antall nylige deler som skal vises på indeks-side" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte BOMs" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "Vis BOMs som venter validering på hjemmesiden" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endret lagervarer på hjemmesiden" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "Siste lagertelling" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "Antall nylige lagervarer som skal vises på indeksside" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "Vis lav lager" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "Vis lav lagervarer på hjemmesiden" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "Vis tom lagervarer" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "Vis lav lagerbeholdning på hjemmesiden" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "Vis nødvendig lagervare" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for å bygge på hjemmesiden" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "Vis utløpt lager" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagerbeholdninger på hjemmesiden" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Del planlegging" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "Aktiv" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "Sjetong" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "Vert" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "Tittel" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "Last opp bilde" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "Slett leverandørdeler" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "Slett" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "Oppdater tilgjengelighet" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Bekreft" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 5a8f77163f..ec45b64164 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -44,7 +44,7 @@ msgstr "Wprowadź dane" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Uwagi" @@ -212,14 +212,14 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Łącze" @@ -237,9 +237,9 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Błąd zmiany nazwy pliku" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Błędny wybór" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Nazwa" @@ -317,9 +317,9 @@ msgstr "Nazwa" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "nadrzędny" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Ścieżka" @@ -433,107 +433,107 @@ msgstr "Adres URL zdalnego pliku obrazu" msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Czeski" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Duński" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Niemiecki" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Grecki" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Angielski" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Hiszpański" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Hiszpański (Meksyk)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Perski" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Francuski" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Hebrajski" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Węgierski" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Włoski" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japoński" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Koreański" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Holenderski" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norweski" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polski" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugalski" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portugalski (Brazylijski)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Rosyjski" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "Słoweński" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Szwedzki" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Tajski" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Turecki" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Wietnamski" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Chiński" @@ -810,7 +810,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Użytkownik, który wydał to zamówienie" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Odpowiedzialny" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Element magazynowy" @@ -1045,7 +1046,7 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "Data docelowa" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "{name.title()} Plik" msgid "Select {name} file to upload" msgstr "Wybierz plik {name} do przesłania" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "Wartość musi być liczbą całkowitą" msgid "Key string must be unique" msgstr "Ciąg musi być unikatowy" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "Brak grupy" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "Zmieniono ustawienie, które wymaga restartu serwera" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:925 +#: common/models.py:936 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:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "Włącz obsługę skanera kodów" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "Szablon" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "Złożenie" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "Komponent" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "Możliwość śledzenia" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "dni" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1437 +#: common/models.py:1448 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:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1472 +#: common/models.py:1483 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:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "Format daty" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "Cena" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "Sekret" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "Zawartość" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "Wybierz producenta" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "Wartość" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "Jednostki" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "Dostawca" @@ -3254,7 +3255,7 @@ msgstr "Wybierz dostawcę" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "Opakowanie części" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "Dostępne" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "Załaduj obrazek" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "Pobierz obraz" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "Usuń" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "Usuń parametry" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "Dodaj parametr" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "Odebrane" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Przesyłka" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "ID komponentu" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "Wersja" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "Słowa kluczowe" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "ID kategorii" @@ -4738,8 +4739,8 @@ msgstr "Na stanie" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "W Zamówieniu" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "Przydzielono" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "Ścieżka kategorii" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Części" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "Kategoria" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "Tworzenie użytkownika" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "Nazwa testu" @@ -5250,7 +5255,7 @@ msgstr "Testowy opis" msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "Wymagane" @@ -5259,7 +5264,7 @@ msgstr "Wymagane" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "Wymaga wartości" @@ -5267,7 +5272,7 @@ msgstr "Wymaga wartości" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "Wymaga załącznika" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "Duplikuj część" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "Część jest wirtualna (nie fizyczna)" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "Nieaktywny" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "Minimalny poziom stanu magazynowego" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "Ostatni numer seryjny" msgid "Search for serial number" msgstr "Szukaj numeru seryjnego" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "Oblicz" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "Nie znaleziono pasujących obrazów" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "Ukryj szczegóły części" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "Brak w magazynie" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "Zainstalowane elementy" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "Numer seryjny" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "ID lokalizacji" @@ -6751,7 +6756,7 @@ msgstr "Ścieżka lokalizacji" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "ID części dostawcy" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "Zainstalowane w" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "Potwierdź adres e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Proszę potwierdzić że %(email)s jest adresem e-mail dla użytkownika %(user_display)s." -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Potwierdź" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "Minimalna ilość" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "Wybierz" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "Nie znaleziono parametrów" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "Usuń parametr" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "Usuń parametr" @@ -9448,61 +9453,61 @@ msgstr "Wyczyść wszystkie filtry" msgid "Create filter" msgstr "Utwórz filtr" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "Działanie zabronione" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "Operacja utworzenia nie jest dozwolona" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "Operacja aktualizacji nie jest dozwolona" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "Operacja usuwania nie jest dozwolona" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "Operacja przeglądania nie jest dozwolona" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "Pozostaw ten formularz otwarty" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "Wprowadź poprawny numer" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Istnieją błędy formularza" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "Nie znaleziono wyników" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "Wyszukiwanie" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "Wyczyść wejście" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "Kolumna pliku" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "Nazwa pola" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "Wybór Kolumn" @@ -9635,25 +9640,25 @@ msgstr "Serwer zwrócił kod błędu 400" msgid "Error requesting form data" msgstr "Błąd podczas żądania danych formularza" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "ID firmy" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "ID zamówienia" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "ID wysyłki" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "Potwierdź odbiór elementów" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "Razem" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "Cena całkowita" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "Edytuj kategorię części" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "Czy na pewno chcesz usunąć tę kategorię części?" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "Utwórz część" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "Utwórz kolejną część po tej" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "Część utworzona pomyślnie" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "Edytuj część" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "Część zmodyfikowana" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "Utwórz wariant części" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "Włącz powiadomienia dla tej części" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "Zostałeś wypisany z powiadomień dla tej części" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "Obserwowane części" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "Nie znaleziono wariantów" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "Nie znaleziono części" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "Brak kategorii" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "Wyświetl jako listę" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "Wyświetl jako siatkę" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "Ustaw kategorię części" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "Wyświetl jako drzewo" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "Obserwowana kategoria" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 7e0a4f24f7..ea3f9d6171 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -44,7 +44,7 @@ msgstr "Insira uma Data" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Anotações" @@ -212,14 +212,14 @@ msgstr "Anexo" msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Link" @@ -237,9 +237,9 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario sobre arquivo" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Erro renomeando o arquivo" msgid "Invalid choice" msgstr "Escolha invalida" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Escolha invalida" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Nome" @@ -317,9 +317,9 @@ msgstr "Nome" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Caminho" @@ -433,107 +433,107 @@ msgstr "URL do arquivo de imagem remoto" msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Tcheco" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Dinamarquês" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Alemão" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Grego" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Inglês" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Espanhol" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Espanhol (Mexicano)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Persa" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Francês" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Hebraico" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Húngaro" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japonês" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Holandês" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norueguês" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polonês" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "" @@ -810,7 +810,7 @@ msgstr "" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,13 +939,14 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "" #: build/models.py:285 -msgid "User responsible for this build order" +msgid "User or group responsible for this build order" msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 @@ -1034,7 +1035,7 @@ msgstr "" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "" @@ -1045,7 +1046,7 @@ msgstr "" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Confirmar" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 04fcf4888d..3c9abbfb03 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -44,7 +44,7 @@ msgstr "Введите дату" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Заметки" @@ -56,7 +56,7 @@ msgstr "" #: InvenTree/format.py:162 msgid "Provided value does not match required pattern: " -msgstr "" +msgstr "Предоставленное значение не соответствует требуемому формату: " #: InvenTree/forms.py:135 msgid "Enter password" @@ -96,7 +96,7 @@ msgstr "Указанный основной адрес электронной п #: InvenTree/forms.py:242 msgid "The provided email domain is not approved." -msgstr "" +msgstr "Указанный домен электронной почты не утверждён." #: InvenTree/helpers.py:166 msgid "Connection error" @@ -212,14 +212,14 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Ссылка" @@ -237,9 +237,9 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Ошибка переименования файла" msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Неверный выбор" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Название" @@ -317,9 +317,9 @@ msgstr "Название" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "родитель" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Путь" @@ -433,107 +433,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Чешский" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Датский" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Немецкий" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Греческий" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Английский" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Испанский" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Испанский (Мексика)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Фарси / Персидский" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Французский" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Иврит" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Венгерский" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Итальянский" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Японский" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Корейский" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Голландский" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Норвежский" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Польский" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Португальский" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Португальский (Бразильский диалект)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Русский" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "Словенский" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Шведский" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Тайский" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Турецкий" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Вьетнамский" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Китайский" @@ -810,7 +810,7 @@ msgstr "" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Пользователь, выпустивший этот заказ н #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Ответственный" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Пользователь, ответственный за этот заказ сборки" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Предметы на складе" @@ -1045,7 +1046,7 @@ msgstr "Исходный складской предмет" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Исходный складской предмет" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1090,7 +1091,7 @@ msgstr "" #: build/models.py:1384 msgid "Install into" -msgstr "" +msgstr "Установить в" #: build/models.py:1385 msgid "Destination stock item" @@ -1103,7 +1104,7 @@ msgstr "" #: build/serializers.py:150 msgid "Build output does not match the parent build" -msgstr "" +msgstr "Результат сборки не совпадает с родительской сборкой" #: build/serializers.py:154 msgid "Output part does not match BuildOrder part" @@ -1111,7 +1112,7 @@ msgstr "" #: build/serializers.py:158 msgid "This build output has already been completed" -msgstr "" +msgstr "Результат этой сборки уже помечен как завершенный" #: build/serializers.py:169 msgid "This build output is not fully allocated" @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "Целевая дата" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "Выберите {name} файл для загрузки" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Название компании" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "Базовая ссылка" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "Шаблон" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "Сборка" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "Компонент" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "Отслеживание" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "Цена" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "Выберите производителя" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "Наименование параметра" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "Значение" @@ -3222,7 +3223,7 @@ msgstr "Значение параметра" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "Ед.изм" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "Поставщик" @@ -3254,7 +3255,7 @@ msgstr "Выберите поставщика" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "Телефон" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "Загрузить изображение" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "Скачать изображение" @@ -3595,8 +3596,8 @@ msgstr "Удалить деталь поставщика" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "Удалить" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "Удалить параметры" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "Добавить параметр" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "Артикул" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "Версия" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "Ключевые слова" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "Код категории" @@ -4738,8 +4739,8 @@ msgstr "На складе" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "Путь к категории" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Детали" @@ -4966,7 +4967,7 @@ msgstr "Ключевые слова для улучшения видимости #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "Категория" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "Дублировать деталь" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "Минимальный складской запас" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "Подходящие изображения не найдены" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "Код места хранения" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "Код детали поставщика" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "Код сборки" @@ -8341,7 +8346,7 @@ msgstr "Подтверждение адреса электронной почт msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Пожалуйста, подтвердите, что %(email)s является адресом электронной почты пользователя %(user_display)s." -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Подтвердить" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "Минимальное количество" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "Информация о детали производителя не найдена" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "Деталь-шаблон" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "Параметры не найдены" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "Удалить параметр" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "Операция создания не разрешена" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "Операция обновления не разрешена" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "Операция удаления не разрешена" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "Операция просмотра не разрешена" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Форма содержит ошибки" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "Не найдено" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "Сервер вернул код ошибки 400" msgid "Error requesting form data" msgstr "Ошибка запроса данных формы" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "Код компании" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "Код склада" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "Код заказа" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "Код детали производителя" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "Заказов на закупку не найдено" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "Общая стоимость" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "Настройки дублирования детали" msgid "Add Part Category" msgstr "Добавить категорию" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "Родительская категория" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "Редактировать категорию" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "Вы уверены, что хотите удалить эту категорию?" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "Удалить категорию" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "Создать деталь" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "Создать ещё одну деталь после этой" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "Деталь создана успешно" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "Создать разновидность детали" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "Вы подписаны на уведомления для данного элемента" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "Вы подписались на уведомления для данного элемента" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "Включить уведомления для данного элемента" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "Вы отписались от уведомлений для данного элемента" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "Разновидности не найдены" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "Детали не найдены" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "Нет категории" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "Список" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "Таблица" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "Укажите категорию" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "Дерево" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index 34738a8298..39df16559c 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -44,7 +44,7 @@ msgstr "Vnesi datum" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Zapiski" @@ -212,14 +212,14 @@ msgstr "Priloga" msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Povezava" @@ -237,9 +237,9 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Napaka pri preimenovanju datoteke" msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Nedovoljena izbira" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Ime" @@ -317,9 +317,9 @@ msgstr "Ime" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "nadrejen" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Pot" @@ -433,107 +433,107 @@ msgstr "Povezava do oddaljene slike" msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Češko" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "Danščina" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Nemščina" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Grščina" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Angleščina" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Španščina" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Španščina (Mehiško)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Farsi / Perzijsko" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Francoščina" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Hebrejščina" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Madžarščina" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Italijanščina" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japonščina" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Korejščina" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Nizozemščina" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norveščina" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Poljščina" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugalščina" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portugalščina (Brazilsko)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Ruščina" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "Slovenščina" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Švedščina" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Tajščina" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Turščina" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnamščina" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Kitajščina" @@ -810,7 +810,7 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Odgovoren" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Uporabnik odgovoren za to izgradnjo" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "Izdelaj da prestaviš dele" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Postavka zaloge" @@ -1045,7 +1046,7 @@ msgstr "Izvorna postavka zaloge" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Izvorna postavka zaloge" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index e3bba54165..de76d6bbe6 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -44,7 +44,7 @@ msgstr "Ange datum" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Anteeckningar" @@ -212,14 +212,14 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Länk" @@ -237,9 +237,9 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Fel vid namnbyte av fil" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Ogiltigt val" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Namn" @@ -317,9 +317,9 @@ msgstr "Namn" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "överordnad" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "Sökväg" @@ -433,107 +433,107 @@ msgstr "URL för fjärrbildsfil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "Tjeckiska" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Tyska" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Grekiska" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "Engelska" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "Spanska" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "Spanska (Mexikanska)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "Farsi / Persiska" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Franska" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "Hebreiska" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Ungerska" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "Italienska" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japanska" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Koreanska" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Nederländska" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norska" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polska" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "Portugisiska" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "Portugisiska (brasiliansk)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Ryska" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "Svenska" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Thailändska" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Turkiska" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnamesiska" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Kinesiska" @@ -810,7 +810,7 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Användare som utfärdade denna byggorder" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Ansvarig" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Användare som ansvarar för denna byggorder" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "Bygg för att allokera delar" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Artikel i lager" @@ -1045,7 +1046,7 @@ msgstr "Källa lagervara" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Källa lagervara" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "Måldatum" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "{name.title()} Fil" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "Ingen grupp" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "Omstart krävs" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "Serverinstans (Namn)" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Företagsnamn" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "Internt företagsnamn" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "Bas-URL" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "Bas-URL för serverinstans" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "Ladda ned från URL" -#: common/models.py:925 +#: common/models.py:936 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:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "Kräv bekräftelse" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "Kräv uttrycklig användarbekräftelse för vissa åtgärder." -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Stöd för streckkoder" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "Aktivera stöd för streckkodsläsare" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "Delar är virtuella som standard" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "Visa import i vyer" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "Visa importguiden i vissa delvyer" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "Visa relaterade delar" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "Visa relaterade delar för en del" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "Visningsformat för delnamn" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "Formatera för att visa artikelnamnet" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "Interna priser" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "Debugläge" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "Sidstorlek" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "Aktivera testrapporter" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Bekräfta" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 87112056d9..548e72e18b 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -44,7 +44,7 @@ msgstr "ป้อนวันที่" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "หมายเหตุ" @@ -212,14 +212,14 @@ msgstr "ไฟล์แนบ" msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "ลิงก์" @@ -237,9 +237,9 @@ msgstr "ความคิดเห็น" msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "ชื่อ" @@ -317,9 +317,9 @@ msgstr "ชื่อ" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "" @@ -433,107 +433,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "ภาษาโปรตุเกส" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "ภาษารัสเซีย" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "ภาษาสวีเดน" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "ภาษาไทย" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "ภาษาเวียดนาม" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "ภาษาจีน" @@ -810,7 +810,7 @@ msgstr "" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,13 +939,14 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "" #: build/models.py:285 -msgid "User responsible for this build order" +msgid "User or group responsible for this build order" msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 @@ -1034,7 +1035,7 @@ msgstr "" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "" @@ -1045,7 +1046,7 @@ msgstr "" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 5c01655794..3c28f324a3 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -44,7 +44,7 @@ msgstr "Tarih giriniz" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "Notlar" @@ -212,14 +212,14 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "Bağlantı" @@ -237,9 +237,9 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "Dosya adı değiştirilirken hata" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "Geçersiz seçim" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "Adı" @@ -317,9 +317,9 @@ msgstr "Adı" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "üst" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "" @@ -433,107 +433,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "Almanca" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "Yunanca" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "İngilizce" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "İspanyolca" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "İspanyolca(Meksika)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "Fransızca" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "İbranice" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "Macarca" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "İtalyanca" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "Japonca" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "Korece" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "Flemenkçe" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "Norveççe" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "Polonyaca" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "Rusça" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "İsveççe" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "Tay dili" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "Vietnamca" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "Çince" @@ -810,7 +810,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "Bu yapım işi emrini veren kullanıcı" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "Sorumlu" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "Bu yapım işi emrinden sorumlu kullanıcı" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "Yapım işi için tahsis edilen parçalar" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "Stok Kalemi" @@ -1045,7 +1046,7 @@ msgstr "Kaynak stok kalemi" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "Kaynak stok kalemi" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "Hedeflenen tarih" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "{name.title()} Dosya" msgid "Select {name} file to upload" msgstr "{name} dosyasını yüklemek için seçin" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:925 +#: common/models.py:936 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:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "Barkod tarayıcı desteğini etkinleştir" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:1042 +#: common/models.py:1053 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:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:1047 +#: common/models.py:1058 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:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "Şablon" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "Montaj" -#: common/models.py:1096 +#: common/models.py:1107 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:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "Bileşen" -#: common/models.py:1103 +#: common/models.py:1114 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:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "Takip Edilebilir" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "Sanal" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "günler" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "Fiyat" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "Üretici seçin" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "ÜPN" @@ -3210,7 +3211,7 @@ msgstr "Parametre adı" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "Değer" @@ -3222,7 +3223,7 @@ msgstr "Parametre değeri" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "Tedarikçi" @@ -3254,7 +3255,7 @@ msgstr "Tedarikçi seçin" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "Mevcut" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "Resmi İndirin" @@ -3595,8 +3596,8 @@ msgstr "Tedarikçi parçalarını sil" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "DPN" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "Revizyon" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "Anahtar kelimeler" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Parçalar" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "Oluşturan Kullanıcı" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabili msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "Test Adı" @@ -5250,7 +5255,7 @@ msgstr "Test Açıklaması" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "Gerekli" @@ -5259,7 +5264,7 @@ msgstr "Gerekli" msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "Pasif" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "Son Seri Numarası" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "Hesapla" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "Stok Yok" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "Seri No" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "Onay" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "Şablon Parça" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "Çeşit bulunamadı" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "Katagori Yok" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 29d7575e02..e7e8b12a66 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -44,7 +44,7 @@ msgstr "" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "" @@ -212,14 +212,14 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "" @@ -237,9 +237,9 @@ msgstr "Bình luận" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "" @@ -317,9 +317,9 @@ msgstr "" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "" @@ -433,107 +433,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "" @@ -810,7 +810,7 @@ msgstr "" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,13 +939,14 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "" #: build/models.py:285 -msgid "User responsible for this build order" +msgid "User or group responsible for this build order" msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 @@ -1034,7 +1035,7 @@ msgstr "" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "" @@ -1045,7 +1046,7 @@ msgstr "" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1171,7 +1172,7 @@ msgstr "" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "" @@ -1513,7 +1514,7 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1611 +#: common/models.py:1622 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:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "" @@ -3222,7 +3223,7 @@ msgstr "" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "Nhà cung cấp" @@ -3254,7 +3255,7 @@ msgstr "" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "" @@ -3595,8 +3596,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "Xóa các thông số" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Nguyên liệu" @@ -4966,7 +4967,7 @@ msgstr "" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "Số seri mới nhất" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "Không có thông số được tìm thấy" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 9d3bcb03c1..c558cc50b9 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-02-06 09:00+0000\n" -"PO-Revision-Date: 2023-02-06 09:24\n" +"POT-Creation-Date: 2023-02-14 11:07+0000\n" +"PO-Revision-Date: 2023-02-14 21:04\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -44,7 +44,7 @@ msgstr "输入日期" #: templates/js/translated/company.js:1023 #: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 #: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:857 +#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 #: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 msgid "Notes" msgstr "备注" @@ -212,14 +212,14 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:412 common/models.py:2481 company/models.py:129 +#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 #: company/models.py:281 company/models.py:517 order/models.py:85 #: order/models.py:1282 part/admin.py:25 part/models.py:866 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:102 templates/js/translated/company.js:692 #: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1861 +#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 msgid "Link" msgstr "链接" @@ -237,9 +237,9 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1930 -#: common/models.py:1931 common/models.py:2154 common/models.py:2155 -#: common/models.py:2411 common/models.py:2412 part/models.py:2928 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 +#: common/models.py:1942 common/models.py:2165 common/models.py:2166 +#: common/models.py:2422 common/models.py:2423 part/models.py:2928 #: part/models.py:3014 part/models.py:3034 plugin/models.py:270 #: plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 @@ -280,7 +280,7 @@ msgstr "重命名文件出错" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2140 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 #: company/models.py:363 label/models.py:101 part/models.py:810 #: part/models.py:3189 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -292,8 +292,8 @@ msgstr "选择无效" #: templates/js/translated/company.js:581 #: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:957 templates/js/translated/part.js:1126 -#: templates/js/translated/part.js:2266 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 +#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 msgid "Name" msgstr "名称" @@ -317,9 +317,9 @@ msgstr "名称" #: templates/js/translated/company.js:703 #: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 #: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1019 templates/js/translated/part.js:1469 -#: templates/js/translated/part.js:1743 templates/js/translated/part.js:2302 -#: templates/js/translated/part.js:2377 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 +#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 +#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 #: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 #: templates/js/translated/stock.js:2529 msgid "Description" @@ -334,7 +334,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2311 templates/js/translated/stock.js:2478 +#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 msgid "Path" msgstr "路径" @@ -433,107 +433,107 @@ msgstr "远程图像文件的 URL" msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:693 msgid "Czech" msgstr "捷克语" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:694 msgid "Danish" msgstr "丹麦语" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:695 msgid "German" msgstr "德语" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:696 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:697 msgid "English" msgstr "英语" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:698 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:699 msgid "Spanish (Mexican)" msgstr "西班牙语(墨西哥)" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:700 msgid "Farsi / Persian" msgstr "波斯语" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:701 msgid "French" msgstr "法语" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:702 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:703 msgid "Hungarian" msgstr "匈牙利语" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:704 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:705 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:706 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:707 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:708 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:709 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:710 msgid "Portuguese" msgstr "葡萄牙语" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:711 msgid "Portuguese (Brazilian)" msgstr "葡萄牙语 (巴西)" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:712 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:713 msgid "Slovenian" msgstr "斯洛文尼亚" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:714 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:715 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:716 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:717 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:718 msgid "Chinese" msgstr "中文(简体)" @@ -810,7 +810,7 @@ msgstr "此次生产匹配的订单" #: part/models.py:2960 part/models.py:2975 part/models.py:2994 #: part/models.py:3012 part/models.py:3111 part/models.py:3232 #: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1111 part/templates/part/part_app_base.html:8 +#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 @@ -834,8 +834,8 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 #: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 #: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1454 templates/js/translated/part.js:1526 -#: templates/js/translated/part.js:1720 templates/js/translated/pricing.js:343 +#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 +#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 #: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 #: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 #: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 @@ -939,14 +939,15 @@ msgstr "发布此生产订单的用户" #: build/templates/build/detail.html:122 order/models.py:101 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1006 +#: part/templates/part/part_base.html:397 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 msgid "Responsible" msgstr "责任人" #: build/models.py:285 -msgid "User responsible for this build order" -msgstr "负责此生产订单的用户" +msgid "User or group responsible for this build order" +msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1034,7 +1035,7 @@ msgstr "生产以分配部件" #: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 #: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:778 templates/js/translated/stock.js:618 +#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 #: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 msgid "Stock Item" msgstr "库存项" @@ -1045,7 +1046,7 @@ msgstr "源库存项" #: build/models.py:1375 build/serializers.py:193 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1962 +#: build/templates/build/detail.html:34 common/models.py:1973 #: order/models.py:934 order/models.py:1460 order/serializers.py:1206 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 #: part/forms.py:40 part/models.py:2907 part/models.py:3425 @@ -1067,14 +1068,14 @@ msgstr "源库存项" #: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/build.js:2208 #: templates/js/translated/company.js:1164 -#: templates/js/translated/model_renderers.js:120 +#: templates/js/translated/model_renderers.js:122 #: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 #: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 #: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 #: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:780 templates/js/translated/part.js:851 -#: templates/js/translated/part.js:1324 templates/js/translated/part.js:2824 +#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 +#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 #: templates/js/translated/pricing.js:355 #: templates/js/translated/pricing.js:448 #: templates/js/translated/pricing.js:496 @@ -1122,8 +1123,8 @@ msgid "Enter quantity for build output" msgstr "输入生产产出数量" #: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:903 -#: part/serializers.py:1274 stock/models.py:574 stock/models.py:1326 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 +#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 #: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1171,7 +1172,7 @@ msgstr "必须提供生产产出列表" #: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 #: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 #: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:779 templates/js/translated/stock.js:619 +#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 #: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 #: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 msgid "Location" @@ -1431,7 +1432,7 @@ msgstr "库存尚未被完全分配到此构建订单" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 #: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1339 +#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 msgid "Target Date" msgstr "预计日期" @@ -1513,7 +1514,7 @@ msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1251 -#: templates/js/translated/model_renderers.js:124 +#: templates/js/translated/model_renderers.js:126 #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 #: templates/js/translated/stock.js:2785 #: templates/js/translated/table_filters.js:179 @@ -1722,7 +1723,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:781 +#: common/models.py:65 templates/js/translated/part.js:789 msgid "Updated" msgstr "" @@ -1754,1142 +1755,1142 @@ msgstr "" msgid "Key string must be unique" msgstr "" -#: common/models.py:795 +#: common/models.py:806 msgid "No group" msgstr "" -#: common/models.py:820 +#: common/models.py:831 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:822 +#: common/models.py:833 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:873 +#: common/models.py:884 msgid "Restart required" msgstr "" -#: common/models.py:874 +#: common/models.py:885 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:881 +#: common/models.py:892 msgid "Server Instance Name" msgstr "" -#: common/models.py:883 +#: common/models.py:894 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:888 +#: common/models.py:899 msgid "Use instance name" msgstr "" -#: common/models.py:889 +#: common/models.py:900 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:895 +#: common/models.py:906 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:896 +#: common/models.py:907 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:902 company/models.py:98 company/models.py:99 +#: common/models.py:913 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "公司名称" -#: common/models.py:903 +#: common/models.py:914 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:908 +#: common/models.py:919 msgid "Base URL" msgstr "" -#: common/models.py:909 +#: common/models.py:920 msgid "Base URL for server instance" msgstr "" -#: common/models.py:916 +#: common/models.py:927 msgid "Default Currency" msgstr "" -#: common/models.py:917 +#: common/models.py:928 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:924 +#: common/models.py:935 msgid "Download from URL" msgstr "" -#: common/models.py:925 +#: common/models.py:936 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:931 +#: common/models.py:942 msgid "Download Size Limit" msgstr "" -#: common/models.py:932 +#: common/models.py:943 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:943 +#: common/models.py:954 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:944 +#: common/models.py:955 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:949 +#: common/models.py:960 msgid "Require confirm" msgstr "" -#: common/models.py:950 +#: common/models.py:961 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:956 +#: common/models.py:967 msgid "Tree Depth" msgstr "" -#: common/models.py:957 +#: common/models.py:968 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:966 +#: common/models.py:977 msgid "Automatic Backup" msgstr "" -#: common/models.py:967 +#: common/models.py:978 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:973 +#: common/models.py:984 msgid "Days Between Backup" msgstr "" -#: common/models.py:974 +#: common/models.py:985 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:983 +#: common/models.py:994 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:984 +#: common/models.py:995 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:994 +#: common/models.py:1005 msgid "Delete Error Logs" msgstr "" -#: common/models.py:995 +#: common/models.py:1006 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1006 +#: common/models.py:1017 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1017 +#: common/models.py:1028 msgid "Enable barcode scanner support" msgstr "启用条形码扫描支持" -#: common/models.py:1023 +#: common/models.py:1034 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1024 +#: common/models.py:1035 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1034 +#: common/models.py:1045 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1035 +#: common/models.py:1046 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1041 +#: common/models.py:1052 msgid "IPN Regex" msgstr "" -#: common/models.py:1042 +#: common/models.py:1053 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1046 +#: common/models.py:1057 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1047 +#: common/models.py:1058 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1053 +#: common/models.py:1064 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1054 +#: common/models.py:1065 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1060 +#: common/models.py:1071 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1061 +#: common/models.py:1072 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1067 +#: common/models.py:1078 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1068 +#: common/models.py:1079 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1074 +#: common/models.py:1085 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1075 +#: common/models.py:1086 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1081 +#: common/models.py:1092 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1082 +#: common/models.py:1093 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1088 part/admin.py:41 part/models.py:3234 +#: common/models.py:1099 part/admin.py:41 part/models.py:3234 #: report/models.py:158 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:516 msgid "Template" msgstr "模板" -#: common/models.py:1089 +#: common/models.py:1100 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1095 part/admin.py:37 part/admin.py:262 part/models.py:958 +#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 #: templates/js/translated/bom.js:1602 #: templates/js/translated/table_filters.js:196 #: templates/js/translated/table_filters.js:475 msgid "Assembly" msgstr "组装" -#: common/models.py:1096 +#: common/models.py:1107 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1102 part/admin.py:38 part/models.py:964 +#: common/models.py:1113 part/admin.py:38 part/models.py:964 #: templates/js/translated/table_filters.js:483 msgid "Component" msgstr "组件" -#: common/models.py:1103 +#: common/models.py:1114 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1109 part/admin.py:39 part/models.py:975 +#: common/models.py:1120 part/admin.py:39 part/models.py:975 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:1110 +#: common/models.py:1121 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1116 part/admin.py:40 part/models.py:980 +#: common/models.py:1127 part/admin.py:40 part/models.py:980 #: templates/js/translated/table_filters.js:504 msgid "Salable" msgstr "可销售" -#: common/models.py:1117 +#: common/models.py:1128 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1123 part/admin.py:42 part/models.py:970 +#: common/models.py:1134 part/admin.py:42 part/models.py:970 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:520 msgid "Trackable" msgstr "可追踪" -#: common/models.py:1124 +#: common/models.py:1135 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1130 part/admin.py:43 part/models.py:990 +#: common/models.py:1141 part/admin.py:43 part/models.py:990 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 #: templates/js/translated/table_filters.js:524 msgid "Virtual" msgstr "虚拟" -#: common/models.py:1131 +#: common/models.py:1142 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:1137 +#: common/models.py:1148 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:1138 +#: common/models.py:1149 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:1144 +#: common/models.py:1155 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:1145 +#: common/models.py:1156 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1151 +#: common/models.py:1162 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1152 +#: common/models.py:1163 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1158 templates/js/translated/part.js:73 +#: common/models.py:1169 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1159 +#: common/models.py:1170 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1165 +#: common/models.py:1176 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1166 +#: common/models.py:1177 msgid "Format to display the part name" msgstr "" -#: common/models.py:1173 +#: common/models.py:1184 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1174 +#: common/models.py:1185 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1179 +#: common/models.py:1190 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1180 +#: common/models.py:1191 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1190 +#: common/models.py:1201 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1191 +#: common/models.py:1202 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1197 +#: common/models.py:1208 msgid "Purchase History Override" msgstr "" -#: common/models.py:1198 +#: common/models.py:1209 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1204 +#: common/models.py:1215 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1205 +#: common/models.py:1216 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1211 +#: common/models.py:1222 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1212 +#: common/models.py:1223 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1233 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1223 +#: common/models.py:1234 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1229 +#: common/models.py:1240 msgid "Active Variants Only" msgstr "" -#: common/models.py:1230 +#: common/models.py:1241 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1236 +#: common/models.py:1247 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1237 +#: common/models.py:1248 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1238 common/models.py:1361 +#: common/models.py:1249 common/models.py:1372 msgid "days" msgstr "天" -#: common/models.py:1247 +#: common/models.py:1258 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1248 +#: common/models.py:1259 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1254 +#: common/models.py:1265 msgid "Internal Price Override" msgstr "" -#: common/models.py:1255 +#: common/models.py:1266 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1261 +#: common/models.py:1272 msgid "Enable label printing" msgstr "" -#: common/models.py:1262 +#: common/models.py:1273 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1268 +#: common/models.py:1279 msgid "Label Image DPI" msgstr "" -#: common/models.py:1269 +#: common/models.py:1280 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Enable Reports" msgstr "" -#: common/models.py:1279 +#: common/models.py:1290 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1285 templates/stats.html:25 +#: common/models.py:1296 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1286 +#: common/models.py:1297 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1292 +#: common/models.py:1303 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1293 +#: common/models.py:1304 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1304 +#: common/models.py:1315 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1310 +#: common/models.py:1321 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1311 +#: common/models.py:1322 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1317 +#: common/models.py:1328 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1318 +#: common/models.py:1329 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1324 +#: common/models.py:1335 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1325 +#: common/models.py:1336 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1331 +#: common/models.py:1342 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1332 +#: common/models.py:1343 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1338 +#: common/models.py:1349 msgid "Batch Code Template" msgstr "" -#: common/models.py:1339 +#: common/models.py:1350 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1352 +#: common/models.py:1363 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1367 +#: common/models.py:1378 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1374 +#: common/models.py:1385 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1381 +#: common/models.py:1392 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1387 +#: common/models.py:1398 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1394 +#: common/models.py:1405 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1401 +#: common/models.py:1412 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1429 +#: common/models.py:1440 msgid "Enable password forgot" msgstr "" -#: common/models.py:1430 +#: common/models.py:1441 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1436 +#: common/models.py:1447 msgid "Enable registration" msgstr "" -#: common/models.py:1437 +#: common/models.py:1448 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1443 +#: common/models.py:1454 msgid "Enable SSO" msgstr "" -#: common/models.py:1444 +#: common/models.py:1455 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1450 +#: common/models.py:1461 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1451 +#: common/models.py:1462 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1457 +#: common/models.py:1468 msgid "Email required" msgstr "" -#: common/models.py:1458 +#: common/models.py:1469 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1464 +#: common/models.py:1475 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1465 +#: common/models.py:1476 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Mail twice" msgstr "" -#: common/models.py:1472 +#: common/models.py:1483 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Password twice" msgstr "" -#: common/models.py:1479 +#: common/models.py:1490 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Allowed domains" msgstr "" -#: common/models.py:1486 +#: common/models.py:1497 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Group on signup" msgstr "" -#: common/models.py:1493 +#: common/models.py:1504 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Enforce MFA" msgstr "" -#: common/models.py:1500 +#: common/models.py:1511 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1507 +#: common/models.py:1518 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1514 +#: common/models.py:1525 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1515 +#: common/models.py:1526 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1522 +#: common/models.py:1533 msgid "Enable URL integration" msgstr "" -#: common/models.py:1523 +#: common/models.py:1534 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1530 +#: common/models.py:1541 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1531 +#: common/models.py:1542 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1538 +#: common/models.py:1549 msgid "Enable app integration" msgstr "" -#: common/models.py:1539 +#: common/models.py:1550 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1546 +#: common/models.py:1557 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1554 +#: common/models.py:1565 msgid "Enable event integration" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1574 common/models.py:1923 +#: common/models.py:1585 common/models.py:1934 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1597 +#: common/models.py:1608 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1617 +#: common/models.py:1628 msgid "Recent Part Count" msgstr "" -#: common/models.py:1618 +#: common/models.py:1629 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1624 +#: common/models.py:1635 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1625 +#: common/models.py:1636 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1631 +#: common/models.py:1642 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1632 +#: common/models.py:1643 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1638 +#: common/models.py:1649 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1639 +#: common/models.py:1650 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1645 +#: common/models.py:1656 msgid "Show low stock" msgstr "" -#: common/models.py:1646 +#: common/models.py:1657 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1652 +#: common/models.py:1663 msgid "Show depleted stock" msgstr "" -#: common/models.py:1653 +#: common/models.py:1664 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1659 +#: common/models.py:1670 msgid "Show needed stock" msgstr "" -#: common/models.py:1660 +#: common/models.py:1671 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1677 msgid "Show expired stock" msgstr "" -#: common/models.py:1667 +#: common/models.py:1678 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1684 msgid "Show stale stock" msgstr "" -#: common/models.py:1674 +#: common/models.py:1685 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1691 msgid "Show pending builds" msgstr "" -#: common/models.py:1681 +#: common/models.py:1692 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1687 +#: common/models.py:1698 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1688 +#: common/models.py:1699 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1694 +#: common/models.py:1705 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1695 +#: common/models.py:1706 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1712 msgid "Show overdue POs" msgstr "" -#: common/models.py:1702 +#: common/models.py:1713 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1708 +#: common/models.py:1719 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1709 +#: common/models.py:1720 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1726 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1716 +#: common/models.py:1727 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1733 msgid "Show News" msgstr "" -#: common/models.py:1723 +#: common/models.py:1734 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1740 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1730 +#: common/models.py:1741 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1736 +#: common/models.py:1747 msgid "Inline report display" msgstr "" -#: common/models.py:1737 +#: common/models.py:1748 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1743 +#: common/models.py:1754 msgid "Search Parts" msgstr "" -#: common/models.py:1744 +#: common/models.py:1755 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1750 +#: common/models.py:1761 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1751 +#: common/models.py:1762 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1757 +#: common/models.py:1768 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1758 +#: common/models.py:1769 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1764 +#: common/models.py:1775 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1765 +#: common/models.py:1776 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1771 +#: common/models.py:1782 msgid "Search Categories" msgstr "" -#: common/models.py:1772 +#: common/models.py:1783 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1778 +#: common/models.py:1789 msgid "Search Stock" msgstr "" -#: common/models.py:1779 +#: common/models.py:1790 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1785 +#: common/models.py:1796 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1786 +#: common/models.py:1797 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1792 +#: common/models.py:1803 msgid "Search Locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1804 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1799 +#: common/models.py:1810 msgid "Search Companies" msgstr "" -#: common/models.py:1800 +#: common/models.py:1811 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Search Build Orders" msgstr "" -#: common/models.py:1807 +#: common/models.py:1818 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1814 +#: common/models.py:1825 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1821 +#: common/models.py:1832 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1838 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1828 +#: common/models.py:1839 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1835 +#: common/models.py:1846 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1852 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1859 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:1849 +#: common/models.py:1860 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1856 +#: common/models.py:1867 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1863 +#: common/models.py:1874 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1869 +#: common/models.py:1880 msgid "Date Format" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1884 part/templates/part/detail.html:41 +#: common/models.py:1895 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1885 +#: common/models.py:1896 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1891 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:797 +#: common/models.py:1902 part/templates/part/detail.html:61 +#: templates/js/translated/part.js:805 msgid "Part Stocktake" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Display part stocktake information" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Table String Length" msgstr "" -#: common/models.py:1899 +#: common/models.py:1910 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1963 +#: common/models.py:1974 msgid "Price break quantity" msgstr "" -#: common/models.py:1970 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1391 +#: common/models.py:1981 company/serializers.py:397 order/models.py:975 +#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 #: templates/js/translated/pricing.js:595 msgid "Price" msgstr "价格" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2131 common/models.py:2309 +#: common/models.py:2142 common/models.py:2320 msgid "Endpoint" msgstr "" -#: common/models.py:2132 +#: common/models.py:2143 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2141 +#: common/models.py:2152 msgid "Name for this webhook" msgstr "" -#: common/models.py:2146 part/admin.py:36 part/models.py:985 +#: common/models.py:2157 part/admin.py:36 part/models.py:985 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:344 @@ -2897,97 +2898,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2147 +#: common/models.py:2158 msgid "Is this webhook active" msgstr "" -#: common/models.py:2161 +#: common/models.py:2172 msgid "Token" msgstr "令牌" -#: common/models.py:2162 +#: common/models.py:2173 msgid "Token for access" msgstr "" -#: common/models.py:2169 +#: common/models.py:2180 msgid "Secret" msgstr "" -#: common/models.py:2170 +#: common/models.py:2181 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Message ID" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2285 +#: common/models.py:2296 msgid "Host" msgstr "" -#: common/models.py:2286 +#: common/models.py:2297 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2293 +#: common/models.py:2304 msgid "Header" msgstr "" -#: common/models.py:2294 +#: common/models.py:2305 msgid "Header of this message" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Body" msgstr "" -#: common/models.py:2301 +#: common/models.py:2312 msgid "Body of this message" msgstr "" -#: common/models.py:2310 +#: common/models.py:2321 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2315 +#: common/models.py:2326 msgid "Worked on" msgstr "" -#: common/models.py:2316 +#: common/models.py:2327 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Id" msgstr "" -#: common/models.py:2476 templates/js/translated/news.js:35 +#: common/models.py:2487 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2486 templates/js/translated/news.js:51 +#: common/models.py:2497 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2491 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2496 templates/js/translated/news.js:43 +#: common/models.py:2507 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2501 +#: common/models.py:2512 msgid "Read" msgstr "" -#: common/models.py:2502 +#: common/models.py:2513 msgid "Was this news item read?" msgstr "" @@ -3180,7 +3181,7 @@ msgstr "选择制造商" #: templates/js/translated/company.js:533 #: templates/js/translated/company.js:685 #: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1313 +#: templates/js/translated/part.js:1321 msgid "MPN" msgstr "" @@ -3210,7 +3211,7 @@ msgstr "参数名称" #: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1135 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 #: templates/js/translated/stock.js:1405 msgid "Value" msgstr "数值" @@ -3222,7 +3223,7 @@ msgstr "参数值" #: company/models.py:377 part/admin.py:26 part/models.py:952 #: part/models.py:3194 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 msgid "Units" msgstr "单位" @@ -3242,7 +3243,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:437 #: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1281 templates/js/translated/pricing.js:472 +#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 #: templates/js/translated/table_filters.js:451 msgid "Supplier" msgstr "供应商" @@ -3254,7 +3255,7 @@ msgstr "选择供应商" #: company/models.py:504 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:365 #: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1299 templates/js/translated/pricing.js:484 +#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 msgid "SKU" msgstr "" @@ -3306,7 +3307,7 @@ msgstr "商品打包" #: templates/js/translated/company.js:997 templates/js/translated/order.js:852 #: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 #: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1331 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 msgid "Pack Quantity" msgstr "" @@ -3326,8 +3327,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:601 -#: templates/js/translated/part.js:604 +#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 +#: templates/js/translated/part.js:607 #: templates/js/translated/table_filters.js:206 msgid "Available" msgstr "空闲" @@ -3420,7 +3421,7 @@ msgid "Phone" msgstr "电话" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:525 +#: part/templates/part/part_base.html:532 msgid "Remove Image" msgstr "" @@ -3429,19 +3430,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:535 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:557 +#: part/templates/part/part_base.html:564 msgid "Upload Image" msgstr "上传图片" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:612 +#: part/templates/part/part_base.html:619 msgid "Download Image" msgstr "下载图片" @@ -3595,8 +3596,8 @@ msgstr "删除供应商商品" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:392 part/templates/part/detail.html:422 -#: templates/js/translated/forms.js:504 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:303 templates/js/translated/stock.js:187 +#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 +#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 #: users/models.py:225 msgid "Delete" msgstr "删除" @@ -3620,7 +3621,7 @@ msgid "Delete parameters" msgstr "删除参数" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:869 +#: part/templates/part/detail.html:873 msgid "Add Parameter" msgstr "添加参数" @@ -3769,8 +3770,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1023 templates/js/translated/part.js:1624 -#: templates/js/translated/part.js:1780 templates/js/translated/stock.js:993 +#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 +#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 #: templates/js/translated/stock.js:1802 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -3907,7 +3908,7 @@ msgstr "" #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1258 +#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 #: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 #: templates/js/translated/stock.js:2591 msgid "Purchase Order" @@ -4079,7 +4080,7 @@ msgstr "供应商商品" #: order/models.py:1046 order/templates/order/order_base.html:178 #: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1375 templates/js/translated/part.js:1407 +#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 #: templates/js/translated/table_filters.js:366 msgid "Received" msgstr "" @@ -4136,7 +4137,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" @@ -4681,7 +4682,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:212 +#: templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "商品ID" @@ -4694,13 +4695,13 @@ msgid "Part Description" msgstr "" #: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1009 templates/js/translated/part.js:1737 +#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 #: templates/js/translated/stock.js:1768 msgid "IPN" msgstr "" #: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1014 +#: report/models.py:171 templates/js/translated/part.js:1022 msgid "Revision" msgstr "" @@ -4710,7 +4711,7 @@ msgid "Keywords" msgstr "关键词" #: part/admin.py:28 part/admin.py:172 -#: templates/js/translated/model_renderers.js:338 +#: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "类别 ID" @@ -4738,8 +4739,8 @@ msgstr "" #: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:591 templates/js/translated/part.js:611 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 +#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" @@ -4755,8 +4756,8 @@ msgid "Allocated" msgstr "" #: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1631 templates/js/translated/part.js:1812 +#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 +#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 msgid "Building" msgstr "" @@ -4787,7 +4788,7 @@ msgstr "类别路径" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2321 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" @@ -4966,7 +4967,7 @@ msgstr "提高搜索结果可见性的关键字" #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:276 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1759 templates/js/translated/part.js:2026 +#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 msgid "Category" msgstr "类别" @@ -5062,9 +5063,13 @@ msgstr "" msgid "Creation User" msgstr "新建用户" +#: part/models.py:1006 +msgid "User responsible for this part" +msgstr "" + #: part/models.py:1010 part/templates/part/part_base.html:345 #: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1884 msgid "Last Stocktake" msgstr "" @@ -5208,7 +5213,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:862 +#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 #: templates/js/translated/pricing.js:778 #: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 msgid "Date" @@ -5234,7 +5239,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2372 +#: part/models.py:3116 templates/js/translated/part.js:2380 msgid "Test Name" msgstr "" @@ -5250,7 +5255,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2381 +#: part/models.py:3128 templates/js/translated/part.js:2389 #: templates/js/translated/table_filters.js:330 msgid "Required" msgstr "" @@ -5259,7 +5264,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2389 +#: part/models.py:3134 templates/js/translated/part.js:2397 msgid "Requires Value" msgstr "" @@ -5267,7 +5272,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2396 +#: part/models.py:3140 templates/js/translated/part.js:2404 msgid "Requires Attachment" msgstr "" @@ -5543,7 +5548,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:385 msgid "Duplicate Part" msgstr "复制部件" @@ -5567,83 +5572,83 @@ msgstr "" msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:801 +#: part/serializers.py:802 msgid "Update" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:803 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1112 +#: part/serializers.py:1113 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1120 +#: part/serializers.py:1121 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1122 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1127 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1128 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1133 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1134 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1138 +#: part/serializers.py:1139 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1140 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1179 +#: part/serializers.py:1180 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1181 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1210 +#: part/serializers.py:1211 msgid "No part column specified" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1254 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1256 +#: part/serializers.py:1257 msgid "No matching part found" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1260 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1269 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1277 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1298 msgid "At least one BOM item is required" msgstr "" @@ -6046,13 +6051,13 @@ msgstr "商品是虚拟的(不是实体零件)" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:660 #: templates/js/translated/company.js:921 -#: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:655 templates/js/translated/part.js:1001 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:687 msgid "Show Part Details" msgstr "" @@ -6080,7 +6085,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1850 +#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 #: templates/js/translated/pricing.js:365 #: templates/js/translated/pricing.js:1003 msgid "Price Range" @@ -6095,23 +6100,23 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:463 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:509 +#: part/templates/part/part_base.html:516 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:533 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:578 +#: part/templates/part/part_base.html:585 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:674 +#: part/templates/part/part_base.html:681 msgid "Hide Part Details" msgstr "" @@ -6258,8 +6263,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1619 templates/js/translated/part.js:1621 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 msgid "No Stock" msgstr "" @@ -6693,7 +6698,7 @@ msgstr "" #: stock/models.py:706 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:479 templates/js/translated/build.js:635 #: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 -#: templates/js/translated/model_renderers.js:118 +#: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 #: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 msgid "Serial Number" @@ -6727,14 +6732,14 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:724 +#: stock/admin.py:87 templates/js/translated/part.js:732 #: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 #: templates/js/translated/stock.js:2768 msgid "Serial" msgstr "" #: stock/admin.py:23 stock/admin.py:90 -#: templates/js/translated/model_renderers.js:159 +#: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" @@ -6751,7 +6756,7 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "供应商商品ID" @@ -6772,7 +6777,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" @@ -8341,7 +8346,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:707 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" msgstr "确认" @@ -8582,7 +8587,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2701 +#: templates/js/translated/part.js:2709 msgid "Minimum Quantity" msgstr "" @@ -8955,7 +8960,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:1818 +#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 msgid "Includes variant stock" msgstr "" @@ -9254,8 +9259,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1712 -#: templates/js/translated/part.js:2259 templates/js/translated/stock.js:1732 +#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 #: templates/js/translated/stock.js:2431 msgid "Select" msgstr "" @@ -9341,34 +9346,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:639 -#: templates/js/translated/part.js:993 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 +#: templates/js/translated/part.js:1001 msgid "Template part" msgstr "" #: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:643 -#: templates/js/translated/part.js:997 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 +#: templates/js/translated/part.js:1005 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1116 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1158 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1159 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1176 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 msgid "Delete Parameter" msgstr "删除参数" @@ -9448,61 +9453,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:372 templates/js/translated/forms.js:387 -#: templates/js/translated/forms.js:401 templates/js/translated/forms.js:415 +#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 +#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:374 +#: templates/js/translated/forms.js:375 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:390 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:404 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:417 +#: templates/js/translated/forms.js:418 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:733 +#: templates/js/translated/forms.js:734 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:834 +#: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1336 templates/modals.html:19 +#: templates/js/translated/forms.js:1337 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1790 +#: templates/js/translated/forms.js:1791 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2006 templates/search.html:29 +#: templates/js/translated/forms.js:2007 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2261 +#: templates/js/translated/forms.js:2265 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2717 +#: templates/js/translated/forms.js:2721 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2729 +#: templates/js/translated/forms.js:2733 msgid "Select Columns" msgstr "" @@ -9635,25 +9640,25 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/model_renderers.js:74 msgid "Company ID" msgstr "公司ID" -#: templates/js/translated/model_renderers.js:133 +#: templates/js/translated/model_renderers.js:135 msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:278 -#: templates/js/translated/model_renderers.js:303 +#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:316 msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:316 -#: templates/js/translated/model_renderers.js:320 +#: templates/js/translated/model_renderers.js:329 +#: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:381 +#: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" msgstr "制造商商品ID" @@ -9881,7 +9886,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1229 +#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 msgid "No purchase orders found" msgstr "" @@ -9914,8 +9919,8 @@ msgstr "" msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1331 -#: templates/js/translated/part.js:1383 +#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 +#: templates/js/translated/part.js:1391 msgid "Total Quantity" msgstr "" @@ -9933,11 +9938,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1367 +#: templates/js/translated/part.js:1375 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1412 +#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 msgid "Receive line item" msgstr "" @@ -10118,302 +10123,306 @@ msgstr "商品重复选项" msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:213 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: templates/js/translated/part.js:211 +#: templates/js/translated/part.js:214 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:250 +#: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:265 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:284 msgid "Edit Part Category" msgstr "编辑商品类别" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:297 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:299 +#: templates/js/translated/part.js:302 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:308 +#: templates/js/translated/part.js:311 msgid "Delete Part Category" msgstr "删除商品类别" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:315 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:320 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:341 +#: templates/js/translated/part.js:344 msgid "Create Part" msgstr "创建商品" -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:346 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:347 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:372 +#: templates/js/translated/part.js:375 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:374 +#: templates/js/translated/part.js:377 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:388 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:437 +#: templates/js/translated/part.js:440 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:438 +#: templates/js/translated/part.js:441 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:455 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:457 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:458 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:456 +#: templates/js/translated/part.js:459 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:466 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:499 +#: templates/js/translated/part.js:502 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:501 +#: templates/js/translated/part.js:504 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:509 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:511 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:525 +#: templates/js/translated/part.js:528 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:538 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:541 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:563 +#: templates/js/translated/part.js:566 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:587 templates/js/translated/part.js:1800 +#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 #: templates/js/translated/table_filters.js:496 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:600 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:631 templates/js/translated/part.js:985 +#: templates/js/translated/part.js:623 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/part.js:635 templates/js/translated/part.js:989 +#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:647 +#: templates/js/translated/part.js:655 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:651 +#: templates/js/translated/part.js:659 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:736 +#: templates/js/translated/part.js:744 msgid "Stock item has not been checked recently" msgstr "" -#: templates/js/translated/part.js:744 +#: templates/js/translated/part.js:752 msgid "Update item" msgstr "" -#: templates/js/translated/part.js:745 +#: templates/js/translated/part.js:753 msgid "Delete item" msgstr "" -#: templates/js/translated/part.js:846 +#: templates/js/translated/part.js:854 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:885 templates/js/translated/part.js:908 +#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:889 templates/js/translated/part.js:920 +#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1061 +#: templates/js/translated/part.js:1069 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1482 +#: templates/js/translated/part.js:1490 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1506 +#: templates/js/translated/part.js:1514 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1911 +#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1767 +#: templates/js/translated/part.js:1775 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:1798 +#: templates/js/translated/part.js:1806 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1822 +#: templates/js/translated/part.js:1830 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1826 +#: templates/js/translated/part.js:1834 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1935 templates/js/translated/part.js:2178 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 #: templates/js/translated/stock.js:2390 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1951 +#: templates/js/translated/part.js:1959 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2017 +#: templates/js/translated/part.js:2025 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2022 +#: templates/js/translated/part.js:2030 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:2027 +#: templates/js/translated/part.js:2035 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:2048 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2198 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2278 +#: templates/js/translated/part.js:2286 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2294 +#: templates/js/translated/part.js:2302 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2366 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2409 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:1338 +#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 #: templates/js/translated/stock.js:1606 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2416 +#: templates/js/translated/part.js:2424 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2438 +#: templates/js/translated/part.js:2446 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2452 +#: templates/js/translated/part.js:2460 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/part.js:2534 +#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2536 +#: templates/js/translated/part.js:2544 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2550 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2592 +#: templates/js/translated/part.js:2600 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2598 +#: templates/js/translated/part.js:2606 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2694 +#: templates/js/translated/part.js:2702 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2718 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2755 +#: templates/js/translated/part.js:2763 msgid "Minimum Stock Level" msgstr "" From 45d50fc6186e85f18f9264074fe03235ee294ec7 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 16 Feb 2023 09:52:13 +1100 Subject: [PATCH 004/140] Company attachment (#4346) * Adds new model, API, serializers, etc - Refactor InvenTreeAttachmentSerializer class - Reduces code duplication * Update front end * Increment API version --- InvenTree/InvenTree/api_version.py | 5 ++- InvenTree/InvenTree/serializers.py | 21 +++++++++ InvenTree/build/serializers.py | 16 +------ InvenTree/company/api.py | 35 +++++++++++++-- .../migrations/0054_companyattachment.py | 33 ++++++++++++++ InvenTree/company/models.py | 19 ++++++++ InvenTree/company/serializers.py | 34 +++++++-------- .../company/templates/company/detail.html | 43 +++++++++++++++++++ .../company/templates/company/sidebar.html | 2 + .../company/supplier_part_navbar.html | 33 -------------- InvenTree/order/serializers.py | 32 ++------------ InvenTree/part/serializers.py | 16 +------ InvenTree/stock/serializers.py | 18 +------- InvenTree/users/models.py | 2 + 14 files changed, 182 insertions(+), 127 deletions(-) create mode 100644 InvenTree/company/migrations/0054_companyattachment.py delete mode 100644 InvenTree/company/templates/company/supplier_part_navbar.html diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 7f207ec394..155b065b3c 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 94 +INVENTREE_API_VERSION = 95 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v95 -> 2023-02-16 : https://github.com/inventree/InvenTree/pull/4346 + - Adds "CompanyAttachment" model (and associated API endpoints) + v94 -> 2023-02-10 : https://github.com/inventree/InvenTree/pull/4327 - Adds API endpoints for the "Group" auth model diff --git a/InvenTree/InvenTree/serializers.py b/InvenTree/InvenTree/serializers.py index a7d46745ae..39f9aecd4c 100644 --- a/InvenTree/InvenTree/serializers.py +++ b/InvenTree/InvenTree/serializers.py @@ -282,6 +282,25 @@ class InvenTreeAttachmentSerializer(InvenTreeModelSerializer): The only real addition here is that we support "renaming" of the attachment file. """ + @staticmethod + def attachment_fields(extra_fields=None): + """Default set of fields for an attachment serializer""" + fields = [ + 'pk', + 'attachment', + 'filename', + 'link', + 'comment', + 'upload_date', + 'user', + 'user_detail', + ] + + if extra_fields: + fields += extra_fields + + return fields + user_detail = UserSerializer(source='user', read_only=True, many=False) attachment = InvenTreeAttachmentSerializerField( @@ -297,6 +316,8 @@ class InvenTreeAttachmentSerializer(InvenTreeModelSerializer): allow_blank=False, ) + upload_date = serializers.DateField(read_only=True) + class InvenTreeImageSerializerField(serializers.ImageField): """Custom image serializer. diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index 1f2844bda8..78d3dc98ae 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -929,18 +929,6 @@ class BuildAttachmentSerializer(InvenTreeAttachmentSerializer): """Serializer metaclass""" model = BuildOrderAttachment - fields = [ - 'pk', + fields = InvenTreeAttachmentSerializer.attachment_fields([ 'build', - 'attachment', - 'link', - 'filename', - 'comment', - 'upload_date', - 'user', - 'user_detail', - ] - - read_only_fields = [ - 'upload_date', - ] + ]) diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 7095b2fff8..13c0901e43 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -15,10 +15,10 @@ from InvenTree.mixins import (ListCreateAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) from plugin.serializers import MetadataSerializer -from .models import (Company, ManufacturerPart, ManufacturerPartAttachment, - ManufacturerPartParameter, SupplierPart, - SupplierPriceBreak) -from .serializers import (CompanySerializer, +from .models import (Company, CompanyAttachment, ManufacturerPart, + ManufacturerPartAttachment, ManufacturerPartParameter, + SupplierPart, SupplierPriceBreak) +from .serializers import (CompanyAttachmentSerializer, CompanySerializer, ManufacturerPartAttachmentSerializer, ManufacturerPartParameterSerializer, ManufacturerPartSerializer, SupplierPartSerializer, @@ -96,6 +96,28 @@ class CompanyMetadata(RetrieveUpdateAPI): queryset = Company.objects.all() +class CompanyAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): + """API endpoint for the CompanyAttachment model""" + + queryset = CompanyAttachment.objects.all() + serializer_class = CompanyAttachmentSerializer + + filter_backends = [ + DjangoFilterBackend, + ] + + filterset_fields = [ + 'company', + ] + + +class CompanyAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): + """Detail endpoint for CompanyAttachment model.""" + + queryset = CompanyAttachment.objects.all() + serializer_class = CompanyAttachmentSerializer + + class ManufacturerPartFilter(rest_filters.FilterSet): """Custom API filters for the ManufacturerPart list endpoint.""" @@ -521,6 +543,11 @@ company_api_urls = [ re_path(r'^.*$', CompanyDetail.as_view(), name='api-company-detail'), ])), + re_path(r'^attachment/', include([ + re_path(r'^(?P\d+)/', CompanyAttachmentDetail.as_view(), name='api-company-attachment-detail'), + re_path(r'^$', CompanyAttachmentList.as_view(), name='api-company-attachment-list'), + ])), + re_path(r'^.*$', CompanyList.as_view(), name='api-company-list'), ] diff --git a/InvenTree/company/migrations/0054_companyattachment.py b/InvenTree/company/migrations/0054_companyattachment.py new file mode 100644 index 0000000000..44a415fce3 --- /dev/null +++ b/InvenTree/company/migrations/0054_companyattachment.py @@ -0,0 +1,33 @@ +# Generated by Django 3.2.16 on 2023-02-15 12:55 + +import InvenTree.fields +import InvenTree.models +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('company', '0053_supplierpart_updated'), + ] + + operations = [ + migrations.CreateModel( + name='CompanyAttachment', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('attachment', models.FileField(blank=True, help_text='Select file to attach', null=True, upload_to=InvenTree.models.rename_attachment, verbose_name='Attachment')), + ('link', InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to external URL', null=True, verbose_name='Link')), + ('comment', models.CharField(blank=True, help_text='File comment', max_length=100, verbose_name='Comment')), + ('upload_date', models.DateField(auto_now_add=True, null=True, verbose_name='upload date')), + ('company', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='company.company', verbose_name='Company')), + ('user', models.ForeignKey(blank=True, help_text='User', null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='User')), + ], + options={ + 'abstract': False, + }, + ), + ] diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index 6add14d125..3227af4707 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -205,6 +205,25 @@ class Company(MetadataMixin, models.Model): return stock.objects.filter(Q(supplier_part__supplier=self.id) | Q(supplier_part__manufacturer_part__manufacturer=self.id)).all() +class CompanyAttachment(InvenTreeAttachment): + """Model for storing file or URL attachments against a Company object""" + + @staticmethod + def get_api_url(): + """Return the API URL associated with this model""" + return reverse('api-company-attachment-list') + + def getSubdir(self): + """Return the subdirectory where these attachments are uploaded""" + return os.path.join('company_files', str(self.company.pk)) + + company = models.ForeignKey( + Company, on_delete=models.CASCADE, + verbose_name=_('Company'), + related_name='attachments', + ) + + class Contact(models.Model): """A Contact represents a person who works at a particular company. A Company may have zero or more associated Contact objects. diff --git a/InvenTree/company/serializers.py b/InvenTree/company/serializers.py index 52d4f55921..79c8da357f 100644 --- a/InvenTree/company/serializers.py +++ b/InvenTree/company/serializers.py @@ -17,9 +17,9 @@ from InvenTree.serializers import (InvenTreeAttachmentSerializer, InvenTreeMoneySerializer, RemoteImageMixin) from part.serializers import PartBriefSerializer -from .models import (Company, ManufacturerPart, ManufacturerPartAttachment, - ManufacturerPartParameter, SupplierPart, - SupplierPriceBreak) +from .models import (Company, CompanyAttachment, ManufacturerPart, + ManufacturerPartAttachment, ManufacturerPartParameter, + SupplierPart, SupplierPriceBreak) class CompanyBriefSerializer(InvenTreeModelSerializer): @@ -126,6 +126,18 @@ class CompanySerializer(RemoteImageMixin, InvenTreeModelSerializer): return self.instance +class CompanyAttachmentSerializer(InvenTreeAttachmentSerializer): + """Serializer for the CompanyAttachment class""" + + class Meta: + """Metaclass defines serializer options""" + model = CompanyAttachment + + fields = InvenTreeAttachmentSerializer.attachment_fields([ + 'company', + ]) + + class ManufacturerPartSerializer(InvenTreeModelSerializer): """Serializer for ManufacturerPart object.""" @@ -179,21 +191,9 @@ class ManufacturerPartAttachmentSerializer(InvenTreeAttachmentSerializer): model = ManufacturerPartAttachment - fields = [ - 'pk', + fields = InvenTreeAttachmentSerializer.attachment_fields([ 'manufacturer_part', - 'attachment', - 'filename', - 'link', - 'comment', - 'upload_date', - 'user', - 'user_detail', - ] - - read_only_fields = [ - 'upload_date', - ] + ]) class ManufacturerPartParameterSerializer(InvenTreeModelSerializer): diff --git a/InvenTree/company/templates/company/detail.html b/InvenTree/company/templates/company/detail.html index e77f81a0f8..49780c56ff 100644 --- a/InvenTree/company/templates/company/detail.html +++ b/InvenTree/company/templates/company/detail.html @@ -194,11 +194,54 @@ +
+
+
+

{% trans "Attachments" %}

+ {% include "spacer.html" %} +
+ {% include "attachment_button.html" %} +
+
+
+
+ {% include "attachment_table.html" %} +
+
+ {% endblock %} {% block js_ready %} {{ block.super }} + onPanelLoad("attachments", function() { + loadAttachmentTable('{% url "api-company-attachment-list" %}', { + filters: { + company: {{ company.pk }}, + }, + fields: { + company: { + value: {{ company.pk }}, + hidden: true + } + } + }); + + enableDragAndDrop( + '#attachment-dropzone', + '{% url "api-company-attachment-list" %}', + { + data: { + company: {{ company.id }}, + }, + label: 'attachment', + success: function(data, status, xhr) { + reloadAttachmentTable(); + } + } + ); + }); + onPanelLoad('company-notes', function() { setupNotesField( diff --git a/InvenTree/company/templates/company/sidebar.html b/InvenTree/company/templates/company/sidebar.html index 0063853732..ad40c03a0b 100644 --- a/InvenTree/company/templates/company/sidebar.html +++ b/InvenTree/company/templates/company/sidebar.html @@ -24,3 +24,5 @@ {% endif %} {% trans "Notes" as text %} {% include "sidebar_item.html" with label='company-notes' text=text icon="fa-clipboard" %} +{% trans "Attachments" as text %} +{% include "sidebar_item.html" with label='attachments' text=text icon="fa-paperclip" %} diff --git a/InvenTree/company/templates/company/supplier_part_navbar.html b/InvenTree/company/templates/company/supplier_part_navbar.html deleted file mode 100644 index d83338f1e0..0000000000 --- a/InvenTree/company/templates/company/supplier_part_navbar.html +++ /dev/null @@ -1,33 +0,0 @@ -{% load i18n %} -{% load inventree_extras %} - - diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index f240f29de1..fe960e7cf0 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -644,21 +644,9 @@ class PurchaseOrderAttachmentSerializer(InvenTreeAttachmentSerializer): model = order.models.PurchaseOrderAttachment - fields = [ - 'pk', + fields = InvenTreeAttachmentSerializer.attachment_fields([ 'order', - 'attachment', - 'link', - 'filename', - 'comment', - 'upload_date', - 'user', - 'user_detail', - ] - - read_only_fields = [ - 'upload_date', - ] + ]) class SalesOrderSerializer(AbstractOrderSerializer, InvenTreeModelSerializer): @@ -1416,18 +1404,6 @@ class SalesOrderAttachmentSerializer(InvenTreeAttachmentSerializer): model = order.models.SalesOrderAttachment - fields = [ - 'pk', + fields = InvenTreeAttachmentSerializer.attachment_fields([ 'order', - 'attachment', - 'filename', - 'link', - 'comment', - 'upload_date', - 'user', - 'user_detail', - ] - - read_only_fields = [ - 'upload_date', - ] + ]) diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 9745275407..ad065bc5e1 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -106,21 +106,9 @@ class PartAttachmentSerializer(InvenTreeAttachmentSerializer): """Metaclass defining serializer fields""" model = PartAttachment - fields = [ - 'pk', + fields = InvenTreeAttachmentSerializer.attachment_fields([ 'part', - 'attachment', - 'filename', - 'link', - 'comment', - 'upload_date', - 'user', - 'user_detail', - ] - - read_only_fields = [ - 'upload_date', - ] + ]) class PartTestTemplateSerializer(InvenTreeModelSerializer): diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 9708ed15d6..1a3b14af23 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -622,23 +622,9 @@ class StockItemAttachmentSerializer(InvenTree.serializers.InvenTreeAttachmentSer model = StockItemAttachment - fields = [ - 'pk', + fields = InvenTree.serializers.InvenTreeAttachmentSerializer.attachment_fields([ 'stock_item', - 'attachment', - 'filename', - 'link', - 'comment', - 'upload_date', - 'user', - 'user_detail', - ] - - read_only_fields = [ - 'upload_date', - 'user', - 'user_detail' - ] + ]) class StockItemTestResultSerializer(InvenTree.serializers.InvenTreeModelSerializer): diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index b754ae65e9..985b1228bd 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -130,6 +130,7 @@ class RuleSet(models.Model): ], 'purchase_order': [ 'company_company', + 'company_companyattachment', 'company_manufacturerpart', 'company_manufacturerpartparameter', 'company_supplierpart', @@ -142,6 +143,7 @@ class RuleSet(models.Model): ], 'sales_order': [ 'company_company', + 'company_companyattachment', 'order_salesorder', 'order_salesorderallocation', 'order_salesorderattachment', From b02ce1f01e005c996beac1b7bfc4363694844008 Mon Sep 17 00:00:00 2001 From: simonkuehling Date: Thu, 16 Feb 2023 21:25:09 +0100 Subject: [PATCH 005/140] show units in [Add Stock] modal (fixes #4351) (#4352) --- InvenTree/templates/js/translated/stock.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index 867c71bd0c..c5565c4131 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -1046,6 +1046,10 @@ function adjustStock(action, items, options={}) { var quantity = item.quantity; + if (item.part_detail.units != null) { + quantity += ` ${item.part_detail.units}`; + } + var location = locationDetail(item, false); if (item.location_detail) { From 6627a8097b6f021fcba1b4730378b39789c48fa6 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 17 Feb 2023 10:34:18 +1100 Subject: [PATCH 006/140] Stock API filtering fix (#4350) * Improve filtering options for StockItem list - Make use of StockFilter introspection * Remove outdated filter * remove outdated "max_results" parameter * Fix cascade issue for stocklist API * Add relationship filters to the StockItemFilter * Fix filtering by 'status' and 'allocated' * Refactor 'customer' and 'expired' filters * Cleanup * Adds unit test for top-level stock location filtering --- InvenTree/part/api.py | 22 +- InvenTree/stock/api.py | 222 ++++++++------------- InvenTree/stock/test_api.py | 23 +++ InvenTree/templates/InvenTree/index.html | 4 +- InvenTree/templates/js/translated/stock.js | 2 +- 5 files changed, 108 insertions(+), 165 deletions(-) diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 079f5d373e..3b11941562 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -1342,15 +1342,11 @@ class PartList(APIDownloadMixin, ListCreateAPI): # Does the user wish to filter by category? cat_id = params.get('category', None) - if cat_id is None: - # No category filtering if category is not specified - pass - - else: + if cat_id is not None: # Category has been specified! if isNull(cat_id): # A 'null' category is the top-level category - if cascade is False: + if not cascade: # Do not cascade, only list parts in the top-level category queryset = queryset.filter(category=None) @@ -1393,20 +1389,6 @@ class PartList(APIDownloadMixin, ListCreateAPI): queryset = queryset.filter(pk__in=parts_needed_to_complete_builds) - # Optionally limit the maximum number of returned results - # e.g. for displaying "recent part" list - max_results = params.get('max_results', None) - - if max_results is not None: - try: - max_results = int(max_results) - - if max_results > 0: - queryset = queryset[:max_results] - - except (ValueError): - pass - return queryset filter_backends = [ diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 78bbf891d6..29177eab0b 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -352,6 +352,25 @@ class StockLocationTree(ListAPI): class StockFilter(rest_filters.FilterSet): """FilterSet for StockItem LIST API.""" + class Meta: + """Metaclass options for this filterset""" + + model = StockItem + + # Simple filter filters + fields = [ + 'supplier_part', + 'belongs_to', + 'build', + 'customer', + 'sales_order', + 'purchase_order', + ] + + # Relationship filters + manufactuer = rest_filters.ModelChoiceFilter(label='Manufacturer', queryset=Company.objects.filter(is_manufacturer=True), field_name='manufacturer_part__manufacturer') + supplier = rest_filters.ModelChoiceFilter(label='Supplier', queryset=Company.objects.filter(is_supplier=True), field_name='supplier_part__supplier') + # Part name filters name = rest_filters.CharFilter(label='Part name (case insensitive)', field_name='part__name', lookup_expr='iexact') name_contains = rest_filters.CharFilter(label='Part name contains (case insensitive)', field_name='part__name', lookup_expr='icontains') @@ -369,16 +388,46 @@ class StockFilter(rest_filters.FilterSet): min_stock = rest_filters.NumberFilter(label='Minimum stock', field_name='quantity', lookup_expr='gte') max_stock = rest_filters.NumberFilter(label='Maximum stock', field_name='quantity', lookup_expr='lte') + status = rest_filters.NumberFilter(label='Status Code', method='filter_status') + + def filter_status(self, queryset, name, value): + """Filter by integer status code""" + + return queryset.filter(status=value) + + allocated = rest_filters.BooleanFilter(label='Is Allocated', method='filter_allocated') + + def filter_allocated(self, queryset, name, value): + """Filter by whether or not the stock item is 'allocated'""" + + if str2bool(value): + # Filter StockItem with either build allocations or sales order allocations + return queryset.filter(Q(sales_order_allocations__isnull=False) | Q(allocations__isnull=False)) + else: + # Filter StockItem without build allocations or sales order allocations + return queryset.filter(Q(sales_order_allocations__isnull=True) & Q(allocations__isnull=True)) + + expired = rest_filters.BooleanFilter(label='Expired', method='filter_expired') + + def filter_expired(self, queryset, name, value): + """Filter by whether or not the stock item has expired""" + + if not common.settings.stock_expiry_enabled(): + return queryset + + if str2bool(value): + return queryset.filter(StockItem.EXPIRED_FILTER) + else: + return queryset.exclude(StockItem.EXPIRED_FILTER) + in_stock = rest_filters.BooleanFilter(label='In Stock', method='filter_in_stock') def filter_in_stock(self, queryset, name, value): """Filter by if item is in stock.""" if str2bool(value): - queryset = queryset.filter(StockItem.IN_STOCK_FILTER) + return queryset.filter(StockItem.IN_STOCK_FILTER) else: - queryset = queryset.exclude(StockItem.IN_STOCK_FILTER) - - return queryset + return queryset.exclude(StockItem.IN_STOCK_FILTER) available = rest_filters.BooleanFilter(label='Available', method='filter_available') @@ -389,12 +438,10 @@ class StockFilter(rest_filters.FilterSet): """ if str2bool(value): # The 'quantity' field is greater than the calculated 'allocated' field - queryset = queryset.filter(Q(quantity__gt=F('allocated'))) + return queryset.filter(Q(quantity__gt=F('allocated'))) else: # The 'quantity' field is less than (or equal to) the calculated 'allocated' field - queryset = queryset.filter(Q(quantity__lte=F('allocated'))) - - return queryset + return queryset.filter(Q(quantity__lte=F('allocated'))) batch = rest_filters.CharFilter(label="Batch code filter (case insensitive)", lookup_expr='iexact') @@ -414,11 +461,9 @@ class StockFilter(rest_filters.FilterSet): q = Q(serial=None) | Q(serial='') if str2bool(value): - queryset = queryset.exclude(q) + return queryset.exclude(q) else: - queryset = queryset.filter(q) - - return queryset + return queryset.filter(q) has_batch = rest_filters.BooleanFilter(label='Has batch code', method='filter_has_batch') @@ -427,11 +472,9 @@ class StockFilter(rest_filters.FilterSet): q = Q(batch=None) | Q(batch='') if str2bool(value): - queryset = queryset.exclude(q) + return queryset.exclude(q) else: - queryset = queryset.filter(q) - - return queryset + return queryset.filter(q) tracked = rest_filters.BooleanFilter(label='Tracked', method='filter_tracked') @@ -446,55 +489,45 @@ class StockFilter(rest_filters.FilterSet): q_serial = Q(serial=None) | Q(serial='') if str2bool(value): - queryset = queryset.exclude(q_batch & q_serial) + return queryset.exclude(q_batch & q_serial) else: - queryset = queryset.filter(q_batch & q_serial) - - return queryset + return queryset.filter(q_batch & q_serial) installed = rest_filters.BooleanFilter(label='Installed in other stock item', method='filter_installed') def filter_installed(self, queryset, name, value): """Filter stock items by "belongs_to" field being empty.""" if str2bool(value): - queryset = queryset.exclude(belongs_to=None) + return queryset.exclude(belongs_to=None) else: - queryset = queryset.filter(belongs_to=None) - - return queryset + return queryset.filter(belongs_to=None) sent_to_customer = rest_filters.BooleanFilter(label='Sent to customer', method='filter_sent_to_customer') def filter_sent_to_customer(self, queryset, name, value): """Filter by sent to customer.""" if str2bool(value): - queryset = queryset.exclude(customer=None) + return queryset.exclude(customer=None) else: - queryset = queryset.filter(customer=None) - - return queryset + return queryset.filter(customer=None) depleted = rest_filters.BooleanFilter(label='Depleted', method='filter_depleted') def filter_depleted(self, queryset, name, value): """Filter by depleted items.""" if str2bool(value): - queryset = queryset.filter(quantity__lte=0) + return queryset.filter(quantity__lte=0) else: - queryset = queryset.exclude(quantity__lte=0) - - return queryset + return queryset.exclude(quantity__lte=0) has_purchase_price = rest_filters.BooleanFilter(label='Has purchase price', method='filter_has_purchase_price') def filter_has_purchase_price(self, queryset, name, value): """Filter by having a purchase price.""" if str2bool(value): - queryset = queryset.exclude(purchase_price=None) + return queryset.exclude(purchase_price=None) else: - queryset = queryset.filter(purchase_price=None) - - return queryset + return queryset.filter(purchase_price=None) # Update date filters updated_before = rest_filters.DateFilter(label='Updated before', field_name='updated', lookup_expr='lte') @@ -778,6 +811,13 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): queryset = StockSerializers.StockItemSerializer.annotate_queryset(queryset) + # Also ensure that we pre-fecth all the related items + queryset = queryset.prefetch_related( + 'part', + 'part__category', + 'location' + ) + return queryset def filter_queryset(self, queryset): @@ -786,50 +826,8 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): queryset = super().filter_queryset(queryset) - supplier_part = params.get('supplier_part', None) - - if supplier_part: - queryset = queryset.filter(supplier_part=supplier_part) - - belongs_to = params.get('belongs_to', None) - - if belongs_to: - queryset = queryset.filter(belongs_to=belongs_to) - - build = params.get('build', None) - - if build: - queryset = queryset.filter(build=build) - - sales_order = params.get('sales_order', None) - - if sales_order: - queryset = queryset.filter(sales_order=sales_order) - - purchase_order = params.get('purchase_order', None) - - if purchase_order is not None: - queryset = queryset.filter(purchase_order=purchase_order) - - # Filter stock items which are installed in another (specific) stock item - installed_in = params.get('installed_in', None) - - if installed_in: - # Note: The "installed_in" field is called "belongs_to" - queryset = queryset.filter(belongs_to=installed_in) - if common.settings.stock_expiry_enabled(): - # Filter by 'expired' status - expired = params.get('expired', None) - - if expired is not None: - expired = str2bool(expired) - - if expired: - queryset = queryset.filter(StockItem.EXPIRED_FILTER) - else: - queryset = queryset.exclude(StockItem.EXPIRED_FILTER) # Filter by 'expiry date' expired_date_lte = params.get('expiry_date_lte', None) if expired_date_lte is not None: @@ -846,6 +844,7 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): queryset = queryset.filter(expiry_date__gte=date_gte) except (ValueError, TypeError): pass + # Filter by 'stale' status stale = params.get('stale', None) @@ -865,12 +864,6 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): else: queryset = queryset.exclude(stale_filter) - # Filter by customer - customer = params.get('customer', None) - - if customer: - queryset = queryset.filter(customer=customer) - # Exclude stock item tree exclude_tree = params.get('exclude_tree', None) @@ -897,19 +890,6 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): except Exception: pass - # Filter by 'allocated' parts? - allocated = params.get('allocated', None) - - if allocated is not None: - allocated = str2bool(allocated) - - if allocated: - # Filter StockItem with either build allocations or sales order allocations - queryset = queryset.filter(Q(sales_order_allocations__isnull=False) | Q(allocations__isnull=False)) - else: - # Filter StockItem without build allocations or sales order allocations - queryset = queryset.filter(Q(sales_order_allocations__isnull=True) & Q(allocations__isnull=True)) - # Exclude StockItems which are already allocated to a particular SalesOrder exclude_so_allocation = params.get('exclude_so_allocation', None) @@ -978,8 +958,9 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): if loc_id is not None: # Filter by 'null' location (i.e. top-level items) - if isNull(loc_id) and not cascade: - queryset = queryset.filter(location=None) + if isNull(loc_id): + if not cascade: + queryset = queryset.filter(location=None) else: try: # If '?cascade=true' then include items which exist in sub-locations @@ -1015,55 +996,12 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): except (ValueError, BomItem.DoesNotExist): pass - # Filter by StockItem status - status = params.get('status', None) - - if status: - queryset = queryset.filter(status=status) - - # Filter by supplier_part ID - supplier_part_id = params.get('supplier_part', None) - - if supplier_part_id: - queryset = queryset.filter(supplier_part=supplier_part_id) - # Filter by company (either manufacturer or supplier) company = params.get('company', None) if company is not None: queryset = queryset.filter(Q(supplier_part__supplier=company) | Q(supplier_part__manufacturer_part__manufacturer=company)) - # Filter by supplier - supplier = params.get('supplier', None) - - if supplier is not None: - queryset = queryset.filter(supplier_part__supplier=supplier) - - # Filter by manufacturer - manufacturer = params.get('manufacturer', None) - - if manufacturer is not None: - queryset = queryset.filter(supplier_part__manufacturer_part__manufacturer=manufacturer) - - # Optionally, limit the maximum number of returned results - max_results = params.get('max_results', None) - - if max_results is not None: - try: - max_results = int(max_results) - - if max_results > 0: - queryset = queryset[:max_results] - except (ValueError): - pass - - # Also ensure that we pre-fecth all the related items - queryset = queryset.prefetch_related( - 'part', - 'part__category', - 'location' - ) - return queryset filter_backends = [ diff --git a/InvenTree/stock/test_api.py b/InvenTree/stock/test_api.py index 412944204c..31a8d514fe 100644 --- a/InvenTree/stock/test_api.py +++ b/InvenTree/stock/test_api.py @@ -306,6 +306,29 @@ class StockItemListTest(StockAPITestCase): # Return JSON-ified data return response.data + def test_top_level_filtering(self): + """Test filtering against "top level" stock location""" + + # No filters, should return *all* items + response = self.get(self.list_url, {}, expected_code=200) + self.assertEqual(len(response.data), StockItem.objects.count()) + + # Filter with "cascade=False" (but no location specified) + # Should not result in any actual filtering + response = self.get(self.list_url, {'cascade': False}, expected_code=200) + self.assertEqual(len(response.data), StockItem.objects.count()) + + # Filter with "cascade=False" for the top-level location + response = self.get(self.list_url, {'location': 'null', 'cascade': False}, expected_code=200) + self.assertTrue(len(response.data) < StockItem.objects.count()) + + for result in response.data: + self.assertIsNone(result['location']) + + # Filter with "cascade=True" + response = self.get(self.list_url, {'location': 'null', 'cascade': True}, expected_code=200) + self.assertEqual(len(response.data), StockItem.objects.count()) + def test_get_stock_list(self): """List *all* StockItem objects.""" response = self.get_stock() diff --git a/InvenTree/templates/InvenTree/index.html b/InvenTree/templates/InvenTree/index.html index 7396a5e133..499aa7cf08 100644 --- a/InvenTree/templates/InvenTree/index.html +++ b/InvenTree/templates/InvenTree/index.html @@ -109,7 +109,7 @@ addHeaderAction('latest-parts', '{% trans "Latest Parts" %}', 'fa-newspaper'); loadSimplePartTable("#table-latest-parts", "{% url 'api-part-list' %}", { params: { ordering: "-creation_date", - max_results: {% settings_value "PART_RECENT_COUNT" user=request.user %}, + limit: {% settings_value "PART_RECENT_COUNT" user=request.user %}, }, name: 'latest_parts', }); @@ -147,7 +147,7 @@ loadStockTable($('#table-recently-updated-stock'), { params: { part_detail: true, ordering: "-updated", - max_results: {% settings_value "STOCK_RECENT_COUNT" user=request.user %}, + limit: {% settings_value "STOCK_RECENT_COUNT" user=request.user %}, }, name: 'recently-updated-stock', grouping: false, diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index c5565c4131..db0bb68530 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -2742,7 +2742,7 @@ function loadInstalledInTable(table, options) { table.inventreeTable({ url: '{% url "api-stock-list" %}', queryParams: { - installed_in: options.stock_item, + belongs_to: options.stock_item, part_detail: true, }, formatNoMatches: function() { From e6c9db2ff3cf899cc67e660d2926f9115edc57ff Mon Sep 17 00:00:00 2001 From: Philipp Fruck Date: Thu, 16 Feb 2023 23:53:28 +0000 Subject: [PATCH 007/140] configure cors and allowed hosts using env vars (#4355) --- InvenTree/InvenTree/settings.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 68174f019a..6be6b6f6d2 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -102,6 +102,7 @@ MEDIA_ROOT = config.get_media_dir() # List of allowed hosts (default = allow all) ALLOWED_HOSTS = get_setting( + "INVENTREE_ALLOWED_HOSTS", config_key='allowed_hosts', default_value=['*'], typecast=list, @@ -114,11 +115,13 @@ CORS_URLS_REGEX = r'^/api/.*$' # Extract CORS options from configuration file CORS_ORIGIN_ALLOW_ALL = get_boolean_setting( + "INVENTREE_CORS_ORIGIN_ALLOW_ALL", config_key='cors.allow_all', default_value=False, ) CORS_ORIGIN_WHITELIST = get_setting( + "INVENTREE_CORS_ORIGIN_WHITELIST", config_key='cors.whitelist', default_value=[], typecast=list, From 0f445ea6e4f3ddf3bd85b4206d6edd7cc4d25f1c Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 17 Feb 2023 11:42:48 +1100 Subject: [PATCH 008/140] [Feature] Stocktake reports (#4345) * Add settings to control upcoming stocktake features * Adds migration for "cost range" when performing stocktake * Add cost data to PartStocktakeSerializer Implement a new custom serializer for currency data type * Refactor existing currency serializers * Update stocktake table and forms * Prevent trailing zeroes in forms * Calculate cost range when adding manual stocktake entry * Display interactive chart for part stocktake history * Ensure chart data are converted to common currency * Adds new model for building stocktake reports * Add admin integration for new model * Adds API endpoint to expose list of stocktake reports available for download - No ability to edit or delete via API * Add setting to control automated deletion of old stocktake reports * Updates for settings page - Load part stocktake report table - Refactor function to render a downloadable media file - Fix bug with forcing files to be downloaded - Split js code into separate templates - Make use of onPanelLoad functionalitty * Fix conflicting migration files * Adds API endpoint for manual generation of stocktake report * Offload task to generate new stocktake report * Adds python function to perform stocktake on a single part instance * Small bug fixes * Various tweaks - Prevent new stocktake models from triggering plugin events when created - Construct a simple csv dataset * Generate new report * Updates for report generation - Prefetch related data - Add extra columns - Keep track of stocktake instances (for saving to database later on) * Updates: - Add confirmation message - Serializer validation checks * Ensure that background worker is running before manually scheduling a new stocktake report * Add extra fields to stocktake models Also move code from part/models.py to part/tasks.py * Add 'part_count' to PartStocktakeReport table * Updates for stocktake generation - remove old performStocktake javascript code - Now handled by automated server-side calculation - Generate report for a single part * Add a new "role" for stocktake - Allows fine-grained control on viewing / creating / deleting stocktake data - More in-line with existing permission controls - Remove STOCKTAKE_OWNER setting * Add serializer field to limit stocktake report to particular locations * Use location restriction when generating a stocktake report * Add UI buttons to perform stocktake for a whole category tree * Add button to perform stocktake report for a location tree * Adds a background tasks to handle periodic generation of stocktake reports - Reports are generated at fixed intervals - Deletes old reports after certain number of days * Implement notifications for new stocktake reports - If manually requested by a user, notify that user - Cleanup notification table - Amend PartStocktakeModel for better notification rendering * Hide buttons on location and category page if stocktake is not enabled * Cleanup log messages during server start * Extend functionality of RoleRequired permission mixin - Allow 'role_required' attribute to be added to an API view - Useful when using a serializer class that does not have a model defined * Add boolean option to toggle whether a report will be generated * Update generateStocktake function * Improve location filtering - Don't limit the actual stock items - Instead, select only parts which exist within a given location tree * Update API version * String tweaks * Fix permissions for PartStocktake API * More unit testing for stocktake functionality * QoL fix * Fix for assigning inherited permissions --- InvenTree/InvenTree/api_tester.py | 12 +- InvenTree/InvenTree/api_version.py | 5 +- InvenTree/InvenTree/apps.py | 7 +- InvenTree/InvenTree/permissions.py | 8 +- InvenTree/InvenTree/serializers.py | 21 + InvenTree/common/models.py | 31 +- InvenTree/common/notifications.py | 4 +- InvenTree/common/serializers.py | 25 +- InvenTree/company/serializers.py | 16 +- InvenTree/order/serializers.py | 25 +- InvenTree/part/admin.py | 7 + InvenTree/part/api.py | 51 ++- .../migrations/0096_auto_20230211_0029.py | 36 ++ .../migrations/0097_partstocktakereport.py | 26 ++ .../migrations/0098_auto_20230214_1115.py | 23 + InvenTree/part/models.py | 88 +++- InvenTree/part/serializers.py | 123 ++++- InvenTree/part/tasks.py | 301 ++++++++++++ InvenTree/part/templates/part/category.html | 20 + InvenTree/part/templates/part/detail.html | 25 +- InvenTree/part/templates/part/part_base.html | 10 +- .../part/templates/part/part_sidebar.html | 3 +- .../part/templates/part/part_stocktake.html | 4 + InvenTree/part/test_api.py | 68 ++- InvenTree/plugin/base/event/events.py | 2 + InvenTree/plugin/registry.py | 11 +- InvenTree/stock/serializers.py | 12 +- InvenTree/stock/templates/stock/location.html | 20 + .../InvenTree/settings/part_stocktake.html | 45 ++ .../InvenTree/settings/settings.html | 431 +----------------- .../InvenTree/settings/settings_js.html | 92 ++++ .../InvenTree/settings/settings_staff_js.html | 401 ++++++++++++++++ .../templates/InvenTree/settings/sidebar.html | 6 +- .../templates/InvenTree/settings/stock.html | 1 + .../templates/js/translated/attachment.js | 76 +-- InvenTree/templates/js/translated/forms.js | 4 + InvenTree/templates/js/translated/helpers.js | 4 + .../templates/js/translated/notification.js | 25 +- InvenTree/templates/js/translated/part.js | 293 +++++++----- InvenTree/templates/js/translated/pricing.js | 5 + InvenTree/users/admin.py | 6 +- .../migrations/0006_alter_ruleset_name.py | 18 + InvenTree/users/models.py | 18 +- InvenTree/users/tests.py | 1 + docker/init.sh | 3 - 45 files changed, 1700 insertions(+), 713 deletions(-) create mode 100644 InvenTree/part/migrations/0096_auto_20230211_0029.py create mode 100644 InvenTree/part/migrations/0097_partstocktakereport.py create mode 100644 InvenTree/part/migrations/0098_auto_20230214_1115.py create mode 100644 InvenTree/templates/InvenTree/settings/part_stocktake.html create mode 100644 InvenTree/templates/InvenTree/settings/settings_js.html create mode 100644 InvenTree/templates/InvenTree/settings/settings_staff_js.html create mode 100644 InvenTree/users/migrations/0006_alter_ruleset_name.py diff --git a/InvenTree/InvenTree/api_tester.py b/InvenTree/InvenTree/api_tester.py index e76610292d..95db39d44e 100644 --- a/InvenTree/InvenTree/api_tester.py +++ b/InvenTree/InvenTree/api_tester.py @@ -67,8 +67,16 @@ class UserMixin: self.client.login(username=self.username, password=self.password) def assignRole(self, role=None, assign_all: bool = False): - """Set the user roles for the registered user.""" - # role is of the format 'rule.permission' e.g. 'part.add' + """Set the user roles for the registered user. + + Arguments: + role: Role of the format 'rule.permission' e.g. 'part.add' + assign_all: Set to True to assign *all* roles + """ + + if type(assign_all) is not bool: + # Raise exception if common mistake is made! + raise TypeError('assign_all must be a boolean value') if not assign_all and role: rule, perm = role.split('.') diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 155b065b3c..c1defa567b 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 95 +INVENTREE_API_VERSION = 96 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v96 -> 2023-02-16 : https://github.com/inventree/InvenTree/pull/4345 + - Adds stocktake report generation functionality + v95 -> 2023-02-16 : https://github.com/inventree/InvenTree/pull/4346 - Adds "CompanyAttachment" model (and associated API endpoints) diff --git a/InvenTree/InvenTree/apps.py b/InvenTree/InvenTree/apps.py index 3e81933b10..bd4e039122 100644 --- a/InvenTree/InvenTree/apps.py +++ b/InvenTree/InvenTree/apps.py @@ -60,7 +60,10 @@ class InvenTreeConfig(AppConfig): logger.info("Starting background tasks...") - for task in InvenTree.tasks.tasks.task_list: + # List of collected tasks found with the @scheduled_task decorator + tasks = InvenTree.tasks.tasks.task_list + + for task in tasks: ref_name = f'{task.func.__module__}.{task.func.__name__}' InvenTree.tasks.schedule_task( ref_name, @@ -75,7 +78,7 @@ class InvenTreeConfig(AppConfig): force_async=True, ) - logger.info("Started background tasks...") + logger.info(f"Started {len(tasks)} scheduled background tasks...") def collect_tasks(self): """Collect all background tasks.""" diff --git a/InvenTree/InvenTree/permissions.py b/InvenTree/InvenTree/permissions.py index 714ff99139..4eb087420d 100644 --- a/InvenTree/InvenTree/permissions.py +++ b/InvenTree/InvenTree/permissions.py @@ -49,6 +49,10 @@ class RolePermission(permissions.BasePermission): permission = rolemap[request.method] + # The required role may be defined for the view class + if role := getattr(view, 'role_required', None): + return users.models.check_user_role(user, role, permission) + try: # Extract the model name associated with this request model = view.serializer_class.Meta.model @@ -62,9 +66,7 @@ class RolePermission(permissions.BasePermission): # then we don't need a permission return True - result = users.models.RuleSet.check_table_permission(user, table, permission) - - return result + return users.models.RuleSet.check_table_permission(user, table, permission) class IsSuperuser(permissions.IsAdminUser): diff --git a/InvenTree/InvenTree/serializers.py b/InvenTree/InvenTree/serializers.py index 39f9aecd4c..018f2332f7 100644 --- a/InvenTree/InvenTree/serializers.py +++ b/InvenTree/InvenTree/serializers.py @@ -21,6 +21,7 @@ from rest_framework.serializers import DecimalField from rest_framework.utils import model_meta from common.models import InvenTreeSetting +from common.settings import currency_code_default, currency_code_mappings from InvenTree.fields import InvenTreeRestURLField, InvenTreeURLField from InvenTree.helpers import download_image_from_url @@ -66,6 +67,26 @@ class InvenTreeMoneySerializer(MoneyField): return amount +class InvenTreeCurrencySerializer(serializers.ChoiceField): + """Custom serializers for selecting currency option""" + + def __init__(self, *args, **kwargs): + """Initialize the currency serializer""" + + kwargs['choices'] = currency_code_mappings() + + if 'default' not in kwargs and 'required' not in kwargs: + kwargs['default'] = currency_code_default + + if 'label' not in kwargs: + kwargs['label'] = _('Currency') + + if 'help_text' not in kwargs: + kwargs['help_text'] = _('Select currency from available options') + + super().__init__(*args, **kwargs) + + class InvenTreeModelSerializer(serializers.ModelSerializer): """Inherits the standard Django ModelSerializer class, but also ensures that the underlying model class data are checked on validation.""" diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index d71d9e3aba..e906e81b70 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -1568,6 +1568,35 @@ class InvenTreeSetting(BaseInvenTreeSetting): 'validator': bool, 'requires_restart': True, }, + + 'STOCKTAKE_ENABLE': { + 'name': _('Stocktake Functionality'), + 'description': _('Enable stocktake functionality for recording stock levels and calculating stock value'), + 'validator': bool, + 'default': False, + }, + + 'STOCKTAKE_AUTO_DAYS': { + 'name': _('Automatic Stocktake Period'), + 'description': _('Number of days between automatic stocktake recording (set to zero to disable)'), + 'validator': [ + int, + MinValueValidator(0), + ], + 'default': 0, + }, + + 'STOCKTAKE_DELETE_REPORT_DAYS': { + 'name': _('Delete Old Reports'), + 'description': _('Stocktake reports will be deleted after specified number of days'), + 'default': 30, + 'units': 'days', + 'validator': [ + int, + MinValueValidator(7), + ] + }, + } typ = 'inventree' @@ -1900,7 +1929,7 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): 'DISPLAY_STOCKTAKE_TAB': { 'name': _('Part Stocktake'), - 'description': _('Display part stocktake information'), + 'description': _('Display part stocktake information (if stocktake functionality is enabled)'), 'default': True, 'validator': bool, }, diff --git a/InvenTree/common/notifications.py b/InvenTree/common/notifications.py index db8c5d11a7..34b2190851 100644 --- a/InvenTree/common/notifications.py +++ b/InvenTree/common/notifications.py @@ -180,7 +180,7 @@ class MethodStorageClass: Args: selected_classes (class, optional): References to the classes that should be registered. Defaults to None. """ - logger.info('collecting notification methods') + logger.debug('Collecting notification methods') current_method = InvenTree.helpers.inheritors(NotificationMethod) - IGNORED_NOTIFICATION_CLS # for testing selective loading is made available @@ -196,7 +196,7 @@ class MethodStorageClass: filtered_list[ref] = item storage.liste = list(filtered_list.values()) - logger.info(f'found {len(storage.liste)} notification methods') + logger.info(f'Found {len(storage.liste)} notification methods') def get_usersettings(self, user) -> list: """Returns all user settings for a specific user. diff --git a/InvenTree/common/serializers.py b/InvenTree/common/serializers.py index c84d478548..8444e85085 100644 --- a/InvenTree/common/serializers.py +++ b/InvenTree/common/serializers.py @@ -141,27 +141,13 @@ class NotificationMessageSerializer(InvenTreeModelSerializer): """Serializer for the InvenTreeUserSetting model.""" target = serializers.SerializerMethodField(read_only=True) - source = serializers.SerializerMethodField(read_only=True) - user = serializers.PrimaryKeyRelatedField(read_only=True) - - category = serializers.CharField(read_only=True) - - name = serializers.CharField(read_only=True) - - message = serializers.CharField(read_only=True) - - creation = serializers.CharField(read_only=True) - - age = serializers.IntegerField(read_only=True) - - age_human = serializers.CharField(read_only=True) - read = serializers.BooleanField() def get_target(self, obj): """Function to resolve generic object reference to target.""" + target = get_objectreference(obj, 'target_content_type', 'target_object_id') if target and 'link' not in target: @@ -202,6 +188,15 @@ class NotificationMessageSerializer(InvenTreeModelSerializer): 'read', ] + read_only_fields = [ + 'category', + 'name', + 'message', + 'creation', + 'age', + 'age_human', + ] + class NewsFeedEntrySerializer(InvenTreeModelSerializer): """Serializer for the NewsFeedEntry model.""" diff --git a/InvenTree/company/serializers.py b/InvenTree/company/serializers.py index 79c8da357f..7c498456bf 100644 --- a/InvenTree/company/serializers.py +++ b/InvenTree/company/serializers.py @@ -9,8 +9,8 @@ from rest_framework import serializers from sql_util.utils import SubqueryCount import part.filters -from common.settings import currency_code_default, currency_code_mappings from InvenTree.serializers import (InvenTreeAttachmentSerializer, + InvenTreeCurrencySerializer, InvenTreeDecimalField, InvenTreeImageSerializerField, InvenTreeModelSerializer, @@ -66,13 +66,7 @@ class CompanySerializer(RemoteImageMixin, InvenTreeModelSerializer): parts_supplied = serializers.IntegerField(read_only=True) parts_manufactured = serializers.IntegerField(read_only=True) - currency = serializers.ChoiceField( - choices=currency_code_mappings(), - initial=currency_code_default, - help_text=_('Default currency used for this supplier'), - label=_('Currency Code'), - required=True, - ) + currency = InvenTreeCurrencySerializer(help_text=_('Default currency used for this supplier'), required=True) class Meta: """Metaclass options.""" @@ -397,11 +391,7 @@ class SupplierPriceBreakSerializer(InvenTreeModelSerializer): label=_('Price'), ) - price_currency = serializers.ChoiceField( - choices=currency_code_mappings(), - default=currency_code_default, - label=_('Currency'), - ) + price_currency = InvenTreeCurrencySerializer() supplier = serializers.PrimaryKeyRelatedField(source='part.supplier', many=False, read_only=True) diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index fe960e7cf0..ffab3930aa 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -17,10 +17,10 @@ import order.models import part.filters import stock.models import stock.serializers -from common.settings import currency_code_mappings from company.serializers import CompanyBriefSerializer, SupplierPartSerializer from InvenTree.helpers import extract_serial_numbers, normalize, str2bool from InvenTree.serializers import (InvenTreeAttachmentSerializer, + InvenTreeCurrencySerializer, InvenTreeDecimalField, InvenTreeModelSerializer, InvenTreeMoneySerializer) @@ -58,10 +58,7 @@ class AbstractExtraLineSerializer(serializers.Serializer): allow_null=True ) - price_currency = serializers.ChoiceField( - choices=currency_code_mappings(), - help_text=_('Price currency'), - ) + price_currency = InvenTreeCurrencySerializer() class AbstractExtraLineMeta: @@ -316,16 +313,11 @@ class PurchaseOrderLineItemSerializer(InvenTreeModelSerializer): supplier_part_detail = SupplierPartSerializer(source='part', many=False, read_only=True) - purchase_price = InvenTreeMoneySerializer( - allow_null=True - ) + purchase_price = InvenTreeMoneySerializer(allow_null=True) destination_detail = stock.serializers.LocationBriefSerializer(source='get_destination', read_only=True) - purchase_price_currency = serializers.ChoiceField( - choices=currency_code_mappings(), - help_text=_('Purchase price currency'), - ) + purchase_price_currency = InvenTreeCurrencySerializer(help_text=_('Purchase price currency')) order_detail = PurchaseOrderSerializer(source='order', read_only=True, many=False) @@ -879,14 +871,9 @@ class SalesOrderLineItemSerializer(InvenTreeModelSerializer): shipped = InvenTreeDecimalField(read_only=True) - sale_price = InvenTreeMoneySerializer( - allow_null=True - ) + sale_price = InvenTreeMoneySerializer(allow_null=True) - sale_price_currency = serializers.ChoiceField( - choices=currency_code_mappings(), - help_text=_('Sale price currency'), - ) + sale_price_currency = InvenTreeCurrencySerializer(help_text=_('Sale price currency')) class Meta: """Metaclass options.""" diff --git a/InvenTree/part/admin.py b/InvenTree/part/admin.py index 1c8140afee..3e6d61de3a 100644 --- a/InvenTree/part/admin.py +++ b/InvenTree/part/admin.py @@ -166,6 +166,12 @@ class PartStocktakeAdmin(admin.ModelAdmin): list_display = ['part', 'date', 'quantity', 'user'] +class PartStocktakeReportAdmin(admin.ModelAdmin): + """Admin class for PartStocktakeReport model""" + + list_display = ['date', 'user'] + + class PartCategoryResource(InvenTreeResource): """Class for managing PartCategory data import/export.""" @@ -434,3 +440,4 @@ admin.site.register(models.PartSellPriceBreak, PartSellPriceBreakAdmin) admin.site.register(models.PartInternalPriceBreak, PartInternalPriceBreakAdmin) admin.site.register(models.PartPricing, PartPricingAdmin) admin.site.register(models.PartStocktake, PartStocktakeAdmin) +admin.site.register(models.PartStocktakeReport, PartStocktakeReportAdmin) diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 3b11941562..bfc2a426ea 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -10,9 +10,8 @@ from django.utils.translation import gettext_lazy as _ from django_filters import rest_framework as rest_filters from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, serializers, status +from rest_framework import filters, permissions, serializers, status from rest_framework.exceptions import ValidationError -from rest_framework.permissions import IsAdminUser from rest_framework.response import Response import order.models @@ -38,7 +37,7 @@ from .models import (BomItem, BomItemSubstitute, Part, PartAttachment, PartCategory, PartCategoryParameterTemplate, PartInternalPriceBreak, PartParameter, PartParameterTemplate, PartRelated, PartSellPriceBreak, - PartStocktake, PartTestTemplate) + PartStocktake, PartStocktakeReport, PartTestTemplate) class CategoryList(APIDownloadMixin, ListCreateAPI): @@ -1598,9 +1597,11 @@ class PartStocktakeList(ListCreateAPI): ordering_fields = [ 'part', + 'item_count', 'quantity', 'date', 'user', + 'pk', ] # Reverse date ordering by default @@ -1615,11 +1616,47 @@ class PartStocktakeDetail(RetrieveUpdateDestroyAPI): queryset = PartStocktake.objects.all() serializer_class = part_serializers.PartStocktakeSerializer + + +class PartStocktakeReportList(ListAPI): + """API endpoint for listing part stocktake report information""" + + queryset = PartStocktakeReport.objects.all() + serializer_class = part_serializers.PartStocktakeReportSerializer + + filter_backends = [ + DjangoFilterBackend, + filters.OrderingFilter, + ] + + ordering_fields = [ + 'date', + 'pk', + ] + + # Newest first, by default + ordering = '-pk' + + +class PartStocktakeReportGenerate(CreateAPI): + """API endpoint for manually generating a new PartStocktakeReport""" + + serializer_class = part_serializers.PartStocktakeReportGenerateSerializer + permission_classes = [ - IsAdminUser, + permissions.IsAuthenticated, RolePermission, ] + role_required = 'stocktake' + + def get_serializer_context(self): + """Extend serializer context data""" + context = super().get_serializer_context() + context['request'] = self.request + + return context + class BomFilter(rest_filters.FilterSet): """Custom filters for the BOM list.""" @@ -2038,6 +2075,12 @@ part_api_urls = [ # Part stocktake data re_path(r'^stocktake/', include([ + + path(r'report/', include([ + path('generate/', PartStocktakeReportGenerate.as_view(), name='api-part-stocktake-report-generate'), + re_path(r'^.*$', PartStocktakeReportList.as_view(), name='api-part-stocktake-report-list'), + ])), + re_path(r'^(?P\d+)/', PartStocktakeDetail.as_view(), name='api-part-stocktake-detail'), re_path(r'^.*$', PartStocktakeList.as_view(), name='api-part-stocktake-list'), ])), diff --git a/InvenTree/part/migrations/0096_auto_20230211_0029.py b/InvenTree/part/migrations/0096_auto_20230211_0029.py new file mode 100644 index 0000000000..dce4afcdd8 --- /dev/null +++ b/InvenTree/part/migrations/0096_auto_20230211_0029.py @@ -0,0 +1,36 @@ +# Generated by Django 3.2.16 on 2023-02-11 00:29 + +import InvenTree.fields +from django.db import migrations +import djmoney.models.fields +import djmoney.models.validators + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0095_alter_part_responsible'), + ] + + operations = [ + migrations.AddField( + model_name='partstocktake', + name='cost_max', + field=InvenTree.fields.InvenTreeModelMoneyField(blank=True, currency_choices=[], decimal_places=6, default_currency='', help_text='Estimated maximum cost of stock on hand', max_digits=19, null=True, validators=[djmoney.models.validators.MinMoneyValidator(0)], verbose_name='Maximum Stock Cost'), + ), + migrations.AddField( + model_name='partstocktake', + name='cost_max_currency', + field=djmoney.models.fields.CurrencyField(choices=[], default='', editable=False, max_length=3), + ), + migrations.AddField( + model_name='partstocktake', + name='cost_min', + field=InvenTree.fields.InvenTreeModelMoneyField(blank=True, currency_choices=[], decimal_places=6, default_currency='', help_text='Estimated minimum cost of stock on hand', max_digits=19, null=True, validators=[djmoney.models.validators.MinMoneyValidator(0)], verbose_name='Minimum Stock Cost'), + ), + migrations.AddField( + model_name='partstocktake', + name='cost_min_currency', + field=djmoney.models.fields.CurrencyField(choices=[], default='', editable=False, max_length=3), + ), + ] diff --git a/InvenTree/part/migrations/0097_partstocktakereport.py b/InvenTree/part/migrations/0097_partstocktakereport.py new file mode 100644 index 0000000000..a376ee2c88 --- /dev/null +++ b/InvenTree/part/migrations/0097_partstocktakereport.py @@ -0,0 +1,26 @@ +# Generated by Django 3.2.16 on 2023-02-12 08:29 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import part.models + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('part', '0096_auto_20230211_0029'), + ] + + operations = [ + migrations.CreateModel( + name='PartStocktakeReport', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date', models.DateField(auto_now_add=True, verbose_name='Date')), + ('report', models.FileField(help_text='Stocktake report file (generated internally)', upload_to=part.models.save_stocktake_report, verbose_name='Report')), + ('user', models.ForeignKey(blank=True, help_text='User who requested this stocktake report', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='stocktake_reports', to=settings.AUTH_USER_MODEL, verbose_name='User')), + ], + ), + ] diff --git a/InvenTree/part/migrations/0098_auto_20230214_1115.py b/InvenTree/part/migrations/0098_auto_20230214_1115.py new file mode 100644 index 0000000000..dd28185fee --- /dev/null +++ b/InvenTree/part/migrations/0098_auto_20230214_1115.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.16 on 2023-02-14 11:15 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0097_partstocktakereport'), + ] + + operations = [ + migrations.AddField( + model_name='partstocktake', + name='item_count', + field=models.IntegerField(default=1, help_text='Number of individual stock entries at time of stocktake', verbose_name='Item Count'), + ), + migrations.AddField( + model_name='partstocktakereport', + name='part_count', + field=models.IntegerField(default=0, help_text='Number of parts covered by stocktake', verbose_name='Part Count'), + ), + ] diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index c91d0d393f..04e230eb2a 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -2335,7 +2335,7 @@ class PartPricing(common.models.MetaMixin): force_async=True ) - def update_pricing(self, counter: int = 0): + def update_pricing(self, counter: int = 0, cascade: bool = True): """Recalculate all cost data for the referenced Part instance""" if self.pk is not None: @@ -2362,8 +2362,9 @@ class PartPricing(common.models.MetaMixin): pass # Update parent assemblies and templates - self.update_assemblies(counter) - self.update_templates(counter) + if cascade: + self.update_assemblies(counter) + self.update_templates(counter) def update_assemblies(self, counter: int = 0): """Schedule updates for any assemblies which use this part""" @@ -2890,6 +2891,7 @@ class PartStocktake(models.Model): A 'stocktake' is a representative count of available stock: - Performed on a given date - Records quantity of part in stock (across multiple stock items) + - Records estimated value of "stock on hand" - Records user information """ @@ -2901,6 +2903,12 @@ class PartStocktake(models.Model): help_text=_('Part for stocktake'), ) + item_count = models.IntegerField( + default=1, + verbose_name=_('Item Count'), + help_text=_('Number of individual stock entries at time of stocktake'), + ) + quantity = models.DecimalField( max_digits=19, decimal_places=5, validators=[MinValueValidator(0)], @@ -2929,6 +2937,18 @@ class PartStocktake(models.Model): help_text=_('User who performed this stocktake'), ) + cost_min = InvenTree.fields.InvenTreeModelMoneyField( + null=True, blank=True, + verbose_name=_('Minimum Stock Cost'), + help_text=_('Estimated minimum cost of stock on hand'), + ) + + cost_max = InvenTree.fields.InvenTreeModelMoneyField( + null=True, blank=True, + verbose_name=_('Maximum Stock Cost'), + help_text=_('Estimated maximum cost of stock on hand'), + ) + @receiver(post_save, sender=PartStocktake, dispatch_uid='post_save_stocktake') def update_last_stocktake(sender, instance, created, **kwargs): @@ -2944,6 +2964,68 @@ def update_last_stocktake(sender, instance, created, **kwargs): pass +def save_stocktake_report(instance, filename): + """Save stocktake reports to the correct subdirectory""" + + filename = os.path.basename(filename) + return os.path.join('stocktake', 'report', filename) + + +class PartStocktakeReport(models.Model): + """A PartStocktakeReport is a generated report which provides a summary of current stock on hand. + + Reports are generated by the background worker process, and saved as .csv files for download. + Background processing is preferred as (for very large datasets), report generation may take a while. + + A report can be manually requested by a user, or automatically generated periodically. + + When generating a report, the "parts" to be reported can be filtered, e.g. by "category". + + A stocktake report contains the following information, with each row relating to a single Part instance: + + - Number of individual stock items on hand + - Total quantity of stock on hand + - Estimated total cost of stock on hand (min:max range) + """ + + def __str__(self): + """Construct a simple string representation for the report""" + return os.path.basename(self.report.name) + + def get_absolute_url(self): + """Return the URL for the associaed report file for download""" + if self.report: + return self.report.url + else: + return None + + date = models.DateField( + verbose_name=_('Date'), + auto_now_add=True + ) + + report = models.FileField( + upload_to=save_stocktake_report, + unique=False, blank=False, + verbose_name=_('Report'), + help_text=_('Stocktake report file (generated internally)'), + ) + + part_count = models.IntegerField( + default=0, + verbose_name=_('Part Count'), + help_text=_('Number of parts covered by stocktake'), + ) + + user = models.ForeignKey( + User, blank=True, null=True, + on_delete=models.SET_NULL, + related_name='stocktake_reports', + verbose_name=_('User'), + help_text=_('User who requested this stocktake report'), + ) + + class PartAttachment(InvenTreeAttachment): """Model for storing file attachments against a Part object.""" diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index ad065bc5e1..643f1d8d2d 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -15,28 +15,32 @@ from django.utils.translation import gettext_lazy as _ from rest_framework import serializers from sql_util.utils import SubqueryCount, SubquerySum +import common.models import company.models import InvenTree.helpers +import InvenTree.status import part.filters +import part.tasks import stock.models -from common.settings import currency_code_default, currency_code_mappings from InvenTree.serializers import (DataFileExtractSerializer, DataFileUploadSerializer, InvenTreeAttachmentSerializer, InvenTreeAttachmentSerializerField, + InvenTreeCurrencySerializer, InvenTreeDecimalField, InvenTreeImageSerializerField, InvenTreeModelSerializer, InvenTreeMoneySerializer, RemoteImageMixin, UserSerializer) from InvenTree.status_codes import BuildStatus +from InvenTree.tasks import offload_task from .models import (BomItem, BomItemSubstitute, Part, PartAttachment, PartCategory, PartCategoryParameterTemplate, PartInternalPriceBreak, PartParameter, PartParameterTemplate, PartPricing, PartRelated, PartSellPriceBreak, PartStar, PartStocktake, - PartTestTemplate) + PartStocktakeReport, PartTestTemplate) class CategorySerializer(InvenTreeModelSerializer): @@ -137,16 +141,9 @@ class PartSalePriceSerializer(InvenTreeModelSerializer): quantity = InvenTreeDecimalField() - price = InvenTreeMoneySerializer( - allow_null=True - ) + price = InvenTreeMoneySerializer(allow_null=True) - price_currency = serializers.ChoiceField( - choices=currency_code_mappings(), - default=currency_code_default, - label=_('Currency'), - help_text=_('Purchase currency of this stock item'), - ) + price_currency = InvenTreeCurrencySerializer(help_text=_('Purchase currency of this stock item')) class Meta: """Metaclass defining serializer fields""" @@ -169,12 +166,7 @@ class PartInternalPriceSerializer(InvenTreeModelSerializer): allow_null=True ) - price_currency = serializers.ChoiceField( - choices=currency_code_mappings(), - default=currency_code_default, - label=_('Currency'), - help_text=_('Purchase currency of this stock item'), - ) + price_currency = InvenTreeCurrencySerializer(help_text=_('Purchase currency of this stock item')) class Meta: """Metaclass defining serializer fields""" @@ -720,6 +712,12 @@ class PartStocktakeSerializer(InvenTreeModelSerializer): user_detail = UserSerializer(source='user', read_only=True, many=False) + cost_min = InvenTreeMoneySerializer(allow_null=True) + cost_min_currency = InvenTreeCurrencySerializer() + + cost_max = InvenTreeMoneySerializer(allow_null=True) + cost_max_currency = InvenTreeCurrencySerializer() + class Meta: """Metaclass options""" @@ -728,7 +726,12 @@ class PartStocktakeSerializer(InvenTreeModelSerializer): 'pk', 'date', 'part', + 'item_count', 'quantity', + 'cost_min', + 'cost_min_currency', + 'cost_max', + 'cost_max_currency', 'note', 'user', 'user_detail', @@ -751,6 +754,92 @@ class PartStocktakeSerializer(InvenTreeModelSerializer): super().save() +class PartStocktakeReportSerializer(InvenTreeModelSerializer): + """Serializer for stocktake report class""" + + user_detail = UserSerializer(source='user', read_only=True, many=False) + + report = InvenTreeAttachmentSerializerField(read_only=True) + + class Meta: + """Metaclass defines serializer fields""" + + model = PartStocktakeReport + fields = [ + 'pk', + 'date', + 'report', + 'part_count', + 'user', + 'user_detail', + ] + + +class PartStocktakeReportGenerateSerializer(serializers.Serializer): + """Serializer class for manually generating a new PartStocktakeReport via the API""" + + part = serializers.PrimaryKeyRelatedField( + queryset=Part.objects.all(), + required=False, allow_null=True, + label=_('Part'), help_text=_('Limit stocktake report to a particular part, and any variant parts') + ) + + category = serializers.PrimaryKeyRelatedField( + queryset=PartCategory.objects.all(), + required=False, allow_null=True, + label=_('Category'), help_text=_('Limit stocktake report to a particular part category, and any child categories'), + ) + + location = serializers.PrimaryKeyRelatedField( + queryset=stock.models.StockLocation.objects.all(), + required=False, allow_null=True, + label=_('Location'), help_text=_('Limit stocktake report to a particular stock location, and any child locations') + ) + + generate_report = serializers.BooleanField( + default=True, + label=_('Generate Report'), + help_text=_('Generate report file containing calculated stocktake data'), + ) + + update_parts = serializers.BooleanField( + default=True, + label=_('Update Parts'), + help_text=_('Update specified parts with calculated stocktake data') + ) + + def validate(self, data): + """Custom validation for this serializer""" + + # Stocktake functionality must be enabled + if not common.models.InvenTreeSetting.get_setting('STOCKTAKE_ENABLE', False): + raise serializers.ValidationError(_("Stocktake functionality is not enabled")) + + # Check that background worker is running + if not InvenTree.status.is_worker_running(): + raise serializers.ValidationError(_("Background worker check failed")) + + return data + + def save(self): + """Saving this serializer instance requests generation of a new stocktake report""" + + data = self.validated_data + user = self.context['request'].user + + # Generate a new report + offload_task( + part.tasks.generate_stocktake_report, + force_async=True, + user=user, + part=data.get('part', None), + category=data.get('category', None), + location=data.get('location', None), + generate_report=data.get('generate_report', True), + update_parts=data.get('update_parts', True), + ) + + class PartPricingSerializer(InvenTreeModelSerializer): """Serializer for Part pricing information""" diff --git a/InvenTree/part/tasks.py b/InvenTree/part/tasks.py index c4a566a07e..924914850e 100644 --- a/InvenTree/part/tasks.py +++ b/InvenTree/part/tasks.py @@ -1,16 +1,27 @@ """Background task definitions for the 'part' app""" +import io import logging +import random +import time from datetime import datetime, timedelta +from django.contrib.auth.models import User +from django.core.files.base import ContentFile from django.utils.translation import gettext_lazy as _ +import tablib +from djmoney.contrib.exchange.exceptions import MissingRate +from djmoney.contrib.exchange.models import convert_money +from djmoney.money import Money + import common.models import common.notifications import common.settings import InvenTree.helpers import InvenTree.tasks import part.models +import stock.models from InvenTree.tasks import ScheduledTask, scheduled_task logger = logging.getLogger("inventree") @@ -125,3 +136,293 @@ def check_missing_pricing(limit=250): pricing = p.pricing pricing.save() pricing.schedule_for_update() + + +def perform_stocktake(target: part.models.Part, user: User, note: str = '', commit=True, **kwargs): + """Perform stocktake action on a single part. + + arguments: + target: A single Part model instance + commit: If True (default) save the result to the database + user: User who requested this stocktake + + Returns: + PartStocktake: A new PartStocktake model instance (for the specified Part) + """ + + # Grab all "available" stock items for the Part + stock_entries = target.stock_entries(in_stock=True, include_variants=True) + + # Cache min/max pricing information for this Part + pricing = target.pricing + + if not pricing.is_valid: + # If pricing is not valid, let's update + logger.info(f"Pricing not valid for {target} - updating") + pricing.update_pricing(cascade=False) + pricing.refresh_from_db() + + base_currency = common.settings.currency_code_default() + + total_quantity = 0 + total_cost_min = Money(0, base_currency) + total_cost_max = Money(0, base_currency) + + for entry in stock_entries: + + # Update total quantity value + total_quantity += entry.quantity + + has_pricing = False + + # Update price range values + if entry.purchase_price: + # If purchase price is available, use that + try: + pp = convert_money(entry.purchase_price, base_currency) * entry.quantity + total_cost_min += pp + total_cost_max += pp + has_pricing = True + except MissingRate: + logger.warning(f"MissingRate exception occured converting {entry.purchase_price} to {base_currency}") + + if not has_pricing: + # Fall back to the part pricing data + p_min = pricing.overall_min or pricing.overall_max + p_max = pricing.overall_max or pricing.overall_min + + if p_min or p_max: + try: + total_cost_min += convert_money(p_min, base_currency) * entry.quantity + total_cost_max += convert_money(p_max, base_currency) * entry.quantity + except MissingRate: + logger.warning(f"MissingRate exception occurred converting {p_min}:{p_max} to {base_currency}") + + # Construct PartStocktake instance + instance = part.models.PartStocktake( + part=target, + item_count=stock_entries.count(), + quantity=total_quantity, + cost_min=total_cost_min, + cost_max=total_cost_max, + note=note, + user=user, + ) + + if commit: + instance.save() + + return instance + + +def generate_stocktake_report(**kwargs): + """Generated a new stocktake report. + + Note that this method should be called only by the background worker process! + + Unless otherwise specified, the stocktake report is generated for *all* Part instances. + Optional filters can by supplied via the kwargs + + kwargs: + user: The user who requested this stocktake (set to None for automated stocktake) + part: Optional Part instance to filter by (including variant parts) + category: Optional PartCategory to filter results + location: Optional StockLocation to filter results + generate_report: If True, generate a stocktake report from the calculated data (default=True) + update_parts: If True, save stocktake information against each filtered Part (default = True) + """ + + parts = part.models.Part.objects.all() + user = kwargs.get('user', None) + + generate_report = kwargs.get('generate_report', True) + update_parts = kwargs.get('update_parts', True) + + # Filter by 'Part' instance + if p := kwargs.get('part', None): + variants = p.get_descendants(include_self=True) + parts = parts.filter( + pk__in=[v.pk for v in variants] + ) + + # Filter by 'Category' instance (cascading) + if category := kwargs.get('category', None): + categories = category.get_descendants(include_self=True) + parts = parts.filter(category__in=categories) + + # Filter by 'Location' instance (cascading) + # Stocktake report will be limited to parts which have stock items within this location + if location := kwargs.get('location', None): + # Extract flat list of all sublocations + locations = list(location.get_descendants(include_self=True)) + + # Items which exist within these locations + items = stock.models.StockItem.objects.filter(location__in=locations) + + # List of parts which exist within these locations + unique_parts = items.order_by().values('part').distinct() + + parts = parts.filter( + pk__in=[result['part'] for result in unique_parts] + ) + + # Exit if filters removed all parts + n_parts = parts.count() + + if n_parts == 0: + logger.info("No parts selected for stocktake report - exiting") + return + + logger.info(f"Generating new stocktake report for {n_parts} parts") + + base_currency = common.settings.currency_code_default() + + # Construct an initial dataset for the stocktake report + dataset = tablib.Dataset( + headers=[ + _('Part ID'), + _('Part Name'), + _('Part Description'), + _('Category ID'), + _('Category Name'), + _('Stock Items'), + _('Total Quantity'), + _('Total Cost Min') + f' ({base_currency})', + _('Total Cost Max') + f' ({base_currency})', + ] + ) + + parts = parts.prefetch_related('category', 'stock_items') + + # Simple profiling for this task + t_start = time.time() + + # Keep track of each individual "stocktake" we perform. + # They may be bulk-commited to the database afterwards + stocktake_instances = [] + + total_parts = 0 + + # Iterate through each Part which matches the filters above + for p in parts: + + # Create a new stocktake for this part (do not commit, this will take place later on) + stocktake = perform_stocktake(p, user, commit=False) + + if stocktake.quantity == 0: + # Skip rows with zero total quantity + continue + + total_parts += 1 + + stocktake_instances.append(stocktake) + + # Add a row to the dataset + dataset.append([ + p.pk, + p.full_name, + p.description, + p.category.pk if p.category else '', + p.category.name if p.category else '', + stocktake.item_count, + stocktake.quantity, + InvenTree.helpers.normalize(stocktake.cost_min.amount), + InvenTree.helpers.normalize(stocktake.cost_max.amount), + ]) + + # Save a new PartStocktakeReport instance + buffer = io.StringIO() + buffer.write(dataset.export('csv')) + + today = datetime.now().date().isoformat() + filename = f"InvenTree_Stocktake_{today}.csv" + report_file = ContentFile(buffer.getvalue(), name=filename) + + if generate_report: + report_instance = part.models.PartStocktakeReport.objects.create( + report=report_file, + part_count=total_parts, + user=user + ) + + # Notify the requesting user + if user: + + common.notifications.trigger_notification( + report_instance, + category='generate_stocktake_report', + context={ + 'name': _('Stocktake Report Available'), + 'message': _('A new stocktake report is available for download'), + }, + targets=[ + user, + ] + ) + + # If 'update_parts' is set, we save stocktake entries for each individual part + if update_parts: + # Use bulk_create for efficient insertion of stocktake + part.models.PartStocktake.objects.bulk_create( + stocktake_instances, + batch_size=500, + ) + + t_stocktake = time.time() - t_start + logger.info(f"Generated stocktake report for {total_parts} parts in {round(t_stocktake, 2)}s") + + +@scheduled_task(ScheduledTask.DAILY) +def scheduled_stocktake_reports(): + """Scheduled tasks for creating automated stocktake reports. + + This task runs daily, and performs the following functions: + + - Delete 'old' stocktake report files after the specified period + - Generate new reports at the specified period + """ + + # Sleep a random number of seconds to prevent worker conflict + time.sleep(random.randint(1, 5)) + + # First let's delete any old stocktake reports + delete_n_days = int(common.models.InvenTreeSetting.get_setting('STOCKTAKE_DELETE_REPORT_DAYS', 30, cache=False)) + threshold = datetime.now() - timedelta(days=delete_n_days) + old_reports = part.models.PartStocktakeReport.objects.filter(date__lt=threshold) + + if old_reports.count() > 0: + logger.info(f"Deleting {old_reports.count()} stale stocktake reports") + old_reports.delete() + + # Next, check if stocktake functionality is enabled + if not common.models.InvenTreeSetting.get_setting('STOCKTAKE_ENABLE', False, cache=False): + logger.info("Stocktake functionality is not enabled - exiting") + return + + report_n_days = int(common.models.InvenTreeSetting.get_setting('STOCKTAKE_AUTO_DAYS', 0, cache=False)) + + if report_n_days < 1: + logger.info("Stocktake auto reports are disabled, exiting") + return + + # How long ago was last full stocktake report generated? + last_report = common.models.InvenTreeSetting.get_setting('STOCKTAKE_RECENT_REPORT', '', cache=False) + + try: + last_report = datetime.fromisoformat(last_report) + except ValueError: + last_report = None + + if last_report: + # Do not attempt if the last report was within the minimum reporting period + threshold = datetime.now() - timedelta(days=report_n_days) + + if last_report > threshold: + logger.info("Automatic stocktake report was recently generated - exiting") + return + + # Let's start a new stocktake report for all parts + generate_stocktake_report(update_parts=True) + + # Record the date of this report + common.models.InvenTreeSetting.set_setting('STOCKTAKE_RECENT_REPORT', datetime.now().isoformat(), None) diff --git a/InvenTree/part/templates/part/category.html b/InvenTree/part/templates/part/category.html index 133a9387a1..408d261c29 100644 --- a/InvenTree/part/templates/part/category.html +++ b/InvenTree/part/templates/part/category.html @@ -29,6 +29,12 @@ {% url 'admin:part_partcategory_change' category.pk as url %} {% include "admin_button.html" with url=url %} {% endif %} +{% settings_value "STOCKTAKE_ENABLE" as stocktake_enable %} +{% if stocktake_enable and roles.stocktake.add %} + +{% endif %} {% if category %} {% if starred_directly %} @@ -468,18 +469,24 @@ // Load the "stocktake" tab onPanelLoad('stocktake', function() { loadPartStocktakeTable({{ part.pk }}, { - admin: {% js_bool user.is_staff %}, - allow_edit: {% js_bool roles.part.change %}, - allow_delete: {% js_bool roles.part.delete %}, + allow_edit: {% js_bool roles.stocktake.change %}, + allow_delete: {% js_bool roles.stocktake.delete %}, }); + {% if roles.stocktake.add %} $('#btn-stocktake').click(function() { - performStocktake({{ part.pk }}, { - onSuccess: function() { - $('#part-stocktake-table').bootstrapTable('refresh'); - } + generateStocktakeReport({ + part: { + value: {{ part.pk }} + }, + location: {}, + generate_report: { + value: false, + }, + update_parts: {}, }); }); + {% endif %} }); // Load the "suppliers" tab diff --git a/InvenTree/part/templates/part/part_base.html b/InvenTree/part/templates/part/part_base.html index 85d78dcf37..e4df634c13 100644 --- a/InvenTree/part/templates/part/part_base.html +++ b/InvenTree/part/templates/part/part_base.html @@ -342,12 +342,12 @@ {% if stocktake %} - {% trans "Last Stocktake" %} - {% decimal stocktake.quantity %} - - {{ stocktake.user.username }} - + {% trans "Last Stocktake" %} + + + {% decimal stocktake.quantity %} + {{ stocktake.user.username }} {% endif %} diff --git a/InvenTree/part/templates/part/part_sidebar.html b/InvenTree/part/templates/part/part_sidebar.html index ff35246739..368110d729 100644 --- a/InvenTree/part/templates/part/part_sidebar.html +++ b/InvenTree/part/templates/part/part_sidebar.html @@ -44,8 +44,9 @@ {% trans "Scheduling" as text %} {% include "sidebar_item.html" with label="scheduling" text=text icon="fa-calendar-alt" %} {% endif %} +{% settings_value 'STOCKTAKE_ENABLE' as stocktake_enable %} {% settings_value 'DISPLAY_STOCKTAKE_TAB' user=request.user as show_stocktake %} -{% if show_stocktake %} +{% if roles.stocktake.view and stocktake_enable and show_stocktake %} {% trans "Stocktake" as text %} {% include "sidebar_item.html" with label="stocktake" text=text icon="fa-clipboard-check" %} {% endif %} diff --git a/InvenTree/part/templates/part/part_stocktake.html b/InvenTree/part/templates/part/part_stocktake.html index cb1d97cdc4..1a5ab06619 100644 --- a/InvenTree/part/templates/part/part_stocktake.html +++ b/InvenTree/part/templates/part/part_stocktake.html @@ -1,6 +1,10 @@ {% load i18n %} {% load inventree_extras %} +
+ +
+
{% include "filter_list.html" with id="partstocktake" %} diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index cf1f132c86..426fc37e05 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -2839,6 +2839,7 @@ class PartStocktakeTest(InvenTreeAPITestCase): 'category', 'part', 'location', + 'stock', ] def test_list_endpoint(self): @@ -2887,8 +2888,8 @@ class PartStocktakeTest(InvenTreeAPITestCase): url = reverse('api-part-stocktake-list') - self.assignRole('part.add') - self.assignRole('part.view') + self.assignRole('stocktake.add') + self.assignRole('stocktake.view') for p in Part.objects.all(): @@ -2930,12 +2931,6 @@ class PartStocktakeTest(InvenTreeAPITestCase): self.assignRole('part.view') # Test we can retrieve via API - self.get(url, expected_code=403) - - # Assign staff permission - self.user.is_staff = True - self.user.save() - self.get(url, expected_code=200) # Try to edit data @@ -2948,7 +2943,7 @@ class PartStocktakeTest(InvenTreeAPITestCase): ) # Assign 'edit' role permission - self.assignRole('part.change') + self.assignRole('stocktake.change') # Try again self.patch( @@ -2962,6 +2957,59 @@ class PartStocktakeTest(InvenTreeAPITestCase): # Try to delete self.delete(url, expected_code=403) - self.assignRole('part.delete') + self.assignRole('stocktake.delete') self.delete(url, expected_code=204) + + def test_report_list(self): + """Test for PartStocktakeReport list endpoint""" + + from part.tasks import generate_stocktake_report + + n_parts = Part.objects.count() + + # Initially, no stocktake records are available + self.assertEqual(PartStocktake.objects.count(), 0) + + # Generate stocktake data for all parts (default configuration) + generate_stocktake_report() + + # There should now be 1 stocktake entry for each part + self.assertEqual(PartStocktake.objects.count(), n_parts) + + self.assignRole('stocktake.view') + + response = self.get(reverse('api-part-stocktake-list'), expected_code=200) + + self.assertEqual(len(response.data), n_parts) + + # Stocktake report should be available via the API, also + response = self.get(reverse('api-part-stocktake-report-list'), expected_code=200) + + self.assertEqual(len(response.data), 1) + + data = response.data[0] + + self.assertEqual(data['part_count'], 14) + self.assertEqual(data['user'], None) + self.assertTrue(data['report'].endswith('.csv')) + + def test_report_generate(self): + """Test API functionality for generating a new stocktake report""" + + url = reverse('api-part-stocktake-report-generate') + + # Permission denied, initially + self.assignRole('stocktake.view') + response = self.post(url, data={}, expected_code=403) + + # Stocktake functionality disabled + InvenTreeSetting.set_setting('STOCKTAKE_ENABLE', False, None) + self.assignRole('stocktake.add') + response = self.post(url, data={}, expected_code=400) + + self.assertIn('Stocktake functionality is not enabled', str(response.data)) + + InvenTreeSetting.set_setting('STOCKTAKE_ENABLE', True, None) + response = self.post(url, data={}, expected_code=400) + self.assertIn('Background worker check failed', str(response.data)) diff --git a/InvenTree/plugin/base/event/events.py b/InvenTree/plugin/base/event/events.py index 61bdb6ae91..3b899d4ca9 100644 --- a/InvenTree/plugin/base/event/events.py +++ b/InvenTree/plugin/base/event/events.py @@ -125,6 +125,8 @@ def allow_table_event(table_name): 'common_webhookendpoint', 'common_webhookmessage', 'part_partpricing', + 'part_partstocktake', + 'part_partstocktakereport', ] if table_name in ignore_tables: diff --git a/InvenTree/plugin/registry.py b/InvenTree/plugin/registry.py index 05a67193ba..2132fd7ee6 100644 --- a/InvenTree/plugin/registry.py +++ b/InvenTree/plugin/registry.py @@ -109,7 +109,7 @@ class PluginsRegistry: full_reload (bool, optional): Reload everything - including plugin mechanism. Defaults to False. """ - logger.info('Start loading plugins') + logger.info('Loading plugins') # Set maintanace mode _maintenance = bool(get_maintenance_mode()) @@ -268,7 +268,7 @@ class PluginsRegistry: # Collect plugins from paths for plugin in self.plugin_dirs(): - logger.info(f"Loading plugins from directory '{plugin}'") + logger.debug(f"Loading plugins from directory '{plugin}'") parent_path = None parent_obj = Path(plugin) @@ -306,7 +306,7 @@ class PluginsRegistry: # Log collected plugins logger.info(f'Collected {len(collected_plugins)} plugins!') - logger.info(", ".join([a.__module__ for a in collected_plugins])) + logger.debug(", ".join([a.__module__ for a in collected_plugins])) return collected_plugins @@ -383,7 +383,7 @@ class PluginsRegistry: self.plugins_inactive[key] = plugin.db self.plugins_full[key] = plugin - logger.info('Starting plugin initialisation') + logger.debug('Starting plugin initialisation') # Initialize plugins for plg in self.plugin_modules: @@ -425,9 +425,10 @@ class PluginsRegistry: # Initialize package - we can be sure that an admin has activated the plugin logger.info(f'Loading plugin `{plg_name}`') + try: plg_i: InvenTreePlugin = plg() - logger.info(f'Loaded plugin `{plg_name}`') + logger.debug(f'Loaded plugin `{plg_name}`') except Exception as error: handle_error(error, log_name='init') # log error and raise it -> disable plugin diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 1a3b14af23..58871a55b2 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -19,10 +19,10 @@ import InvenTree.helpers import InvenTree.serializers import part.models as part_models import stock.filters -from common.settings import currency_code_default, currency_code_mappings from company.serializers import SupplierPartSerializer from InvenTree.models import extract_int -from InvenTree.serializers import InvenTreeDecimalField +from InvenTree.serializers import (InvenTreeCurrencySerializer, + InvenTreeDecimalField) from part.serializers import PartBriefSerializer from .models import (StockItem, StockItemAttachment, StockItemTestResult, @@ -171,17 +171,11 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeModelSerializer): purchase_price = InvenTree.serializers.InvenTreeMoneySerializer( label=_('Purchase Price'), - max_digits=19, decimal_places=6, allow_null=True, help_text=_('Purchase price of this stock item'), ) - purchase_price_currency = serializers.ChoiceField( - choices=currency_code_mappings(), - default=currency_code_default, - label=_('Currency'), - help_text=_('Purchase currency of this stock item'), - ) + purchase_price_currency = InvenTreeCurrencySerializer(help_text=_('Purchase currency of this stock item')) purchase_order_reference = serializers.CharField(source='purchase_order.reference', read_only=True) sales_order_reference = serializers.CharField(source='sales_order.reference', read_only=True) diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index 4e04906a18..d7bae4ec18 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -32,6 +32,12 @@ {% url 'admin:stock_stocklocation_change' location.pk as url %} {% include "admin_button.html" with url=url %} {% endif %} +{% settings_value "STOCKTAKE_ENABLE" as stocktake_enable %} +{% if stocktake_enable and roles.stocktake.add %} + +{% endif %} {% mixin_available "locate" as locate_available %} {% if location and plugins_enabled and locate_available %} @@ -246,6 +252,20 @@ {% block js_ready %} {{ block.super }} + {% settings_value "STOCKTAKE_ENABLE" as stocktake_enable %} + {% if stocktake_enable and roles.stocktake.add %} + $('#location-stocktake').click(function() { + generateStocktakeReport({ + category: {}, + location: { + {% if location %}value: {{ location.pk }},{% endif %} + }, + generate_report: {}, + update_parts: {}, + }); + }); + {% endif %} + {% if plugins_enabled and location %} $('#locate-location-button').click(function() { locateItemOrLocation({ diff --git a/InvenTree/templates/InvenTree/settings/part_stocktake.html b/InvenTree/templates/InvenTree/settings/part_stocktake.html new file mode 100644 index 0000000000..3db0630358 --- /dev/null +++ b/InvenTree/templates/InvenTree/settings/part_stocktake.html @@ -0,0 +1,45 @@ +{% extends "panel.html" %} +{% load i18n %} + +{% block label %}stocktake{% endblock %} + +{% block heading %} +{% trans "Stocktake Settings" %} +{% endblock %} + +{% block panel_content %} + +
+ + + {% include "InvenTree/settings/setting.html" with key="STOCKTAKE_ENABLE" icon="fa-clipboard-check" %} + {% include "InvenTree/settings/setting.html" with key="STOCKTAKE_AUTO_DAYS" icon="fa-calendar-alt" %} + {% include "InvenTree/settings/setting.html" with key="STOCKTAKE_DELETE_REPORT_DAYS" icon="fa-trash-alt" %} + +
+
+ +
+
+

{% trans "Stocktake Reports" %}

+ {% include "spacer.html" %} +
+ {% if roles.stocktake.add %} + + {% endif %} +
+
+
+ +
+
+
+ {% include "filter_list.html" with id="stocktakereport" %} +
+
+
+
+ +{% endblock panel_content %} diff --git a/InvenTree/templates/InvenTree/settings/settings.html b/InvenTree/templates/InvenTree/settings/settings.html index 138b32ce3d..77247a29c5 100644 --- a/InvenTree/templates/InvenTree/settings/settings.html +++ b/InvenTree/templates/InvenTree/settings/settings.html @@ -36,8 +36,9 @@ {% include "InvenTree/settings/label.html" %} {% include "InvenTree/settings/report.html" %} {% include "InvenTree/settings/part.html" %} -{% include "InvenTree/settings/pricing.html" %} +{% include "InvenTree/settings/part_stocktake.html" %} {% include "InvenTree/settings/category.html" %} +{% include "InvenTree/settings/pricing.html" %} {% include "InvenTree/settings/stock.html" %} {% include "InvenTree/settings/build.html" %} {% include "InvenTree/settings/po.html" %} @@ -62,426 +63,16 @@ {% block js_ready %} {{ block.super }} -// Callback for when boolean settings are edited -$('table').find('.boolean-setting').change(function() { +{% include "InvenTree/settings/settings_js.html" %} - var pk = $(this).attr('pk'); - var setting = $(this).attr('setting'); - var plugin = $(this).attr('plugin'); - var user = $(this).attr('user'); - var notification = $(this).attr('notification'); - - var checked = this.checked; - - // Global setting by default - var url = `/api/settings/global/${setting}/`; - - if (notification) { - url = `/api/settings/notification/${pk}/`; - } else if (plugin) { - url = `/api/plugins/settings/${plugin}/${setting}/`; - } else if (user) { - url = `/api/settings/user/${setting}/`; - } - - inventreePut( - url, - { - value: checked.toString(), - }, - { - method: 'PATCH', - success: function(data) { - }, - error: function(xhr) { - showApiError(xhr, url); - } - } - ); - -}); - -// Callback for when non-boolean settings are edited -$('table').find('.btn-edit-setting').click(function() { - var setting = $(this).attr('setting'); - var plugin = $(this).attr('plugin'); - var is_global = true; - var notification = $(this).attr('notification'); - - if ($(this).attr('user')){ - is_global = false; - } - - var title = ''; - - if (plugin != null) { - title = '{% trans "Edit Plugin Setting" %}'; - } else if (notification) { - title = '{% trans "Edit Notification Setting" %}'; - setting = $(this).attr('pk'); - } else if (is_global) { - title = '{% trans "Edit Global Setting" %}'; - } else { - title = '{% trans "Edit User Setting" %}'; - } - - editSetting(setting, { - plugin: plugin, - global: is_global, - notification: notification, - title: title, - }); -}); - -$("#edit-user").on('click', function() { - launchModalForm( - "{% url 'edit-user' %}", - { - reload: true, - } - ); -}); - -$("#edit-password").on('click', function() { - launchModalForm( - "{% url 'set-password' %}", - { - reload: true, - } - ); -}); - -$('#btn-update-rates').click(function() { - inventreePut( - '{% url "api-currency-refresh" %}', - {}, - { - method: 'POST', - success: function(data) { - location.reload(); - } - } - ); -}); - -$('#exchange-rate-table').inventreeTable({ - url: '{% url "api-currency-exchange" %}', - search: false, - showColumns: false, - sortable: true, - sidePagination: 'client', - onLoadSuccess: function(response) { - var data = response.exchange_rates || {}; - - var rows = []; - - for (var currency in data) { - rows.push({ - 'currency': currency, - 'rate': data[currency], - }); - } - - $('#exchange-rate-table').bootstrapTable('load', rows); - }, - columns: [ - { - field: 'currency', - sortable: true, - title: '{% trans "Currency" %}', - }, - { - field: 'rate', - sortable: true, - title: '{% trans "Rate" %}', - } - ] -}); - -$('#category-select').select2({ - placeholder: '', - width: '100%', - ajax: { - url: '{% url "api-part-category-list" %}', - dataType: 'json', - delay: 250, - cache: false, - data: function(params) { - if (!params.page) { - offset = 0; - } else { - offset = (params.page - 1) * 25; - } - - return { - search: params.term, - offset: offset, - limit: 25, - }; - }, - processResults: function(response) { - var data = []; - - var more = false; - - if ('count' in response && 'results' in response) { - // Response is paginated - data = response.results; - - // Any more data available? - if (response.next) { - more = true; - } - - } else { - // Non-paginated response - data = response; - } - - // Each 'row' must have the 'id' attribute - for (var idx = 0; idx < data.length; idx++) { - data[idx].id = data[idx].pk; - data[idx].text = data[idx].pathstring; - } - - // Ref: https://select2.org/data-sources/formats - var results = { - results: data, - pagination: { - more: more, - } - }; - - return results; - } - }, -}); - -$('#cat-param-table').inventreeTable({ - formatNoMatches: function() { return '{% trans "No category parameter templates found" %}'; }, - columns: [ - { - field: 'pk', - title: 'ID', - visible: false, - switchable: false, - }, - { - field: 'parameter_template_detail.name', - title: '{% trans "Parameter Template" %}', - sortable: 'true', - }, - { - field: 'category_detail.pathstring', - title: '{% trans "Category" %}', - }, - { - field: 'default_value', - title: '{% trans "Default Value" %}', - sortable: 'true', - formatter: function(value, row, index, field) { - var bEdit = ""; - var bDel = ""; - - var html = value - html += "
" + bEdit + bDel + "
"; - - return html; - } - } - ] -}); - -function loadTemplateTable(pk) { - - var query = {}; - - if (pk) { - query['category'] = pk; - } - - // Load the parameter table - $("#cat-param-table").bootstrapTable('refresh', { - query: query, - url: '{% url "api-part-category-parameter-list" %}', - }); -} - - -// Initially load table with *all* categories -loadTemplateTable(); - -$('body').on('change', '#category-select', function() { - var pk = $(this).val(); - loadTemplateTable(pk); -}); - -$("#new-cat-param").click(function() { - - var pk = $('#category-select').val(); - - constructForm('{% url "api-part-category-parameter-list" %}', { - title: '{% trans "Create Category Parameter Template" %}', - method: 'POST', - fields: { - parameter_template: {}, - category: { - icon: 'fa-sitemap', - value: pk, - }, - default_value: {}, - }, - onSuccess: function() { - loadTemplateTable(pk); - } - }); -}); - -$("#cat-param-table").on('click', '.template-edit', function() { - - var category = $('#category-select').val(); - var pk = $(this).attr('pk'); - - constructForm(`/api/part/category/parameters/${pk}/`, { - fields: { - parameter_template: {}, - category: { - icon: 'fa-sitemap', - }, - default_value: {}, - }, - onSuccess: function() { - loadTemplateTable(pk); - } - }); -}); - - -$("#cat-param-table").on('click', '.template-delete', function() { - - var category = $('#category-select').val(); - var pk = $(this).attr('pk'); - - var url = `/part/category/${category}/parameters/${pk}/delete/`; - - constructForm(`/api/part/category/parameters/${pk}/`, { - method: 'DELETE', - title: '{% trans "Delete Category Parameter Template" %}', - onSuccess: function() { - loadTemplateTable(pk); - } - }); -}); - -$("#param-table").inventreeTable({ - url: "{% url 'api-part-parameter-template-list' %}", - queryParams: { - ordering: 'name', - }, - formatNoMatches: function() { return '{% trans "No part parameter templates found" %}'; }, - columns: [ - { - field: 'pk', - title: '{% trans "ID" %}', - visible: false, - switchable: false, - }, - { - field: 'name', - title: '{% trans "Name" %}', - sortable: true, - }, - { - field: 'units', - title: '{% trans "Units" %}', - sortable: true, - switchable: true, - }, - { - field: 'description', - title: '{% trans "Description" %}', - sortable: false, - switchable: true, - }, - { - formatter: function(value, row, index, field) { - var bEdit = ""; - var bDel = ""; - - var html = "
" + bEdit + bDel + "
"; - - return html; - } - } - ] -}); - -$("#new-param").click(function() { - constructForm('{% url "api-part-parameter-template-list" %}', { - fields: { - name: {}, - units: {}, - description: {}, - }, - method: 'POST', - title: '{% trans "Create Part Parameter Template" %}', - onSuccess: function() { - $("#param-table").bootstrapTable('refresh'); - }, - }); -}); - -$("#param-table").on('click', '.template-edit', function() { - var button = $(this); - var pk = button.attr('pk'); - - constructForm( - `/api/part/parameter/template/${pk}/`, - { - fields: { - name: {}, - units: {}, - description: {}, - }, - title: '{% trans "Edit Part Parameter Template" %}', - onSuccess: function() { - $("#param-table").bootstrapTable('refresh'); - }, - } - ); -}); - -$("#param-table").on('click', '.template-delete', function() { - var button = $(this); - var pk = button.attr('pk'); - - var html = ` -
- {% trans "Any parameters which reference this template will also be deleted" %} -
`; - - constructForm( - `/api/part/parameter/template/${pk}/`, - { - method: 'DELETE', - preFormContent: html, - title: '{% trans "Delete Part Parameter Template" %}', - onSuccess: function() { - $("#param-table").bootstrapTable('refresh'); - }, - } - ); -}); - -$("#import-part").click(function() { - launchModalForm("{% url 'api-part-import' %}?reset", {}); -}); - -{% plugins_enabled as plug %} -{% if plug %} -$("#install-plugin").click(function() { - installPlugin(); -}); +{% if user.is_staff %} + {% include "InvenTree/settings/settings_staff_js.html" %} + {% plugins_enabled as plug %} + {% if plug %} + $("#install-plugin").click(function() { + installPlugin(); + }); + {% endif %} {% endif %} enableSidebar('settings'); diff --git a/InvenTree/templates/InvenTree/settings/settings_js.html b/InvenTree/templates/InvenTree/settings/settings_js.html new file mode 100644 index 0000000000..9eff1e7e43 --- /dev/null +++ b/InvenTree/templates/InvenTree/settings/settings_js.html @@ -0,0 +1,92 @@ +{% load i18n %} +{% load static %} +{% load inventree_extras %} + +// Callback for when boolean settings are edited +$('table').find('.boolean-setting').change(function() { + + var pk = $(this).attr('pk'); + var setting = $(this).attr('setting'); + var plugin = $(this).attr('plugin'); + var user = $(this).attr('user'); + var notification = $(this).attr('notification'); + + var checked = this.checked; + + // Global setting by default + var url = `/api/settings/global/${setting}/`; + + if (notification) { + url = `/api/settings/notification/${pk}/`; + } else if (plugin) { + url = `/api/plugins/settings/${plugin}/${setting}/`; + } else if (user) { + url = `/api/settings/user/${setting}/`; + } + + inventreePut( + url, + { + value: checked.toString(), + }, + { + method: 'PATCH', + success: function(data) { + }, + error: function(xhr) { + showApiError(xhr, url); + } + } + ); + +}); + +// Callback for when non-boolean settings are edited +$('table').find('.btn-edit-setting').click(function() { + var setting = $(this).attr('setting'); + var plugin = $(this).attr('plugin'); + var is_global = true; + var notification = $(this).attr('notification'); + + if ($(this).attr('user')){ + is_global = false; + } + + var title = ''; + + if (plugin != null) { + title = '{% trans "Edit Plugin Setting" %}'; + } else if (notification) { + title = '{% trans "Edit Notification Setting" %}'; + setting = $(this).attr('pk'); + } else if (is_global) { + title = '{% trans "Edit Global Setting" %}'; + } else { + title = '{% trans "Edit User Setting" %}'; + } + + editSetting(setting, { + plugin: plugin, + global: is_global, + notification: notification, + title: title, + }); +}); + +$("#edit-user").on('click', function() { + launchModalForm( + "{% url 'edit-user' %}", + { + reload: true, + } + ); +}); + +$("#edit-password").on('click', function() { + launchModalForm( + "{% url 'set-password' %}", + { + reload: true, + } + ); +}); diff --git a/InvenTree/templates/InvenTree/settings/settings_staff_js.html b/InvenTree/templates/InvenTree/settings/settings_staff_js.html new file mode 100644 index 0000000000..3da3bd804f --- /dev/null +++ b/InvenTree/templates/InvenTree/settings/settings_staff_js.html @@ -0,0 +1,401 @@ +{% load i18n %} +{% load static %} +{% load inventree_extras %} + +// Javascript for Pricing panel +onPanelLoad('pricing', function() { + $('#btn-update-rates').click(function() { + inventreePut( + '{% url "api-currency-refresh" %}', + {}, + { + method: 'POST', + success: function(data) { + location.reload(); + } + } + ); + }); + + $('#exchange-rate-table').inventreeTable({ + url: '{% url "api-currency-exchange" %}', + search: false, + showColumns: false, + sortable: true, + sidePagination: 'client', + onLoadSuccess: function(response) { + var data = response.exchange_rates || {}; + + var rows = []; + + for (var currency in data) { + rows.push({ + 'currency': currency, + 'rate': data[currency], + }); + } + + $('#exchange-rate-table').bootstrapTable('load', rows); + }, + columns: [ + { + field: 'currency', + sortable: true, + title: '{% trans "Currency" %}', + }, + { + field: 'rate', + sortable: true, + title: '{% trans "Rate" %}', + } + ] + }); +}); + +// Javascript for Part Category panel +onPanelLoad('category', function() { + $('#category-select').select2({ + placeholder: '', + width: '100%', + ajax: { + url: '{% url "api-part-category-list" %}', + dataType: 'json', + delay: 250, + cache: false, + data: function(params) { + if (!params.page) { + offset = 0; + } else { + offset = (params.page - 1) * 25; + } + + return { + search: params.term, + offset: offset, + limit: 25, + }; + }, + processResults: function(response) { + var data = []; + + var more = false; + + if ('count' in response && 'results' in response) { + // Response is paginated + data = response.results; + + // Any more data available? + if (response.next) { + more = true; + } + + } else { + // Non-paginated response + data = response; + } + + // Each 'row' must have the 'id' attribute + for (var idx = 0; idx < data.length; idx++) { + data[idx].id = data[idx].pk; + data[idx].text = data[idx].pathstring; + } + + // Ref: https://select2.org/data-sources/formats + var results = { + results: data, + pagination: { + more: more, + } + }; + + return results; + } + }, + }); + + $('#cat-param-table').inventreeTable({ + formatNoMatches: function() { return '{% trans "No category parameter templates found" %}'; }, + columns: [ + { + field: 'pk', + title: 'ID', + visible: false, + switchable: false, + }, + { + field: 'parameter_template_detail.name', + title: '{% trans "Parameter Template" %}', + sortable: 'true', + }, + { + field: 'category_detail.pathstring', + title: '{% trans "Category" %}', + }, + { + field: 'default_value', + title: '{% trans "Default Value" %}', + sortable: 'true', + formatter: function(value, row, index, field) { + var bEdit = ""; + var bDel = ""; + + var html = value + html += "
" + bEdit + bDel + "
"; + + return html; + } + } + ] + }); + + $("#cat-param-table").on('click', '.template-edit', function() { + + var category = $('#category-select').val(); + var pk = $(this).attr('pk'); + + constructForm(`/api/part/category/parameters/${pk}/`, { + fields: { + parameter_template: {}, + category: { + icon: 'fa-sitemap', + }, + default_value: {}, + }, + onSuccess: function() { + loadTemplateTable(pk); + } + }); + }); + + $("#cat-param-table").on('click', '.template-delete', function() { + + var category = $('#category-select').val(); + var pk = $(this).attr('pk'); + + var url = `/part/category/${category}/parameters/${pk}/delete/`; + + constructForm(`/api/part/category/parameters/${pk}/`, { + method: 'DELETE', + title: '{% trans "Delete Category Parameter Template" %}', + onSuccess: function() { + loadTemplateTable(pk); + } + }); + }); + + function loadTemplateTable(pk) { + + var query = {}; + + if (pk) { + query['category'] = pk; + } + + // Load the parameter table + $("#cat-param-table").bootstrapTable('refresh', { + query: query, + url: '{% url "api-part-category-parameter-list" %}', + }); + } + + + // Initially load table with *all* categories + loadTemplateTable(); + + $('body').on('change', '#category-select', function() { + var pk = $(this).val(); + loadTemplateTable(pk); + }); + + $("#new-cat-param").click(function() { + + var pk = $('#category-select').val(); + + constructForm('{% url "api-part-category-parameter-list" %}', { + title: '{% trans "Create Category Parameter Template" %}', + method: 'POST', + fields: { + parameter_template: {}, + category: { + icon: 'fa-sitemap', + value: pk, + }, + default_value: {}, + }, + onSuccess: function() { + loadTemplateTable(pk); + } + }); + }); +}); + + +// Javascript for the Part settings panel +onPanelLoad('parts', function() { + $("#param-table").inventreeTable({ + url: "{% url 'api-part-parameter-template-list' %}", + queryParams: { + ordering: 'name', + }, + formatNoMatches: function() { return '{% trans "No part parameter templates found" %}'; }, + columns: [ + { + field: 'pk', + title: '{% trans "ID" %}', + visible: false, + switchable: false, + }, + { + field: 'name', + title: '{% trans "Name" %}', + sortable: true, + }, + { + field: 'units', + title: '{% trans "Units" %}', + sortable: true, + switchable: true, + }, + { + field: 'description', + title: '{% trans "Description" %}', + sortable: false, + switchable: true, + }, + { + formatter: function(value, row, index, field) { + var bEdit = ""; + var bDel = ""; + + var html = "
" + bEdit + bDel + "
"; + + return html; + } + } + ] + }); + + $("#new-param").click(function() { + constructForm('{% url "api-part-parameter-template-list" %}', { + fields: { + name: {}, + units: {}, + description: {}, + }, + method: 'POST', + title: '{% trans "Create Part Parameter Template" %}', + onSuccess: function() { + $("#param-table").bootstrapTable('refresh'); + }, + }); + }); + + $("#param-table").on('click', '.template-edit', function() { + var button = $(this); + var pk = button.attr('pk'); + + constructForm( + `/api/part/parameter/template/${pk}/`, + { + fields: { + name: {}, + units: {}, + description: {}, + }, + title: '{% trans "Edit Part Parameter Template" %}', + onSuccess: function() { + $("#param-table").bootstrapTable('refresh'); + }, + } + ); + }); + + $("#param-table").on('click', '.template-delete', function() { + var button = $(this); + var pk = button.attr('pk'); + + var html = ` +
+ {% trans "Any parameters which reference this template will also be deleted" %} +
`; + + constructForm( + `/api/part/parameter/template/${pk}/`, + { + method: 'DELETE', + preFormContent: html, + title: '{% trans "Delete Part Parameter Template" %}', + onSuccess: function() { + $("#param-table").bootstrapTable('refresh'); + }, + } + ); + }); + + $("#import-part").click(function() { + launchModalForm("{% url 'api-part-import' %}?reset", {}); + }); +}); + + +// Javascript for the Stocktake settings panel +onPanelLoad('stocktake', function() { + + {% if roles.stocktake.view %} + var table = '#stocktake-report-table'; + + var filters = loadTableFilters('stocktakereport'); + setupFilterList('stocktakereport', $(table), '#filter-list-stocktakereport'); + + $(table).inventreeTable({ + url: '{% url "api-part-stocktake-report-list" %}', + search: false, + queryParams: filters, + name: 'stocktakereport', + showColumns: false, + sidePagination: 'server', + sortable: true, + sortName: 'date', + sortOrder: 'desc', + columns: [ + { + field: 'report', + title: '{% trans "Report" %}', + formatter: function(value, row) { + return attachmentLink(value); + } + }, + { + field: 'part_count', + title: '{% trans "Part Count" %}', + }, + { + field: 'date', + title: '{% trans "Date" %}', + sortable: true, + formatter: function(value, row) { + let html = renderDate(value); + + if (row.user_detail) { + html += `${row.user_detail.username}`; + } + + return html; + } + }, + ] + }); + {% endif %} + + {% if roles.stocktake.add %} + $('#btn-generate-stocktake').click(function() { + generateStocktakeReport({ + part: {}, + category: {}, + location: {}, + generate_report: {}, + update_parts: {}, + }); + }); + {% endif %} +}); diff --git a/InvenTree/templates/InvenTree/settings/sidebar.html b/InvenTree/templates/InvenTree/settings/sidebar.html index 49826e0be8..e4f7482366 100644 --- a/InvenTree/templates/InvenTree/settings/sidebar.html +++ b/InvenTree/templates/InvenTree/settings/sidebar.html @@ -40,12 +40,14 @@ {% include "sidebar_item.html" with label='labels' text=text icon='fa-tag' %} {% trans "Reporting" as text %} {% include "sidebar_item.html" with label='reporting' text=text icon="fa-file-pdf" %} -{% trans "Parts" as text %} -{% include "sidebar_item.html" with label='parts' text=text icon="fa-shapes" %} {% trans "Categories" as text %} {% include "sidebar_item.html" with label='category' text=text icon="fa-sitemap" %} +{% trans "Parts" as text %} +{% include "sidebar_item.html" with label='parts' text=text icon="fa-shapes" %} {% trans "Stock" as text %} {% include "sidebar_item.html" with label='stock' text=text icon="fa-boxes" %} +{% trans "Stocktake" as text %} +{% include "sidebar_item.html" with label='stocktake' text=text icon="fa-clipboard-check" %} {% trans "Build Orders" as text %} {% include "sidebar_item.html" with label='build-order' text=text icon="fa-tools" %} {% trans "Purchase Orders" as text %} diff --git a/InvenTree/templates/InvenTree/settings/stock.html b/InvenTree/templates/InvenTree/settings/stock.html index 149fdd8e2f..2826b4429d 100644 --- a/InvenTree/templates/InvenTree/settings/stock.html +++ b/InvenTree/templates/InvenTree/settings/stock.html @@ -21,6 +21,7 @@ {% include "InvenTree/settings/setting.html" with key="STOCK_ALLOW_EXPIRED_BUILD" icon="fa-tools" %} {% include "InvenTree/settings/setting.html" with key="STOCK_OWNERSHIP_CONTROL" icon="fa-users" %} {% include "InvenTree/settings/setting.html" with key="STOCK_LOCATION_DEFAULT_ICON" icon="fa-icons" %} + {% endblock %} diff --git a/InvenTree/templates/js/translated/attachment.js b/InvenTree/templates/js/translated/attachment.js index 1cbd241e20..e56f5928ef 100644 --- a/InvenTree/templates/js/translated/attachment.js +++ b/InvenTree/templates/js/translated/attachment.js @@ -6,6 +6,7 @@ */ /* exported + attachmentLink, addAttachmentButtonCallbacks, loadAttachmentTable, reloadAttachmentTable, @@ -130,6 +131,50 @@ function reloadAttachmentTable() { } +/* + * Render a link (with icon) to an internal attachment (file) + */ +function attachmentLink(filename) { + + if (!filename) { + return null; + } + + // Default file icon (if no better choice is found) + let icon = 'fa-file-alt'; + let fn = filename.toLowerCase(); + + // Look for some "known" file types + if (fn.endsWith('.csv')) { + icon = 'fa-file-csv'; + } else if (fn.endsWith('.pdf')) { + icon = 'fa-file-pdf'; + } else if (fn.endsWith('.xls') || fn.endsWith('.xlsx')) { + icon = 'fa-file-excel'; + } else if (fn.endsWith('.doc') || fn.endsWith('.docx')) { + icon = 'fa-file-word'; + } else if (fn.endsWith('.zip') || fn.endsWith('.7z')) { + icon = 'fa-file-archive'; + } else { + let images = ['.png', '.jpg', '.bmp', '.gif', '.svg', '.tif']; + + images.forEach(function(suffix) { + if (fn.endsWith(suffix)) { + icon = 'fa-file-image'; + } + }); + } + + let split = filename.split('/'); + fn = split[split.length - 1]; + + let html = ` ${fn}`; + + return renderLink(html, filename, {download: true}); + +} + + /* Load a table of attachments against a specific model. * Note that this is a 'generic' table which is used for multiple attachment model classes */ @@ -242,36 +287,7 @@ function loadAttachmentTable(url, options) { formatter: function(value, row) { if (row.attachment) { - var icon = 'fa-file-alt'; - - var fn = value.toLowerCase(); - - if (fn.endsWith('.csv')) { - icon = 'fa-file-csv'; - } else if (fn.endsWith('.pdf')) { - icon = 'fa-file-pdf'; - } else if (fn.endsWith('.xls') || fn.endsWith('.xlsx')) { - icon = 'fa-file-excel'; - } else if (fn.endsWith('.doc') || fn.endsWith('.docx')) { - icon = 'fa-file-word'; - } else if (fn.endsWith('.zip') || fn.endsWith('.7z')) { - icon = 'fa-file-archive'; - } else { - var images = ['.png', '.jpg', '.bmp', '.gif', '.svg', '.tif']; - - images.forEach(function(suffix) { - if (fn.endsWith(suffix)) { - icon = 'fa-file-image'; - } - }); - } - - var split = value.split('/'); - var filename = split[split.length - 1]; - - var html = ` ${filename}`; - - return renderLink(html, value, {download: true}); + return attachmentLink(row.attachment); } else if (row.link) { var html = ` ${row.link}`; return renderLink(html, row.link); diff --git a/InvenTree/templates/js/translated/forms.js b/InvenTree/templates/js/translated/forms.js index c7fc9452d1..8c85beb575 100644 --- a/InvenTree/templates/js/translated/forms.js +++ b/InvenTree/templates/js/translated/forms.js @@ -974,6 +974,10 @@ function updateFieldValue(name, value, field, options) { } switch (field.type) { + case 'decimal': + // Strip trailing zeros + el.val(formatDecimal(value)); + break; case 'boolean': if (value == true || value.toString().toLowerCase() == 'true') { el.prop('checked'); diff --git a/InvenTree/templates/js/translated/helpers.js b/InvenTree/templates/js/translated/helpers.js index 4f18f53093..54be4db016 100644 --- a/InvenTree/templates/js/translated/helpers.js +++ b/InvenTree/templates/js/translated/helpers.js @@ -274,6 +274,10 @@ function renderLink(text, url, options={}) { extras += ` title="${url}"`; } + if (options.download) { + extras += ` download`; + } + return `${text}`; } diff --git a/InvenTree/templates/js/translated/notification.js b/InvenTree/templates/js/translated/notification.js index b6957741b4..c5b941e0da 100644 --- a/InvenTree/templates/js/translated/notification.js +++ b/InvenTree/templates/js/translated/notification.js @@ -50,25 +50,16 @@ function loadNotificationTable(table, options={}, enableDelete=false) { title: '{% trans "Category" %}', sortable: 'true', }, - { - field: 'target', - title: '{% trans "Item" %}', - sortable: 'true', - formatter: function(value, row, index, field) { - if (value == null) { - return ''; - } - - var html = `${value.model}: ${value.name}`; - if (value.link ) { - html = `${html}`; - } - return html; - } - }, { field: 'name', - title: '{% trans "Name" %}', + title: '{% trans "Notification" %}', + formatter: function(value, row) { + if (row.target && row.target.link) { + return renderLink(value, row.target.link); + } else { + return value; + } + } }, { field: 'message', diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index c4c0d115b5..a5a09945fa 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -27,6 +27,7 @@ duplicatePart, editCategory, editPart, + generateStocktakeReport, loadParametricPartTable, loadPartCategoryTable, loadPartParameterTable, @@ -40,7 +41,6 @@ loadSimplePartTable, partDetail, partStockLabel, - performStocktake, toggleStar, validateBom, */ @@ -702,133 +702,178 @@ function partDetail(part, options={}) { /* - * Guide user through "stocktake" process + * Initiate generation of a stocktake report */ -function performStocktake(partId, options={}) { +function generateStocktakeReport(options={}) { - var part_quantity = 0; + let fields = { + }; - var date_threshold = moment().subtract(30, 'days'); - - // Helper function for formatting a StockItem row - function buildStockItemRow(item) { - - var pk = item.pk; - - // Part detail - var part = partDetail(item.part_detail, { - thumb: true, - }); - - // Location detail - var location = locationDetail(item); - - // Quantity detail - var quantity = item.quantity; - - part_quantity += item.quantity; - - if (item.serial && item.quantity == 1) { - quantity = `{% trans "Serial" %}: ${item.serial}`; - } - - quantity += stockStatusDisplay(item.status, {classes: 'float-right'}); - - // Last update - var updated = item.stocktake_date || item.updated; - - var update_rendered = renderDate(updated); - - if (updated) { - if (moment(updated) < date_threshold) { - update_rendered += `
`; - } - } - - // Actions - var actions = `
`; - - // TODO: Future work - // actions += makeIconButton('fa-check-circle icon-green', 'button-line-count', pk, '{% trans "Update item" %}'); - // actions += makeIconButton('fa-trash-alt icon-red', 'button-line-delete', pk, '{% trans "Delete item" %}'); - - actions += `
`; - - return ` - - ${part} - ${location} - ${quantity} - ${update_rendered} - ${actions} - `; + if (options.part != null) { + fields.part = options.part; } - // First, load stock information for the part - inventreeGet( - '{% url "api-stock-list" %}', + if (options.category != null) { + fields.category = options.category; + } + + if (options.location != null) { + fields.location = options.location; + } + + if (options.generate_report) { + fields.generate_report = options.generate_report; + } + + if (options.update_parts) { + fields.update_parts = options.update_parts; + } + + let content = ` +
+ {% trans "Schedule generation of a new stocktake report." %} {% trans "Once complete, the stocktake report will be available for download." %} +
+ `; + + constructForm( + '{% url "api-part-stocktake-report-generate" %}', { - part: partId, - in_stock: true, - location_detail: true, - part_detail: true, - include_variants: true, - ordering: '-stock', - }, - { - success: function(response) { - var html = ''; - - html += ` - - - - - - - - - - - - `; - - response.forEach(function(item) { - html += buildStockItemRow(item); - }); - - html += `
{% trans "Stock Item" %}{% trans "Location" %}{% trans "Quantity" %}{% trans "Updated" %}
`; - - constructForm(`/api/part/stocktake/`, { - preFormContent: html, - method: 'POST', - title: '{% trans "Part Stocktake" %}', - confirm: true, - fields: { - part: { - value: partId, - hidden: true, - }, - quantity: { - value: part_quantity, - }, - note: {}, - }, - onSuccess: function(response) { - handleFormSuccess(response, options); - } + method: 'POST', + title: '{% trans "Generate Stocktake Report" %}', + preFormContent: content, + fields: fields, + onSuccess: function(response) { + showMessage('{% trans "Stocktake report scheduled" %}', { + style: 'success', }); } } ); } +var stocktakeChart = null; + +/* + * Load chart to display part stocktake information + */ +function loadStocktakeChart(data, options={}) { + + var chart = 'part-stocktake-chart'; + var context = document.getElementById(chart); + + var quantity_data = []; + var cost_min_data = []; + var cost_max_data = []; + + var base_currency = baseCurrency(); + var rate_data = getCurrencyConversionRates(); + + data.forEach(function(row) { + var date = moment(row.date); + quantity_data.push({ + x: date, + y: row.quantity + }); + + if (row.cost_min) { + cost_min_data.push({ + x: date, + y: convertCurrency( + row.cost_min, + row.cost_min_currency || base_currency, + base_currency, + rate_data + ), + }); + } + + if (row.cost_max) { + cost_max_data.push({ + x: date, + y: convertCurrency( + row.cost_max, + row.cost_max_currency || base_currency, + base_currency, + rate_data + ), + }); + } + }); + + var chart_data = { + datasets: [ + { + label: '{% trans "Quantity" %}', + data: quantity_data, + backgroundColor: 'rgba(160, 80, 220, 0.75)', + borderWidth: 3, + borderColor: 'rgb(160, 80, 220)', + yAxisID: 'y', + }, + { + label: '{% trans "Minimum Cost" %}', + data: cost_min_data, + backgroundColor: 'rgba(220, 160, 80, 0.25)', + borderWidth: 2, + borderColor: 'rgba(220, 160, 80, 0.35)', + borderDash: [10, 5], + yAxisID: 'y1', + fill: '+1', + }, + { + label: '{% trans "Maximum Cost" %}', + data: cost_max_data, + backgroundColor: 'rgba(220, 160, 80, 0.25)', + borderWidth: 2, + borderColor: 'rgba(220, 160, 80, 0.35)', + borderDash: [10, 5], + yAxisID: 'y1', + fill: '-1', + } + ] + }; + + if (stocktakeChart != null) { + stocktakeChart.destroy(); + } + + stocktakeChart = new Chart(context, { + type: 'scatter', + data: chart_data, + options: { + showLine: true, + scales: { + x: { + type: 'time', + // suggestedMax: today.format(), + position: 'bottom', + time: { + minUnit: 'day', + } + }, + y: { + type: 'linear', + display: true, + position: 'left', + }, + y1: { + type: 'linear', + display: true, + position: 'right', + } + }, + } + }); +} + + /* * Load table for part stocktake information */ function loadPartStocktakeTable(partId, options={}) { + // HTML elements var table = options.table || '#part-stocktake-table'; var params = options.params || {}; @@ -853,13 +898,32 @@ function loadPartStocktakeTable(partId, options={}) { formatNoMatches: function() { return '{% trans "No stocktake information available" %}'; }, + onLoadSuccess: function(response) { + var data = response.results || response; + + loadStocktakeChart(data); + }, columns: [ + { + field: 'item_count', + title: '{% trans "Stock Items" %}', + switchable: true, + sortable: true, + }, { field: 'quantity', - title: '{% trans "Quantity" %}', + title: '{% trans "Total Quantity" %}', switchable: false, sortable: true, }, + { + field: 'cost', + title: '{% trans "Total Cost" %}', + switchable: false, + formatter: function(value, row) { + return formatPriceRange(row.cost_min, row.cost_max); + } + }, { field: 'note', title: '{% trans "Notes" %}', @@ -883,7 +947,7 @@ function loadPartStocktakeTable(partId, options={}) { { field: 'actions', title: '', - visible: options.admin, + visible: options.allow_edit || options.allow_delete, switchable: false, sortable: false, formatter: function(value, row) { @@ -910,7 +974,12 @@ function loadPartStocktakeTable(partId, options={}) { constructForm(`/api/part/stocktake/${pk}/`, { fields: { + item_count: {}, quantity: {}, + cost_min: {}, + cost_min_currency: {}, + cost_max: {}, + cost_max_currency: {}, note: {}, }, title: '{% trans "Edit Stocktake Entry" %}', diff --git a/InvenTree/templates/js/translated/pricing.js b/InvenTree/templates/js/translated/pricing.js index 83102e8204..020d717728 100644 --- a/InvenTree/templates/js/translated/pricing.js +++ b/InvenTree/templates/js/translated/pricing.js @@ -205,6 +205,11 @@ function calculateTotalPrice(dataset, value_func, currency_func, options={}) { total += value; } + // Return raw total instead of formatted value + if (options.raw) { + return total; + } + return formatCurrency(total, { currency: currency, }); diff --git a/InvenTree/users/admin.py b/InvenTree/users/admin.py index 30d63a2156..d26a7f97fc 100644 --- a/InvenTree/users/admin.py +++ b/InvenTree/users/admin.py @@ -84,7 +84,7 @@ class RoleGroupAdmin(admin.ModelAdmin): # pragma: no cover RuleSetInline, ] - list_display = ('name', 'admin', 'part_category', 'part', 'stock_location', + list_display = ('name', 'admin', 'part_category', 'part', 'stocktake', 'stock_location', 'stock_item', 'build', 'purchase_order', 'sales_order') def get_rule_set(self, obj, rule_set_type): @@ -137,6 +137,10 @@ class RoleGroupAdmin(admin.ModelAdmin): # pragma: no cover """Return the ruleset for the Part role""" return self.get_rule_set(obj, 'part') + def stocktake(self, obj): + """Return the ruleset for the Stocktake role""" + return self.get_rule_set(obj, 'stocktake') + def stock_location(self, obj): """Return the ruleset for the StockLocation role""" return self.get_rule_set(obj, 'stock_location') diff --git a/InvenTree/users/migrations/0006_alter_ruleset_name.py b/InvenTree/users/migrations/0006_alter_ruleset_name.py new file mode 100644 index 0000000000..0acf9404fa --- /dev/null +++ b/InvenTree/users/migrations/0006_alter_ruleset_name.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.16 on 2023-02-16 22:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0005_owner_model'), + ] + + operations = [ + migrations.AlterField( + model_name='ruleset', + name='name', + field=models.CharField(choices=[('admin', 'Admin'), ('part_category', 'Part Categories'), ('part', 'Parts'), ('stocktake', 'Stocktake'), ('stock_location', 'Stock Locations'), ('stock', 'Stock Items'), ('build', 'Build Orders'), ('purchase_order', 'Purchase Orders'), ('sales_order', 'Sales Orders')], help_text='Permission set', max_length=50), + ), + ] diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index 985b1228bd..c4b81fc174 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -21,7 +21,7 @@ logger = logging.getLogger("inventree") class RuleSet(models.Model): - """A RuleSet is somewhat like a superset of the django permission class, in that in encapsulates a bunch of permissions. + """A RuleSet is somewhat like a superset of the django permission class, in that in encapsulates a bunch of permissions. There are *many* apps models used within InvenTree, so it makes sense to group them into "roles". @@ -36,6 +36,7 @@ class RuleSet(models.Model): ('admin', _('Admin')), ('part_category', _('Part Categories')), ('part', _('Parts')), + ('stocktake', _('Stocktake')), ('stock_location', _('Stock Locations')), ('stock', _('Stock Items')), ('build', _('Build Orders')), @@ -97,13 +98,16 @@ class RuleSet(models.Model): 'part_partrelated', 'part_partstar', 'part_partcategorystar', - 'part_partstocktake', 'company_supplierpart', 'company_manufacturerpart', 'company_manufacturerpartparameter', 'company_manufacturerpartattachment', 'label_partlabel', ], + 'stocktake': [ + 'part_partstocktake', + 'part_partstocktakereport', + ], 'stock_location': [ 'stock_stocklocation', 'label_stocklocationlabel', @@ -467,13 +471,13 @@ def update_group_roles(group, debug=False): # Enable all action permissions for certain children models # if parent model has 'change' permission for (parent, child) in RuleSet.RULESET_CHANGE_INHERIT: - parent_change_perm = f'{parent}.change_{parent}' parent_child_string = f'{parent}_{child}' - # Check if parent change permission exists - if parent_change_perm in group_permissions: - # Add child model permissions - for action in ['add', 'change', 'delete']: + # Check each type of permission + for action in ['view', 'change', 'add', 'delete']: + parent_perm = f'{parent}.{action}_{parent}' + + if parent_perm in group_permissions: child_perm = f'{parent}.{action}_{child}' # Check if child permission not already in group diff --git a/InvenTree/users/tests.py b/InvenTree/users/tests.py index 5243d111b9..20455ba696 100644 --- a/InvenTree/users/tests.py +++ b/InvenTree/users/tests.py @@ -126,6 +126,7 @@ class RuleSetModelTest(TestCase): # Add some more rules for rule in rulesets: + rule.can_view = True rule.can_add = True rule.can_change = True diff --git a/docker/init.sh b/docker/init.sh index 75f6f53d26..caf0266c51 100644 --- a/docker/init.sh +++ b/docker/init.sh @@ -49,8 +49,5 @@ fi cd ${INVENTREE_HOME} -# Collect translation file stats -invoke translate-stats - # Launch the CMD *after* the ENTRYPOINT completes exec "$@" From cde2050236adbadac610c5a3806dde9093a7e7b0 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 17 Feb 2023 13:33:36 +1100 Subject: [PATCH 009/140] Client side QR Codes (#4357) * Add JS for qrcodejs Ref: https://davidshimjs.github.io/qrcodejs/ * Simple function for rendering a QR code * Refactor QR code view for Part * Replace QR code view for SupplierPart * Refactor QR codes for stock item and stock location models * Remove base QRCodeView entirely --- .../InvenTree/static/script/qrcode.min.js | 1 + InvenTree/InvenTree/views.py | 38 ----------------- .../templates/company/supplier_part.html | 8 ++-- InvenTree/company/urls.py | 1 - InvenTree/company/views.py | 17 +------- InvenTree/part/api.py | 3 -- InvenTree/part/templates/part/part_base.html | 8 ++-- InvenTree/part/test_views.py | 25 ----------- InvenTree/part/views.py | 19 +-------- .../stock/templates/stock/item_base.html | 8 ++-- InvenTree/stock/templates/stock/location.html | 8 ++-- InvenTree/stock/urls.py | 4 -- InvenTree/stock/views.py | 34 +-------------- InvenTree/templates/js/translated/modals.js | 42 ++++++++++++++++--- InvenTree/templates/third_party_js.html | 1 + 15 files changed, 56 insertions(+), 161 deletions(-) create mode 100644 InvenTree/InvenTree/static/script/qrcode.min.js diff --git a/InvenTree/InvenTree/static/script/qrcode.min.js b/InvenTree/InvenTree/static/script/qrcode.min.js new file mode 100644 index 0000000000..993e88f396 --- /dev/null +++ b/InvenTree/InvenTree/static/script/qrcode.min.js @@ -0,0 +1 @@ +var QRCode;!function(){function a(a){this.mode=c.MODE_8BIT_BYTE,this.data=a,this.parsedData=[];for(var b=[],d=0,e=this.data.length;e>d;d++){var f=this.data.charCodeAt(d);f>65536?(b[0]=240|(1835008&f)>>>18,b[1]=128|(258048&f)>>>12,b[2]=128|(4032&f)>>>6,b[3]=128|63&f):f>2048?(b[0]=224|(61440&f)>>>12,b[1]=128|(4032&f)>>>6,b[2]=128|63&f):f>128?(b[0]=192|(1984&f)>>>6,b[1]=128|63&f):b[0]=f,this.parsedData=this.parsedData.concat(b)}this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function b(a,b){this.typeNumber=a,this.errorCorrectLevel=b,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function i(a,b){if(void 0==a.length)throw new Error(a.length+"/"+b);for(var c=0;c=f;f++){var h=0;switch(b){case d.L:h=l[f][0];break;case d.M:h=l[f][1];break;case d.Q:h=l[f][2];break;case d.H:h=l[f][3]}if(h>=e)break;c++}if(c>l.length)throw new Error("Too long data");return c}function s(a){var b=encodeURI(a).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return b.length+(b.length!=a?3:0)}a.prototype={getLength:function(){return this.parsedData.length},write:function(a){for(var b=0,c=this.parsedData.length;c>b;b++)a.put(this.parsedData[b],8)}},b.prototype={addData:function(b){var c=new a(b);this.dataList.push(c),this.dataCache=null},isDark:function(a,b){if(0>a||this.moduleCount<=a||0>b||this.moduleCount<=b)throw new Error(a+","+b);return this.modules[a][b]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(a,c){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var d=0;d=7&&this.setupTypeNumber(a),null==this.dataCache&&(this.dataCache=b.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,c)},setupPositionProbePattern:function(a,b){for(var c=-1;7>=c;c++)if(!(-1>=a+c||this.moduleCount<=a+c))for(var d=-1;7>=d;d++)-1>=b+d||this.moduleCount<=b+d||(this.modules[a+c][b+d]=c>=0&&6>=c&&(0==d||6==d)||d>=0&&6>=d&&(0==c||6==c)||c>=2&&4>=c&&d>=2&&4>=d?!0:!1)},getBestMaskPattern:function(){for(var a=0,b=0,c=0;8>c;c++){this.makeImpl(!0,c);var d=f.getLostPoint(this);(0==c||a>d)&&(a=d,b=c)}return b},createMovieClip:function(a,b,c){var d=a.createEmptyMovieClip(b,c),e=1;this.make();for(var f=0;f=g;g++)for(var h=-2;2>=h;h++)this.modules[d+g][e+h]=-2==g||2==g||-2==h||2==h||0==g&&0==h?!0:!1}},setupTypeNumber:function(a){for(var b=f.getBCHTypeNumber(this.typeNumber),c=0;18>c;c++){var d=!a&&1==(1&b>>c);this.modules[Math.floor(c/3)][c%3+this.moduleCount-8-3]=d}for(var c=0;18>c;c++){var d=!a&&1==(1&b>>c);this.modules[c%3+this.moduleCount-8-3][Math.floor(c/3)]=d}},setupTypeInfo:function(a,b){for(var c=this.errorCorrectLevel<<3|b,d=f.getBCHTypeInfo(c),e=0;15>e;e++){var g=!a&&1==(1&d>>e);6>e?this.modules[e][8]=g:8>e?this.modules[e+1][8]=g:this.modules[this.moduleCount-15+e][8]=g}for(var e=0;15>e;e++){var g=!a&&1==(1&d>>e);8>e?this.modules[8][this.moduleCount-e-1]=g:9>e?this.modules[8][15-e-1+1]=g:this.modules[8][15-e-1]=g}this.modules[this.moduleCount-8][8]=!a},mapData:function(a,b){for(var c=-1,d=this.moduleCount-1,e=7,g=0,h=this.moduleCount-1;h>0;h-=2)for(6==h&&h--;;){for(var i=0;2>i;i++)if(null==this.modules[d][h-i]){var j=!1;g>>e));var k=f.getMask(b,d,h-i);k&&(j=!j),this.modules[d][h-i]=j,e--,-1==e&&(g++,e=7)}if(d+=c,0>d||this.moduleCount<=d){d-=c,c=-c;break}}}},b.PAD0=236,b.PAD1=17,b.createData=function(a,c,d){for(var e=j.getRSBlocks(a,c),g=new k,h=0;h8*l)throw new Error("code length overflow. ("+g.getLengthInBits()+">"+8*l+")");for(g.getLengthInBits()+4<=8*l&&g.put(0,4);0!=g.getLengthInBits()%8;)g.putBit(!1);for(;;){if(g.getLengthInBits()>=8*l)break;if(g.put(b.PAD0,8),g.getLengthInBits()>=8*l)break;g.put(b.PAD1,8)}return b.createBytes(g,e)},b.createBytes=function(a,b){for(var c=0,d=0,e=0,g=new Array(b.length),h=new Array(b.length),j=0;j=0?p.get(q):0}}for(var r=0,m=0;mm;m++)for(var j=0;jm;m++)for(var j=0;j=0;)b^=f.G15<=0;)b^=f.G18<>>=1;return b},getPatternPosition:function(a){return f.PATTERN_POSITION_TABLE[a-1]},getMask:function(a,b,c){switch(a){case e.PATTERN000:return 0==(b+c)%2;case e.PATTERN001:return 0==b%2;case e.PATTERN010:return 0==c%3;case e.PATTERN011:return 0==(b+c)%3;case e.PATTERN100:return 0==(Math.floor(b/2)+Math.floor(c/3))%2;case e.PATTERN101:return 0==b*c%2+b*c%3;case e.PATTERN110:return 0==(b*c%2+b*c%3)%2;case e.PATTERN111:return 0==(b*c%3+(b+c)%2)%2;default:throw new Error("bad maskPattern:"+a)}},getErrorCorrectPolynomial:function(a){for(var b=new i([1],0),c=0;a>c;c++)b=b.multiply(new i([1,g.gexp(c)],0));return b},getLengthInBits:function(a,b){if(b>=1&&10>b)switch(a){case c.MODE_NUMBER:return 10;case c.MODE_ALPHA_NUM:return 9;case c.MODE_8BIT_BYTE:return 8;case c.MODE_KANJI:return 8;default:throw new Error("mode:"+a)}else if(27>b)switch(a){case c.MODE_NUMBER:return 12;case c.MODE_ALPHA_NUM:return 11;case c.MODE_8BIT_BYTE:return 16;case c.MODE_KANJI:return 10;default:throw new Error("mode:"+a)}else{if(!(41>b))throw new Error("type:"+b);switch(a){case c.MODE_NUMBER:return 14;case c.MODE_ALPHA_NUM:return 13;case c.MODE_8BIT_BYTE:return 16;case c.MODE_KANJI:return 12;default:throw new Error("mode:"+a)}}},getLostPoint:function(a){for(var b=a.getModuleCount(),c=0,d=0;b>d;d++)for(var e=0;b>e;e++){for(var f=0,g=a.isDark(d,e),h=-1;1>=h;h++)if(!(0>d+h||d+h>=b))for(var i=-1;1>=i;i++)0>e+i||e+i>=b||(0!=h||0!=i)&&g==a.isDark(d+h,e+i)&&f++;f>5&&(c+=3+f-5)}for(var d=0;b-1>d;d++)for(var e=0;b-1>e;e++){var j=0;a.isDark(d,e)&&j++,a.isDark(d+1,e)&&j++,a.isDark(d,e+1)&&j++,a.isDark(d+1,e+1)&&j++,(0==j||4==j)&&(c+=3)}for(var d=0;b>d;d++)for(var e=0;b-6>e;e++)a.isDark(d,e)&&!a.isDark(d,e+1)&&a.isDark(d,e+2)&&a.isDark(d,e+3)&&a.isDark(d,e+4)&&!a.isDark(d,e+5)&&a.isDark(d,e+6)&&(c+=40);for(var e=0;b>e;e++)for(var d=0;b-6>d;d++)a.isDark(d,e)&&!a.isDark(d+1,e)&&a.isDark(d+2,e)&&a.isDark(d+3,e)&&a.isDark(d+4,e)&&!a.isDark(d+5,e)&&a.isDark(d+6,e)&&(c+=40);for(var k=0,e=0;b>e;e++)for(var d=0;b>d;d++)a.isDark(d,e)&&k++;var l=Math.abs(100*k/b/b-50)/5;return c+=10*l}},g={glog:function(a){if(1>a)throw new Error("glog("+a+")");return g.LOG_TABLE[a]},gexp:function(a){for(;0>a;)a+=255;for(;a>=256;)a-=255;return g.EXP_TABLE[a]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},h=0;8>h;h++)g.EXP_TABLE[h]=1<h;h++)g.EXP_TABLE[h]=g.EXP_TABLE[h-4]^g.EXP_TABLE[h-5]^g.EXP_TABLE[h-6]^g.EXP_TABLE[h-8];for(var h=0;255>h;h++)g.LOG_TABLE[g.EXP_TABLE[h]]=h;i.prototype={get:function(a){return this.num[a]},getLength:function(){return this.num.length},multiply:function(a){for(var b=new Array(this.getLength()+a.getLength()-1),c=0;cf;f++)for(var g=c[3*f+0],h=c[3*f+1],i=c[3*f+2],k=0;g>k;k++)e.push(new j(h,i));return e},j.getRsBlockTable=function(a,b){switch(b){case d.L:return j.RS_BLOCK_TABLE[4*(a-1)+0];case d.M:return j.RS_BLOCK_TABLE[4*(a-1)+1];case d.Q:return j.RS_BLOCK_TABLE[4*(a-1)+2];case d.H:return j.RS_BLOCK_TABLE[4*(a-1)+3];default:return void 0}},k.prototype={get:function(a){var b=Math.floor(a/8);return 1==(1&this.buffer[b]>>>7-a%8)},put:function(a,b){for(var c=0;b>c;c++)this.putBit(1==(1&a>>>b-c-1))},getLengthInBits:function(){return this.length},putBit:function(a){var b=Math.floor(this.length/8);this.buffer.length<=b&&this.buffer.push(0),a&&(this.buffer[b]|=128>>>this.length%8),this.length++}};var l=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]],o=function(){var a=function(a,b){this._el=a,this._htOption=b};return a.prototype.draw=function(a){function g(a,b){var c=document.createElementNS("http://www.w3.org/2000/svg",a);for(var d in b)b.hasOwnProperty(d)&&c.setAttribute(d,b[d]);return c}var b=this._htOption,c=this._el,d=a.getModuleCount();Math.floor(b.width/d),Math.floor(b.height/d),this.clear();var h=g("svg",{viewBox:"0 0 "+String(d)+" "+String(d),width:"100%",height:"100%",fill:b.colorLight});h.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),c.appendChild(h),h.appendChild(g("rect",{fill:b.colorDark,width:"1",height:"1",id:"template"}));for(var i=0;d>i;i++)for(var j=0;d>j;j++)if(a.isDark(i,j)){var k=g("use",{x:String(i),y:String(j)});k.setAttributeNS("http://www.w3.org/1999/xlink","href","#template"),h.appendChild(k)}},a.prototype.clear=function(){for(;this._el.hasChildNodes();)this._el.removeChild(this._el.lastChild)},a}(),p="svg"===document.documentElement.tagName.toLowerCase(),q=p?o:m()?function(){function a(){this._elImage.src=this._elCanvas.toDataURL("image/png"),this._elImage.style.display="block",this._elCanvas.style.display="none"}function d(a,b){var c=this;if(c._fFail=b,c._fSuccess=a,null===c._bSupportDataURI){var d=document.createElement("img"),e=function(){c._bSupportDataURI=!1,c._fFail&&_fFail.call(c)},f=function(){c._bSupportDataURI=!0,c._fSuccess&&c._fSuccess.call(c)};return d.onabort=e,d.onerror=e,d.onload=f,d.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",void 0}c._bSupportDataURI===!0&&c._fSuccess?c._fSuccess.call(c):c._bSupportDataURI===!1&&c._fFail&&c._fFail.call(c)}if(this._android&&this._android<=2.1){var b=1/window.devicePixelRatio,c=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(a,d,e,f,g,h,i,j){if("nodeName"in a&&/img/i.test(a.nodeName))for(var l=arguments.length-1;l>=1;l--)arguments[l]=arguments[l]*b;else"undefined"==typeof j&&(arguments[1]*=b,arguments[2]*=b,arguments[3]*=b,arguments[4]*=b);c.apply(this,arguments)}}var e=function(a,b){this._bIsPainted=!1,this._android=n(),this._htOption=b,this._elCanvas=document.createElement("canvas"),this._elCanvas.width=b.width,this._elCanvas.height=b.height,a.appendChild(this._elCanvas),this._el=a,this._oContext=this._elCanvas.getContext("2d"),this._bIsPainted=!1,this._elImage=document.createElement("img"),this._elImage.style.display="none",this._el.appendChild(this._elImage),this._bSupportDataURI=null};return e.prototype.draw=function(a){var b=this._elImage,c=this._oContext,d=this._htOption,e=a.getModuleCount(),f=d.width/e,g=d.height/e,h=Math.round(f),i=Math.round(g);b.style.display="none",this.clear();for(var j=0;e>j;j++)for(var k=0;e>k;k++){var l=a.isDark(j,k),m=k*f,n=j*g;c.strokeStyle=l?d.colorDark:d.colorLight,c.lineWidth=1,c.fillStyle=l?d.colorDark:d.colorLight,c.fillRect(m,n,f,g),c.strokeRect(Math.floor(m)+.5,Math.floor(n)+.5,h,i),c.strokeRect(Math.ceil(m)-.5,Math.ceil(n)-.5,h,i)}this._bIsPainted=!0},e.prototype.makeImage=function(){this._bIsPainted&&d.call(this,a)},e.prototype.isPainted=function(){return this._bIsPainted},e.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},e.prototype.round=function(a){return a?Math.floor(1e3*a)/1e3:a},e}():function(){var a=function(a,b){this._el=a,this._htOption=b};return a.prototype.draw=function(a){for(var b=this._htOption,c=this._el,d=a.getModuleCount(),e=Math.floor(b.width/d),f=Math.floor(b.height/d),g=[''],h=0;d>h;h++){g.push("");for(var i=0;d>i;i++)g.push('');g.push("")}g.push("
"),c.innerHTML=g.join("");var j=c.childNodes[0],k=(b.width-j.offsetWidth)/2,l=(b.height-j.offsetHeight)/2;k>0&&l>0&&(j.style.margin=l+"px "+k+"px")},a.prototype.clear=function(){this._el.innerHTML=""},a}();QRCode=function(a,b){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:d.H},"string"==typeof b&&(b={text:b}),b)for(var c in b)this._htOption[c]=b[c];"string"==typeof a&&(a=document.getElementById(a)),this._android=n(),this._el=a,this._oQRCode=null,this._oDrawing=new q(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)},QRCode.prototype.makeCode=function(a){this._oQRCode=new b(r(a,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(a),this._oQRCode.make(),this._el.title=a,this._oDrawing.draw(this._oQRCode),this.makeImage()},QRCode.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},QRCode.prototype.clear=function(){this._oDrawing.clear()},QRCode.CorrectLevel=d}(); \ No newline at end of file diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 57bed19275..c4ea677901 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -320,44 +320,6 @@ class AjaxView(AjaxMixin, View): return self.renderJsonResponse(request) -class QRCodeView(AjaxView): - """An 'AJAXified' view for displaying a QR code. - - Subclasses should implement the get_qr_data(self) function. - """ - - ajax_template_name = "qr_code.html" - - def get(self, request, *args, **kwargs): - """Return json with qr-code data.""" - self.request = request - self.pk = self.kwargs['pk'] - return self.renderJsonResponse(request, None, context=self.get_context_data()) - - def get_qr_data(self): - """Returns the text object to render to a QR code. - - The actual rendering will be handled by the template - """ - return None - - def get_context_data(self): - """Get context data for passing to the rendering template. - - Explicity passes the parameter 'qr_data' - """ - context = {} - - qr = self.get_qr_data() - - if qr: - context['qr_data'] = qr - else: - context['error_msg'] = 'Error generating QR code' - - return context - - class AjaxUpdateView(AjaxMixin, UpdateView): """An 'AJAXified' UpdateView for updating an object in the db. diff --git a/InvenTree/company/templates/company/supplier_part.html b/InvenTree/company/templates/company/supplier_part.html index 32c5f425aa..82d0311f96 100644 --- a/InvenTree/company/templates/company/supplier_part.html +++ b/InvenTree/company/templates/company/supplier_part.html @@ -270,10 +270,10 @@ src="{% static 'img/blank_image.png' %}" {% if barcodes %} $("#show-qr-code").click(function() { - launchModalForm("{% url 'supplier-part-qr' part.pk %}", - { - no_post: true, - }); + showQRDialog( + '{% trans "Supplier Part QR Code" %}', + '{"supplierpart": {{ part.pk }}}' + ); }); $("#barcode-link").click(function() { diff --git a/InvenTree/company/urls.py b/InvenTree/company/urls.py index 34aa85a366..8ab73ba2b2 100644 --- a/InvenTree/company/urls.py +++ b/InvenTree/company/urls.py @@ -26,7 +26,6 @@ manufacturer_part_urls = [ supplier_part_urls = [ re_path(r'^(?P\d+)/', include([ - re_path('^qr_code/?', views.SupplierPartQRCode.as_view(), name='supplier-part-qr'), re_path('^.*$', views.SupplierPartDetail.as_view(template_name='company/supplier_part.html'), name='supplier-part-detail'), ])) diff --git a/InvenTree/company/views.py b/InvenTree/company/views.py index 96411bb493..147e5e407d 100644 --- a/InvenTree/company/views.py +++ b/InvenTree/company/views.py @@ -4,7 +4,7 @@ from django.urls import reverse from django.utils.translation import gettext_lazy as _ from django.views.generic import DetailView, ListView -from InvenTree.views import InvenTreeRoleMixin, QRCodeView +from InvenTree.views import InvenTreeRoleMixin from plugin.views import InvenTreePluginViewMixin from .models import Company, ManufacturerPart, SupplierPart @@ -112,18 +112,3 @@ class SupplierPartDetail(InvenTreePluginViewMixin, DetailView): context_object_name = 'part' queryset = SupplierPart.objects.all() permission_required = 'purchase_order.view' - - -class SupplierPartQRCode(QRCodeView): - """View for displaying a QR code for a StockItem object.""" - - ajax_form_title = _("Stock Item QR Code") - role_required = 'stock.view' - - def get_qr_data(self): - """Generate QR code data for the StockItem.""" - try: - part = SupplierPart.objects.get(id=self.pk) - return part.format_barcode() - except SupplierPart.DoesNotExist: - return None diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index bfc2a426ea..d42b60f1bb 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -2118,9 +2118,6 @@ part_api_urls = [ # BOM download re_path(r'^bom-download/?', views.BomDownload.as_view(), name='api-bom-download'), - # QR code download - re_path(r'^qr_code/?', views.PartQRCode.as_view(), name='api-part-qr'), - # Old pricing endpoint re_path(r'^pricing2/', views.PartPricing.as_view(), name='part-pricing'), diff --git a/InvenTree/part/templates/part/part_base.html b/InvenTree/part/templates/part/part_base.html index e4df634c13..891fc0fdd2 100644 --- a/InvenTree/part/templates/part/part_base.html +++ b/InvenTree/part/templates/part/part_base.html @@ -447,11 +447,9 @@ {% if barcodes %} $("#show-qr-code").click(function() { - launchModalForm( - "{% url 'api-part-qr' part.id %}", - { - no_post: true, - } + showQRDialog( + '{% trans "Part QR Code" %}', + '{"part": {{ part.pk }}}', ); }); diff --git a/InvenTree/part/test_views.py b/InvenTree/part/test_views.py index 469ef4ec8e..5471da647b 100644 --- a/InvenTree/part/test_views.py +++ b/InvenTree/part/test_views.py @@ -113,28 +113,3 @@ class PartDetailTest(PartViewTestCase): response = self.client.get(reverse('api-bom-download', args=(1,)), HTTP_X_REQUESTED_WITH='XMLHttpRequest') self.assertEqual(response.status_code, 200) self.assertIn('streaming_content', dir(response)) - - -class PartQRTest(PartViewTestCase): - """Tests for the Part QR Code AJAX view.""" - - def test_html_redirect(self): - """A HTML request for a QR code should be redirected (use an AJAX request instead)""" - response = self.client.get(reverse('api-part-qr', args=(1,))) - self.assertEqual(response.status_code, 302) - - def test_valid_part(self): - """Test QR code response for a Part""" - response = self.client.get(reverse('api-part-qr', args=(1,)), HTTP_X_REQUESTED_WITH='XMLHttpRequest') - self.assertEqual(response.status_code, 200) - - data = str(response.content) - - self.assertIn('Part QR Code', data) - self.assertIn('\d+)/', include([ - re_path(r'^qr_code/?', views.StockLocationQRCode.as_view(), name='stock-location-qr'), - # Anything else - direct to the location detail view re_path('^.*$', views.StockLocationDetail.as_view(), name='stock-location-detail'), ])), @@ -16,8 +14,6 @@ location_urls = [ ] stock_item_detail_urls = [ - re_path(r'^qr_code/', views.StockItemQRCode.as_view(), name='stock-item-qr'), - # Anything else - direct to the item detail view re_path('^.*$', views.StockItemDetail.as_view(), name='stock-item-detail'), ] diff --git a/InvenTree/stock/views.py b/InvenTree/stock/views.py index 6177972259..22d3964e30 100644 --- a/InvenTree/stock/views.py +++ b/InvenTree/stock/views.py @@ -2,11 +2,10 @@ from django.http import HttpResponseRedirect from django.urls import reverse -from django.utils.translation import gettext_lazy as _ from django.views.generic import DetailView, ListView import common.settings -from InvenTree.views import InvenTreeRoleMixin, QRCodeView +from InvenTree.views import InvenTreeRoleMixin from plugin.views import InvenTreePluginViewMixin from .models import StockItem, StockLocation @@ -101,34 +100,3 @@ class StockItemDetail(InvenTreeRoleMixin, InvenTreePluginViewMixin, DetailView): return HttpResponseRedirect(reverse('stock-index')) return super().get(request, *args, **kwargs) - - -class StockLocationQRCode(QRCodeView): - """View for displaying a QR code for a StockLocation object.""" - - ajax_form_title = _("Stock Location QR code") - - role_required = ['stock_location.view', 'stock.view'] - - def get_qr_data(self): - """Generate QR code data for the StockLocation.""" - try: - loc = StockLocation.objects.get(id=self.pk) - return loc.format_barcode() - except StockLocation.DoesNotExist: - return None - - -class StockItemQRCode(QRCodeView): - """View for displaying a QR code for a StockItem object.""" - - ajax_form_title = _("Stock Item QR Code") - role_required = 'stock.view' - - def get_qr_data(self): - """Generate QR code data for the StockItem.""" - try: - item = StockItem.objects.get(id=self.pk) - return item.format_barcode() - except StockItem.DoesNotExist: - return None diff --git a/InvenTree/templates/js/translated/modals.js b/InvenTree/templates/js/translated/modals.js index f2639f580b..01eb244a96 100644 --- a/InvenTree/templates/js/translated/modals.js +++ b/InvenTree/templates/js/translated/modals.js @@ -15,6 +15,7 @@ getFieldValue, reloadFieldOptions, showModalImage, + showQRDialog, showQuestionDialog, showModalSpinner, */ @@ -590,19 +591,18 @@ function renderErrorMessage(xhr) { } +/* Display a modal dialog message box. +* +* title - Title text +* content - HTML content of the dialog window +*/ function showAlertDialog(title, content, options={}) { - /* Display a modal dialog message box. - * - * title - Title text - * content - HTML content of the dialog window - */ if (options.alert_style) { // Wrap content in an alert block content = `
${content}
`; } - var modal = createNewModal({ title: title, closeText: '{% trans "Close" %}', @@ -612,6 +612,36 @@ function showAlertDialog(title, content, options={}) { modalSetContent(modal, content); $(modal).modal('show'); + + if (options.after_render) { + options.after_render(modal); + } +} + + +/* + * Display a simple modal window with a QR code + */ +function showQRDialog(title, data, options={}) { + + let content = ` +
+
+
`; + + options.after_render = function(modal) { + let qrcode = new QRCode('qrcode', { + width: 256, + height: 256, + }); + qrcode.makeCode(data); + }; + + showAlertDialog( + title, + content, + options + ); } diff --git a/InvenTree/templates/third_party_js.html b/InvenTree/templates/third_party_js.html index 0a233114eb..8f6c5eccc3 100644 --- a/InvenTree/templates/third_party_js.html +++ b/InvenTree/templates/third_party_js.html @@ -35,3 +35,4 @@ + From 139274f356de7c04e998f9ddc4028c83fa8c072d Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 18 Feb 2023 11:42:53 +1100 Subject: [PATCH 010/140] Bug fix for ensuring location and category names are unique for common parent (#4361) * Update Meta class for StockLocation and PartCategory * Migration files * Add extra unique requirements to InvenTreeTree model - unique_together does not work as expected with null values --- InvenTree/InvenTree/models.py | 40 +++++++++++++------ InvenTree/part/models.py | 12 +++--- .../migrations/0093_auto_20230217_2140.py | 17 ++++++++ InvenTree/stock/models.py | 6 +++ 4 files changed, 57 insertions(+), 18 deletions(-) create mode 100644 InvenTree/stock/migrations/0093_auto_20230217_2140.py diff --git a/InvenTree/InvenTree/models.py b/InvenTree/InvenTree/models.py index 3a3dacd04b..1d44776e8d 100644 --- a/InvenTree/InvenTree/models.py +++ b/InvenTree/InvenTree/models.py @@ -501,6 +501,34 @@ class InvenTreeTree(MPTTModel): parent: The item immediately above this one. An item with a null parent is a top-level item """ + class Meta: + """Metaclass defines extra model properties.""" + + abstract = True + + class MPTTMeta: + """Set insert order.""" + order_insertion_by = ['name'] + + def validate_unique(self, exclude=None): + """Validate that this tree instance satisfies our uniqueness requirements. + + Note that a 'unique_together' requirement for ('name', 'parent') is insufficient, + as it ignores cases where parent=None (i.e. top-level items) + """ + + super().validate_unique(exclude) + + results = self.__class__.objects.filter( + name=self.name, + parent=self.parent + ).exclude(pk=self.pk) + + if results.exists(): + raise ValidationError({ + 'name': _('Duplicate names cannot exist under the same parent') + }) + def api_instance_filters(self): """Instance filters for InvenTreeTree models.""" return { @@ -539,18 +567,6 @@ class InvenTreeTree(MPTTModel): for child in self.get_children(): child.save(*args, **kwargs) - class Meta: - """Metaclass defines extra model properties.""" - - abstract = True - - # Names must be unique at any given level in the tree - unique_together = ('name', 'parent') - - class MPTTMeta: - """Set insert order.""" - order_insertion_by = ['name'] - name = models.CharField( blank=False, max_length=100, diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 04e230eb2a..c7faa25d6b 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -66,6 +66,11 @@ class PartCategory(MetadataMixin, InvenTreeTree): default_keywords: Default keywords for parts created in this category """ + class Meta: + """Metaclass defines extra model properties""" + verbose_name = _("Part Category") + verbose_name_plural = _("Part Categories") + def delete_recursive(self, *args, **kwargs): """This function handles the recursive deletion of subcategories depending on kwargs contents""" delete_parts = kwargs.get('delete_parts', False) @@ -154,11 +159,6 @@ class PartCategory(MetadataMixin, InvenTreeTree): "are already assigned to it!")) super().clean() - class Meta: - """Metaclass defines extra model properties""" - verbose_name = _("Part Category") - verbose_name_plural = _("Part Categories") - def get_parts(self, cascade=True) -> set[Part]: """Return a queryset for all parts under this category. @@ -747,7 +747,7 @@ class Part(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel): return helpers.getBlankThumbnail() def validate_unique(self, exclude=None): - """Validate that a part is 'unique'. + """Validate that this Part instance is 'unique'. Uniqueness is checked across the following (case insensitive) fields: - Name diff --git a/InvenTree/stock/migrations/0093_auto_20230217_2140.py b/InvenTree/stock/migrations/0093_auto_20230217_2140.py new file mode 100644 index 0000000000..5629f8b4ee --- /dev/null +++ b/InvenTree/stock/migrations/0093_auto_20230217_2140.py @@ -0,0 +1,17 @@ +# Generated by Django 3.2.16 on 2023-02-17 21:40 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('stock', '0092_alter_stockitem_updated'), + ] + + operations = [ + migrations.AlterModelOptions( + name='stocklocation', + options={'verbose_name': 'Stock Location', 'verbose_name_plural': 'Stock Locations'}, + ), + ] diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 2d0cfdb86d..582151b17f 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -47,6 +47,12 @@ class StockLocation(InvenTreeBarcodeMixin, MetadataMixin, InvenTreeTree): Stock locations can be hierarchical as required """ + class Meta: + """Metaclass defines extra model properties""" + + verbose_name = _('Stock Location') + verbose_name_plural = _('Stock Locations') + def delete_recursive(self, *args, **kwargs): """This function handles the recursive deletion of sub-locations depending on kwargs contents""" delete_stock_items = kwargs.get('delete_stock_items', False) From cc2e7ee8a5dfc3df70b11a87fb68a846ef36e459 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 18 Feb 2023 18:51:00 +1100 Subject: [PATCH 011/140] Move Meta class to top of class definition (#4363) --- InvenTree/InvenTree/forms.py | 20 +- InvenTree/InvenTree/models.py | 20 +- InvenTree/build/admin.py | 22 +- InvenTree/build/models.py | 20 +- InvenTree/build/serializers.py | 151 +++++------ InvenTree/common/models.py | 30 +-- InvenTree/common/serializers.py | 62 ++--- InvenTree/company/admin.py | 42 +-- InvenTree/company/api.py | 18 +- InvenTree/company/models.py | 54 ++-- InvenTree/company/serializers.py | 250 ++++++++--------- InvenTree/label/serializers.py | 12 +- InvenTree/order/admin.py | 52 ++-- InvenTree/order/api.py | 18 +- InvenTree/order/models.py | 11 +- InvenTree/order/serializers.py | 407 ++++++++++++++-------------- InvenTree/part/admin.py | 94 +++---- InvenTree/part/forms.py | 14 +- InvenTree/part/models.py | 64 ++--- InvenTree/part/serializers.py | 450 +++++++++++++++---------------- InvenTree/plugin/serializers.py | 32 +-- InvenTree/report/models.py | 9 +- InvenTree/report/serializers.py | 17 +- InvenTree/stock/admin.py | 54 ++-- InvenTree/stock/serializers.py | 222 +++++++-------- InvenTree/users/models.py | 16 +- InvenTree/users/serializers.py | 8 +- 27 files changed, 1085 insertions(+), 1084 deletions(-) diff --git a/InvenTree/InvenTree/forms.py b/InvenTree/InvenTree/forms.py index 7078448d56..6c0a28faa4 100644 --- a/InvenTree/InvenTree/forms.py +++ b/InvenTree/InvenTree/forms.py @@ -126,6 +126,16 @@ class EditUserForm(HelperForm): class SetPasswordForm(HelperForm): """Form for setting user password.""" + class Meta: + """Metaclass options.""" + + model = User + fields = [ + 'enter_password', + 'confirm_password', + 'old_password', + ] + enter_password = forms.CharField( max_length=100, min_length=8, @@ -152,16 +162,6 @@ class SetPasswordForm(HelperForm): widget=forms.PasswordInput(attrs={'autocomplete': 'current-password', 'autofocus': True}), ) - class Meta: - """Metaclass options.""" - - model = User - fields = [ - 'enter_password', - 'confirm_password', - 'old_password', - ] - # override allauth class CustomSignupForm(SignupForm): diff --git a/InvenTree/InvenTree/models.py b/InvenTree/InvenTree/models.py index 1d44776e8d..61adfe8e4b 100644 --- a/InvenTree/InvenTree/models.py +++ b/InvenTree/InvenTree/models.py @@ -116,6 +116,11 @@ class ReferenceIndexingMixin(models.Model): # Name of the global setting which defines the required reference pattern for this model REFERENCE_PATTERN_SETTING = None + class Meta: + """Metaclass options. Abstract ensures no database table is created.""" + + abstract = True + @classmethod def get_reference_pattern(cls): """Returns the reference pattern associated with this model. @@ -272,11 +277,6 @@ class ReferenceIndexingMixin(models.Model): # Check that the reference field can be rebuild cls.rebuild_reference_field(value, validate=True) - class Meta: - """Metaclass options. Abstract ensures no database table is created.""" - - abstract = True - @classmethod def rebuild_reference_field(cls, reference, validate=False): """Extract integer out of reference for sorting. @@ -369,6 +369,10 @@ class InvenTreeAttachment(models.Model): upload_date: Date the file was uploaded """ + class Meta: + """Metaclass options. Abstract ensures no database table is created.""" + abstract = True + def getSubdir(self): """Return the subdirectory under which attachments should be stored. @@ -483,11 +487,6 @@ class InvenTreeAttachment(models.Model): except Exception: raise ValidationError(_("Error renaming file")) - class Meta: - """Metaclass options. Abstract ensures no database table is created.""" - - abstract = True - class InvenTreeTree(MPTTModel): """Provides an abstracted self-referencing tree model for data categories. @@ -503,7 +502,6 @@ class InvenTreeTree(MPTTModel): class Meta: """Metaclass defines extra model properties.""" - abstract = True class MPTTMeta: diff --git a/InvenTree/build/admin.py b/InvenTree/build/admin.py index 6f203d071b..d15b9a0154 100644 --- a/InvenTree/build/admin.py +++ b/InvenTree/build/admin.py @@ -17,6 +17,17 @@ class BuildResource(InvenTreeResource): # but we don't for other ones. # TODO: 2022-05-12 - Need to investigate why this is the case! + class Meta: + """Metaclass options""" + models = Build + skip_unchanged = True + report_skipped = False + clean_model_instances = True + exclude = [ + 'lft', 'rght', 'tree_id', 'level', + 'metadata', + ] + id = Field(attribute='pk') reference = Field(attribute='reference') @@ -39,17 +50,6 @@ class BuildResource(InvenTreeResource): notes = Field(attribute='notes') - class Meta: - """Metaclass options""" - models = Build - skip_unchanged = True - report_skipped = False - clean_model_instances = True - exclude = [ - 'lft', 'rght', 'tree_id', 'level', - 'metadata', - ] - class BuildAdmin(ImportExportModelAdmin): """Class for managing the Build model via the admin interface""" diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 13b09ce000..091d656d9e 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -64,6 +64,11 @@ class Build(MPTTModel, ReferenceIndexingMixin): priority: Priority of the build """ + class Meta: + """Metaclass options for the BuildOrder model""" + verbose_name = _("Build Order") + verbose_name_plural = _("Build Orders") + OVERDUE_FILTER = Q(status__in=BuildStatus.ACTIVE_CODES) & ~Q(target_date=None) & Q(target_date__lte=datetime.now().date()) # Global setting for specifying reference pattern @@ -106,11 +111,6 @@ class Build(MPTTModel, ReferenceIndexingMixin): 'parent': _('Invalid choice for parent build'), }) - class Meta: - """Metaclass options for the BuildOrder model""" - verbose_name = _("Build Order") - verbose_name_plural = _("Build Orders") - @staticmethod def filterByDate(queryset, min_date, max_date): """Filter by 'minimum and maximum date range'. @@ -1153,17 +1153,17 @@ class BuildItem(models.Model): install_into: Destination stock item (or None) """ - @staticmethod - def get_api_url(): - """Return the API URL used to access this model""" - return reverse('api-build-item-list') - class Meta: """Serializer metaclass""" unique_together = [ ('build', 'stock_item', 'install_into'), ] + @staticmethod + def get_api_url(): + """Return the API URL used to access this model""" + return reverse('api-build-item-list') + def save(self, *args, **kwargs): """Custom save method for the BuildItem model""" self.clean() diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index 78d3dc98ae..5bacad8845 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -30,7 +30,48 @@ from .models import Build, BuildItem, BuildOrderAttachment class BuildSerializer(InvenTreeModelSerializer): """Serializes a Build object.""" + class Meta: + """Serializer metaclass""" + model = Build + fields = [ + 'pk', + 'url', + 'title', + 'batch', + 'creation_date', + 'completed', + 'completion_date', + 'destination', + 'parent', + 'part', + 'part_detail', + 'overdue', + 'reference', + 'sales_order', + 'quantity', + 'status', + 'status_text', + 'target_date', + 'take_from', + 'notes', + 'link', + 'issued_by', + 'issued_by_detail', + 'responsible', + 'responsible_detail', + 'priority', + ] + + read_only_fields = [ + 'completed', + 'creation_date', + 'completion_data', + 'status', + 'status_text', + ] + url = serializers.CharField(source='get_absolute_url', read_only=True) + status_text = serializers.CharField(source='get_status_display', read_only=True) part_detail = PartBriefSerializer(source='part', many=False, read_only=True) @@ -83,46 +124,6 @@ class BuildSerializer(InvenTreeModelSerializer): return reference - class Meta: - """Serializer metaclass""" - model = Build - fields = [ - 'pk', - 'url', - 'title', - 'batch', - 'creation_date', - 'completed', - 'completion_date', - 'destination', - 'parent', - 'part', - 'part_detail', - 'overdue', - 'reference', - 'sales_order', - 'quantity', - 'status', - 'status_text', - 'target_date', - 'take_from', - 'notes', - 'link', - 'issued_by', - 'issued_by_detail', - 'responsible', - 'responsible_detail', - 'priority', - ] - - read_only_fields = [ - 'completed', - 'creation_date', - 'completion_data', - 'status', - 'status_text', - ] - class BuildOutputSerializer(serializers.Serializer): """Serializer for a "BuildOutput". @@ -130,6 +131,12 @@ class BuildOutputSerializer(serializers.Serializer): Note that a "BuildOutput" is really just a StockItem which is "in production"! """ + class Meta: + """Serializer metaclass""" + fields = [ + 'output', + ] + output = serializers.PrimaryKeyRelatedField( queryset=StockItem.objects.all(), many=False, @@ -170,12 +177,6 @@ class BuildOutputSerializer(serializers.Serializer): return output - class Meta: - """Serializer metaclass""" - fields = [ - 'output', - ] - class BuildOutputCreateSerializer(serializers.Serializer): """Serializer for creating a new BuildOutput against a BuildOrder. @@ -633,6 +634,15 @@ class BuildUnallocationSerializer(serializers.Serializer): class BuildAllocationItemSerializer(serializers.Serializer): """A serializer for allocating a single stock item against a build order.""" + class Meta: + """Serializer metaclass""" + fields = [ + 'bom_item', + 'stock_item', + 'quantity', + 'output', + ] + bom_item = serializers.PrimaryKeyRelatedField( queryset=BomItem.objects.all(), many=False, @@ -693,15 +703,6 @@ class BuildAllocationItemSerializer(serializers.Serializer): label=_('Build Output'), ) - class Meta: - """Serializer metaclass""" - fields = [ - 'bom_item', - 'stock_item', - 'quantity', - 'output', - ] - def validate(self, data): """Perform data validation for this item""" super().validate(data) @@ -751,14 +752,14 @@ class BuildAllocationItemSerializer(serializers.Serializer): class BuildAllocationSerializer(serializers.Serializer): """DRF serializer for allocation stock items against a build order.""" - items = BuildAllocationItemSerializer(many=True) - class Meta: """Serializer metaclass""" fields = [ 'items', ] + items = BuildAllocationItemSerializer(many=True) + def validate(self, data): """Validation.""" data = super().validate(data) @@ -870,6 +871,24 @@ class BuildAutoAllocationSerializer(serializers.Serializer): class BuildItemSerializer(InvenTreeModelSerializer): """Serializes a BuildItem object.""" + class Meta: + """Serializer metaclass""" + model = BuildItem + fields = [ + 'pk', + 'bom_part', + 'build', + 'build_detail', + 'install_into', + 'location', + 'location_detail', + 'part', + 'part_detail', + 'stock_item', + 'stock_item_detail', + 'quantity' + ] + bom_part = serializers.IntegerField(source='bom_item.sub_part.pk', read_only=True) part = serializers.IntegerField(source='stock_item.part.pk', read_only=True) location = serializers.IntegerField(source='stock_item.location.pk', read_only=True) @@ -903,24 +922,6 @@ class BuildItemSerializer(InvenTreeModelSerializer): if not stock_detail: self.fields.pop('stock_item_detail') - class Meta: - """Serializer metaclass""" - model = BuildItem - fields = [ - 'pk', - 'bom_part', - 'build', - 'build_detail', - 'install_into', - 'location', - 'location_detail', - 'part', - 'part_detail', - 'stock_item', - 'stock_item_detail', - 'quantity' - ] - class BuildAttachmentSerializer(InvenTreeAttachmentSerializer): """Serializer for a BuildAttachment.""" diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index e906e81b70..3f251fd0b8 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -852,6 +852,12 @@ class InvenTreeSetting(BaseInvenTreeSetting): even if that key does not exist. """ + class Meta: + """Meta options for InvenTreeSetting.""" + + verbose_name = "InvenTree Setting" + verbose_name_plural = "InvenTree Settings" + def save(self, *args, **kwargs): """When saving a global setting, check to see if it requires a server restart. @@ -1601,12 +1607,6 @@ class InvenTreeSetting(BaseInvenTreeSetting): typ = 'inventree' - class Meta: - """Meta options for InvenTreeSetting.""" - - verbose_name = "InvenTree Setting" - verbose_name_plural = "InvenTree Settings" - key = models.CharField( max_length=50, blank=False, @@ -1631,6 +1631,15 @@ class InvenTreeSetting(BaseInvenTreeSetting): class InvenTreeUserSetting(BaseInvenTreeSetting): """An InvenTreeSetting object with a usercontext.""" + class Meta: + """Meta options for InvenTreeUserSetting.""" + + verbose_name = "InvenTree User Setting" + verbose_name_plural = "InvenTree User Settings" + constraints = [ + models.UniqueConstraint(fields=['key', 'user'], name='unique key and user') + ] + SETTINGS = { 'HOMEPAGE_PART_STARRED': { 'name': _('Show subscribed parts'), @@ -1947,15 +1956,6 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): typ = 'user' - class Meta: - """Meta options for InvenTreeUserSetting.""" - - verbose_name = "InvenTree User Setting" - verbose_name_plural = "InvenTree User Settings" - constraints = [ - models.UniqueConstraint(fields=['key', 'user'], name='unique key and user') - ] - key = models.CharField( max_length=50, blank=False, diff --git a/InvenTree/common/serializers.py b/InvenTree/common/serializers.py index 8444e85085..7b6998da5a 100644 --- a/InvenTree/common/serializers.py +++ b/InvenTree/common/serializers.py @@ -77,8 +77,6 @@ class GlobalSettingsSerializer(SettingsSerializer): class UserSettingsSerializer(SettingsSerializer): """Serializer for the InvenTreeUserSetting model.""" - user = serializers.PrimaryKeyRelatedField(read_only=True) - class Meta: """Meta options for UserSettingsSerializer.""" @@ -97,6 +95,8 @@ class UserSettingsSerializer(SettingsSerializer): 'typ', ] + user = serializers.PrimaryKeyRelatedField(read_only=True) + class GenericReferencedSettingSerializer(SettingsSerializer): """Serializer for a GenericReferencedSetting model. @@ -140,6 +140,33 @@ class GenericReferencedSettingSerializer(SettingsSerializer): class NotificationMessageSerializer(InvenTreeModelSerializer): """Serializer for the InvenTreeUserSetting model.""" + class Meta: + """Meta options for NotificationMessageSerializer.""" + + model = NotificationMessage + fields = [ + 'pk', + 'target', + 'source', + 'user', + 'category', + 'name', + 'message', + 'creation', + 'age', + 'age_human', + 'read', + ] + + read_only_fields = [ + 'category', + 'name', + 'message', + 'creation', + 'age', + 'age_human', + ] + target = serializers.SerializerMethodField(read_only=True) source = serializers.SerializerMethodField(read_only=True) user = serializers.PrimaryKeyRelatedField(read_only=True) @@ -170,39 +197,10 @@ class NotificationMessageSerializer(InvenTreeModelSerializer): """Function to resolve generic object reference to source.""" return get_objectreference(obj, 'source_content_type', 'source_object_id') - class Meta: - """Meta options for NotificationMessageSerializer.""" - - model = NotificationMessage - fields = [ - 'pk', - 'target', - 'source', - 'user', - 'category', - 'name', - 'message', - 'creation', - 'age', - 'age_human', - 'read', - ] - - read_only_fields = [ - 'category', - 'name', - 'message', - 'creation', - 'age', - 'age_human', - ] - class NewsFeedEntrySerializer(InvenTreeModelSerializer): """Serializer for the NewsFeedEntry model.""" - read = serializers.BooleanField() - class Meta: """Meta options for NewsFeedEntrySerializer.""" @@ -218,6 +216,8 @@ class NewsFeedEntrySerializer(InvenTreeModelSerializer): 'read', ] + read = serializers.BooleanField() + class ConfigSerializer(serializers.Serializer): """Serializer for the InvenTree configuration. diff --git a/InvenTree/company/admin.py b/InvenTree/company/admin.py index 1c1c98e6a1..dc1aa2ba72 100644 --- a/InvenTree/company/admin.py +++ b/InvenTree/company/admin.py @@ -41,6 +41,13 @@ class CompanyAdmin(ImportExportModelAdmin): class SupplierPartResource(InvenTreeResource): """Class for managing SupplierPart data import/export.""" + class Meta: + """Metaclass defines extra admin options""" + model = SupplierPart + skip_unchanged = True + report_skipped = True + clean_model_instances = True + part = Field(attribute='part', widget=widgets.ForeignKeyWidget(Part)) part_name = Field(attribute='part__full_name', readonly=True) @@ -49,13 +56,6 @@ class SupplierPartResource(InvenTreeResource): supplier_name = Field(attribute='supplier__name', readonly=True) - class Meta: - """Metaclass defines extra admin options""" - model = SupplierPart - skip_unchanged = True - report_skipped = True - clean_model_instances = True - class SupplierPriceBreakInline(admin.TabularInline): """Inline for supplier-part pricing""" @@ -87,6 +87,13 @@ class SupplierPartAdmin(ImportExportModelAdmin): class ManufacturerPartResource(InvenTreeResource): """Class for managing ManufacturerPart data import/export.""" + class Meta: + """Metaclass defines extra admin options""" + model = ManufacturerPart + skip_unchanged = True + report_skipped = True + clean_model_instances = True + part = Field(attribute='part', widget=widgets.ForeignKeyWidget(Part)) part_name = Field(attribute='part__full_name', readonly=True) @@ -95,13 +102,6 @@ class ManufacturerPartResource(InvenTreeResource): manufacturer_name = Field(attribute='manufacturer__name', readonly=True) - class Meta: - """Metaclass defines extra admin options""" - model = ManufacturerPart - skip_unchanged = True - report_skipped = True - clean_model_instances = True - class ManufacturerPartAdmin(ImportExportModelAdmin): """Admin class for ManufacturerPart model.""" @@ -157,6 +157,13 @@ class ManufacturerPartParameterAdmin(ImportExportModelAdmin): class SupplierPriceBreakResource(InvenTreeResource): """Class for managing SupplierPriceBreak data import/export.""" + class Meta: + """Metaclass defines extra admin options""" + model = SupplierPriceBreak + skip_unchanged = True + report_skipped = False + clean_model_instances = True + part = Field(attribute='part', widget=widgets.ForeignKeyWidget(SupplierPart)) supplier_id = Field(attribute='part__supplier__pk', readonly=True) @@ -169,13 +176,6 @@ class SupplierPriceBreakResource(InvenTreeResource): MPN = Field(attribute='part__MPN', readonly=True) - class Meta: - """Metaclass defines extra admin options""" - model = SupplierPriceBreak - skip_unchanged = True - report_skipped = False - clean_model_instances = True - class SupplierPriceBreakAdmin(ImportExportModelAdmin): """Admin class for the SupplierPriceBreak model""" diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 13c0901e43..8479348ce3 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -427,6 +427,15 @@ class SupplierPartDetail(RetrieveUpdateDestroyAPI): class SupplierPriceBreakFilter(rest_filters.FilterSet): """Custom API filters for the SupplierPriceBreak list endpoint""" + class Meta: + """Metaclass options""" + + model = SupplierPriceBreak + fields = [ + 'part', + 'quantity', + ] + base_part = rest_filters.ModelChoiceFilter( label='Base Part', queryset=part.models.Part.objects.all(), @@ -439,15 +448,6 @@ class SupplierPriceBreakFilter(rest_filters.FilterSet): field_name='part__supplier', ) - class Meta: - """Metaclass options""" - - model = SupplierPriceBreak - fields = [ - 'part', - 'quantity', - ] - class SupplierPriceBreakList(ListCreateAPI): """API endpoint for list view of SupplierPriceBreak object. diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index 3227af4707..99010b8d72 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -81,11 +81,6 @@ class Company(MetadataMixin, models.Model): currency_code: Specifies the default currency for the company """ - @staticmethod - def get_api_url(): - """Return the API URL associated with the Company model""" - return reverse('api-company-list') - class Meta: """Metaclass defines extra model options""" ordering = ['name', ] @@ -94,6 +89,11 @@ class Company(MetadataMixin, models.Model): ] verbose_name_plural = "Companies" + @staticmethod + def get_api_url(): + """Return the API URL associated with the Company model""" + return reverse('api-company-list') + name = models.CharField(max_length=100, blank=False, help_text=_('Company name'), verbose_name=_('Company name')) @@ -258,15 +258,15 @@ class ManufacturerPart(models.Model): description: Descriptive notes field """ + class Meta: + """Metaclass defines extra model options""" + unique_together = ('part', 'manufacturer', 'MPN') + @staticmethod def get_api_url(): """Return the API URL associated with the ManufacturerPart instance""" return reverse('api-manufacturer-part-list') - class Meta: - """Metaclass defines extra model options""" - unique_together = ('part', 'manufacturer', 'MPN') - part = models.ForeignKey('part.Part', on_delete=models.CASCADE, related_name='manufacturer_parts', verbose_name=_('Base Part'), @@ -360,15 +360,15 @@ class ManufacturerPartParameter(models.Model): Each parameter is a simple string (text) value. """ + class Meta: + """Metaclass defines extra model options""" + unique_together = ('manufacturer_part', 'name') + @staticmethod def get_api_url(): """Return the API URL associated with the ManufacturerPartParameter model""" return reverse('api-manufacturer-part-parameter-list') - class Meta: - """Metaclass defines extra model options""" - unique_together = ('manufacturer_part', 'name') - manufacturer_part = models.ForeignKey( ManufacturerPart, on_delete=models.CASCADE, @@ -434,6 +434,13 @@ class SupplierPart(InvenTreeBarcodeMixin, common.models.MetaMixin): updated: Date that the SupplierPart was last updated """ + class Meta: + """Metaclass defines extra model options""" + unique_together = ('part', 'supplier', 'SKU') + + # This model was moved from the 'Part' app + db_table = 'part_supplierpart' + objects = SupplierPartManager() @staticmethod @@ -453,13 +460,6 @@ class SupplierPart(InvenTreeBarcodeMixin, common.models.MetaMixin): } } - class Meta: - """Metaclass defines extra model options""" - unique_together = ('part', 'supplier', 'SKU') - - # This model was moved from the 'Part' app - db_table = 'part_supplierpart' - def clean(self): """Custom clean action for the SupplierPart model: @@ -696,13 +696,6 @@ class SupplierPriceBreak(common.models.PriceBreak): currency: Reference to the currency of this pricebreak (leave empty for base currency) """ - @staticmethod - def get_api_url(): - """Return the API URL associated with the SupplierPriceBreak model""" - return reverse('api-part-supplier-price-list') - - part = models.ForeignKey(SupplierPart, on_delete=models.CASCADE, related_name='pricebreaks', verbose_name=_('Part'),) - class Meta: """Metaclass defines extra model options""" unique_together = ("part", "quantity") @@ -714,6 +707,13 @@ class SupplierPriceBreak(common.models.PriceBreak): """Format a string representation of a SupplierPriceBreak instance""" return f'{self.part.SKU} - {self.price} @ {self.quantity}' + @staticmethod + def get_api_url(): + """Return the API URL associated with the SupplierPriceBreak model""" + return reverse('api-part-supplier-price-list') + + part = models.ForeignKey(SupplierPart, on_delete=models.CASCADE, related_name='pricebreaks', verbose_name=_('Part'),) + @receiver(post_save, sender=SupplierPriceBreak, dispatch_uid='post_save_supplier_price_break') def after_save_supplier_price(sender, instance, created, **kwargs): diff --git a/InvenTree/company/serializers.py b/InvenTree/company/serializers.py index 7c498456bf..faa281cbed 100644 --- a/InvenTree/company/serializers.py +++ b/InvenTree/company/serializers.py @@ -25,10 +25,6 @@ from .models import (Company, CompanyAttachment, ManufacturerPart, class CompanyBriefSerializer(InvenTreeModelSerializer): """Serializer for Company object (limited detail)""" - url = serializers.CharField(source='get_absolute_url', read_only=True) - - image = serializers.CharField(source='get_thumbnail_url', read_only=True) - class Meta: """Metaclass options.""" @@ -41,33 +37,14 @@ class CompanyBriefSerializer(InvenTreeModelSerializer): 'image', ] + url = serializers.CharField(source='get_absolute_url', read_only=True) + + image = serializers.CharField(source='get_thumbnail_url', read_only=True) + class CompanySerializer(RemoteImageMixin, InvenTreeModelSerializer): """Serializer for Company object (full detail)""" - @staticmethod - def annotate_queryset(queryset): - """Annoate the supplied queryset with aggregated information""" - # Add count of parts manufactured - queryset = queryset.annotate( - parts_manufactured=SubqueryCount('manufactured_parts') - ) - - queryset = queryset.annotate( - parts_supplied=SubqueryCount('supplied_parts') - ) - - return queryset - - url = serializers.CharField(source='get_absolute_url', read_only=True) - - image = InvenTreeImageSerializerField(required=False, allow_null=True) - - parts_supplied = serializers.IntegerField(read_only=True) - parts_manufactured = serializers.IntegerField(read_only=True) - - currency = InvenTreeCurrencySerializer(help_text=_('Default currency used for this supplier'), required=True) - class Meta: """Metaclass options.""" @@ -95,6 +72,29 @@ class CompanySerializer(RemoteImageMixin, InvenTreeModelSerializer): 'remote_image', ] + @staticmethod + def annotate_queryset(queryset): + """Annoate the supplied queryset with aggregated information""" + # Add count of parts manufactured + queryset = queryset.annotate( + parts_manufactured=SubqueryCount('manufactured_parts') + ) + + queryset = queryset.annotate( + parts_supplied=SubqueryCount('supplied_parts') + ) + + return queryset + + url = serializers.CharField(source='get_absolute_url', read_only=True) + + image = InvenTreeImageSerializerField(required=False, allow_null=True) + + parts_supplied = serializers.IntegerField(read_only=True) + parts_manufactured = serializers.IntegerField(read_only=True) + + currency = InvenTreeCurrencySerializer(help_text=_('Default currency used for this supplier'), required=True) + def save(self): """Save the Company instance""" super().save() @@ -135,11 +135,21 @@ class CompanyAttachmentSerializer(InvenTreeAttachmentSerializer): class ManufacturerPartSerializer(InvenTreeModelSerializer): """Serializer for ManufacturerPart object.""" - part_detail = PartBriefSerializer(source='part', many=False, read_only=True) + class Meta: + """Metaclass options.""" - manufacturer_detail = CompanyBriefSerializer(source='manufacturer', many=False, read_only=True) - - pretty_name = serializers.CharField(read_only=True) + model = ManufacturerPart + fields = [ + 'pk', + 'part', + 'part_detail', + 'pretty_name', + 'manufacturer', + 'manufacturer_detail', + 'description', + 'MPN', + 'link', + ] def __init__(self, *args, **kwargs): """Initialize this serializer with extra detail fields as required""" @@ -158,24 +168,14 @@ class ManufacturerPartSerializer(InvenTreeModelSerializer): if prettify is not True: self.fields.pop('pretty_name') + part_detail = PartBriefSerializer(source='part', many=False, read_only=True) + + manufacturer_detail = CompanyBriefSerializer(source='manufacturer', many=False, read_only=True) + + pretty_name = serializers.CharField(read_only=True) + manufacturer = serializers.PrimaryKeyRelatedField(queryset=Company.objects.filter(is_manufacturer=True)) - class Meta: - """Metaclass options.""" - - model = ManufacturerPart - fields = [ - 'pk', - 'part', - 'part_detail', - 'pretty_name', - 'manufacturer', - 'manufacturer_detail', - 'description', - 'MPN', - 'link', - ] - class ManufacturerPartAttachmentSerializer(InvenTreeAttachmentSerializer): """Serializer for the ManufacturerPartAttachment class.""" @@ -193,17 +193,6 @@ class ManufacturerPartAttachmentSerializer(InvenTreeAttachmentSerializer): class ManufacturerPartParameterSerializer(InvenTreeModelSerializer): """Serializer for the ManufacturerPartParameter model.""" - manufacturer_part_detail = ManufacturerPartSerializer(source='manufacturer_part', many=False, read_only=True) - - def __init__(self, *args, **kwargs): - """Initialize this serializer with extra detail fields as required""" - man_detail = kwargs.pop('manufacturer_part_detail', False) - - super().__init__(*args, **kwargs) - - if not man_detail: - self.fields.pop('manufacturer_part_detail') - class Meta: """Metaclass options.""" @@ -218,66 +207,20 @@ class ManufacturerPartParameterSerializer(InvenTreeModelSerializer): 'units', ] - -class SupplierPartSerializer(InvenTreeModelSerializer): - """Serializer for SupplierPart object.""" - - # Annotated field showing total in-stock quantity - in_stock = serializers.FloatField(read_only=True) - - part_detail = PartBriefSerializer(source='part', many=False, read_only=True) - - supplier_detail = CompanyBriefSerializer(source='supplier', many=False, read_only=True) - - manufacturer_detail = CompanyBriefSerializer(source='manufacturer_part.manufacturer', many=False, read_only=True) - - pretty_name = serializers.CharField(read_only=True) - - pack_size = serializers.FloatField(label=_('Pack Quantity')) - def __init__(self, *args, **kwargs): """Initialize this serializer with extra detail fields as required""" - - # Check if 'available' quantity was supplied - self.has_available_quantity = 'available' in kwargs.get('data', {}) - - brief = kwargs.pop('brief', False) - - detail_default = not brief - - part_detail = kwargs.pop('part_detail', detail_default) - supplier_detail = kwargs.pop('supplier_detail', detail_default) - manufacturer_detail = kwargs.pop('manufacturer_detail', detail_default) - - prettify = kwargs.pop('pretty', False) + man_detail = kwargs.pop('manufacturer_part_detail', False) super().__init__(*args, **kwargs) - if part_detail is not True: - self.fields.pop('part_detail') - - if supplier_detail is not True: - self.fields.pop('supplier_detail') - - if manufacturer_detail is not True: - self.fields.pop('manufacturer_detail') + if not man_detail: self.fields.pop('manufacturer_part_detail') - if prettify is not True: - self.fields.pop('pretty_name') + manufacturer_part_detail = ManufacturerPartSerializer(source='manufacturer_part', many=False, read_only=True) - supplier = serializers.PrimaryKeyRelatedField(queryset=Company.objects.filter(is_supplier=True)) - manufacturer = serializers.CharField(read_only=True) - - MPN = serializers.CharField(read_only=True) - - manufacturer_part_detail = ManufacturerPartSerializer(source='manufacturer_part', read_only=True) - - url = serializers.CharField(source='get_absolute_url', read_only=True) - - # Date fields - updated = serializers.DateTimeField(allow_null=True, read_only=True) +class SupplierPartSerializer(InvenTreeModelSerializer): + """Serializer for SupplierPart object.""" class Meta: """Metaclass options.""" @@ -314,6 +257,63 @@ class SupplierPartSerializer(InvenTreeModelSerializer): 'barcode_hash', ] + def __init__(self, *args, **kwargs): + """Initialize this serializer with extra detail fields as required""" + + # Check if 'available' quantity was supplied + self.has_available_quantity = 'available' in kwargs.get('data', {}) + + brief = kwargs.pop('brief', False) + + detail_default = not brief + + part_detail = kwargs.pop('part_detail', detail_default) + supplier_detail = kwargs.pop('supplier_detail', detail_default) + manufacturer_detail = kwargs.pop('manufacturer_detail', detail_default) + + prettify = kwargs.pop('pretty', False) + + super().__init__(*args, **kwargs) + + if part_detail is not True: + self.fields.pop('part_detail') + + if supplier_detail is not True: + self.fields.pop('supplier_detail') + + if manufacturer_detail is not True: + self.fields.pop('manufacturer_detail') + self.fields.pop('manufacturer_part_detail') + + if prettify is not True: + self.fields.pop('pretty_name') + + # Annotated field showing total in-stock quantity + in_stock = serializers.FloatField(read_only=True) + + part_detail = PartBriefSerializer(source='part', many=False, read_only=True) + + supplier_detail = CompanyBriefSerializer(source='supplier', many=False, read_only=True) + + manufacturer_detail = CompanyBriefSerializer(source='manufacturer_part.manufacturer', many=False, read_only=True) + + pretty_name = serializers.CharField(read_only=True) + + pack_size = serializers.FloatField(label=_('Pack Quantity')) + + supplier = serializers.PrimaryKeyRelatedField(queryset=Company.objects.filter(is_supplier=True)) + + manufacturer = serializers.CharField(read_only=True) + + MPN = serializers.CharField(read_only=True) + + manufacturer_part_detail = ManufacturerPartSerializer(source='manufacturer_part', read_only=True) + + url = serializers.CharField(source='get_absolute_url', read_only=True) + + # Date fields + updated = serializers.DateTimeField(allow_null=True, read_only=True) + @staticmethod def annotate_queryset(queryset): """Annotate the SupplierPart queryset with extra fields: @@ -369,6 +369,22 @@ class SupplierPartSerializer(InvenTreeModelSerializer): class SupplierPriceBreakSerializer(InvenTreeModelSerializer): """Serializer for SupplierPriceBreak object.""" + class Meta: + """Metaclass options.""" + + model = SupplierPriceBreak + fields = [ + 'pk', + 'part', + 'part_detail', + 'quantity', + 'price', + 'price_currency', + 'supplier', + 'supplier_detail', + 'updated', + ] + def __init__(self, *args, **kwargs): """Initialize this serializer with extra fields as required""" @@ -399,19 +415,3 @@ class SupplierPriceBreakSerializer(InvenTreeModelSerializer): # Detail serializer for SupplierPart part_detail = SupplierPartSerializer(source='part', brief=True, many=False, read_only=True) - - class Meta: - """Metaclass options.""" - - model = SupplierPriceBreak - fields = [ - 'pk', - 'part', - 'part_detail', - 'quantity', - 'price', - 'price_currency', - 'supplier', - 'supplier_detail', - 'updated', - ] diff --git a/InvenTree/label/serializers.py b/InvenTree/label/serializers.py index b250b6f441..da5e6ccedc 100644 --- a/InvenTree/label/serializers.py +++ b/InvenTree/label/serializers.py @@ -9,8 +9,6 @@ from .models import PartLabel, StockItemLabel, StockLocationLabel class StockItemLabelSerializer(InvenTreeModelSerializer): """Serializes a StockItemLabel object.""" - label = InvenTreeAttachmentSerializerField(required=True) - class Meta: """Metaclass options.""" @@ -24,12 +22,12 @@ class StockItemLabelSerializer(InvenTreeModelSerializer): 'enabled', ] + label = InvenTreeAttachmentSerializerField(required=True) + class StockLocationLabelSerializer(InvenTreeModelSerializer): """Serializes a StockLocationLabel object.""" - label = InvenTreeAttachmentSerializerField(required=True) - class Meta: """Metaclass options.""" @@ -43,12 +41,12 @@ class StockLocationLabelSerializer(InvenTreeModelSerializer): 'enabled', ] + label = InvenTreeAttachmentSerializerField(required=True) + class PartLabelSerializer(InvenTreeModelSerializer): """Serializes a PartLabel object.""" - label = InvenTreeAttachmentSerializerField(required=True) - class Meta: """Metaclass options.""" @@ -61,3 +59,5 @@ class PartLabelSerializer(InvenTreeModelSerializer): 'filters', 'enabled', ] + + label = InvenTreeAttachmentSerializerField(required=True) diff --git a/InvenTree/order/admin.py b/InvenTree/order/admin.py index aa24c095f6..2f0f5bd36d 100644 --- a/InvenTree/order/admin.py +++ b/InvenTree/order/admin.py @@ -101,12 +101,6 @@ class SalesOrderAdmin(ImportExportModelAdmin): class PurchaseOrderResource(InvenTreeResource): """Class for managing import / export of PurchaseOrder data.""" - # Add number of line items - line_items = Field(attribute='line_count', widget=widgets.IntegerWidget(), readonly=True) - - # Is this order overdue? - overdue = Field(attribute='is_overdue', widget=widgets.BooleanWidget(), readonly=True) - class Meta: """Metaclass""" model = PurchaseOrder @@ -116,10 +110,23 @@ class PurchaseOrderResource(InvenTreeResource): 'metadata', ] + # Add number of line items + line_items = Field(attribute='line_count', widget=widgets.IntegerWidget(), readonly=True) + + # Is this order overdue? + overdue = Field(attribute='is_overdue', widget=widgets.BooleanWidget(), readonly=True) + class PurchaseOrderLineItemResource(InvenTreeResource): """Class for managing import / export of PurchaseOrderLineItem data.""" + class Meta: + """Metaclass""" + model = PurchaseOrderLineItem + skip_unchanged = True + report_skipped = False + clean_model_instances = True + part_name = Field(attribute='part__part__name', readonly=True) manufacturer = Field(attribute='part__manufacturer', readonly=True) @@ -128,13 +135,6 @@ class PurchaseOrderLineItemResource(InvenTreeResource): SKU = Field(attribute='part__SKU', readonly=True) - class Meta: - """Metaclass""" - model = PurchaseOrderLineItem - skip_unchanged = True - report_skipped = False - clean_model_instances = True - class PurchaseOrderExtraLineResource(InvenTreeResource): """Class for managing import / export of PurchaseOrderExtraLine data.""" @@ -148,12 +148,6 @@ class PurchaseOrderExtraLineResource(InvenTreeResource): class SalesOrderResource(InvenTreeResource): """Class for managing import / export of SalesOrder data.""" - # Add number of line items - line_items = Field(attribute='line_count', widget=widgets.IntegerWidget(), readonly=True) - - # Is this order overdue? - overdue = Field(attribute='is_overdue', widget=widgets.BooleanWidget(), readonly=True) - class Meta: """Metaclass options""" model = SalesOrder @@ -163,10 +157,23 @@ class SalesOrderResource(InvenTreeResource): 'metadata', ] + # Add number of line items + line_items = Field(attribute='line_count', widget=widgets.IntegerWidget(), readonly=True) + + # Is this order overdue? + overdue = Field(attribute='is_overdue', widget=widgets.BooleanWidget(), readonly=True) + class SalesOrderLineItemResource(InvenTreeResource): """Class for managing import / export of SalesOrderLineItem data.""" + class Meta: + """Metaclass options""" + model = SalesOrderLineItem + skip_unchanged = True + report_skipped = False + clean_model_instances = True + part_name = Field(attribute='part__name', readonly=True) IPN = Field(attribute='part__IPN', readonly=True) @@ -185,13 +192,6 @@ class SalesOrderLineItemResource(InvenTreeResource): else: return '' - class Meta: - """Metaclass options""" - model = SalesOrderLineItem - skip_unchanged = True - report_skipped = False - clean_model_instances = True - class SalesOrderExtraLineResource(InvenTreeResource): """Class for managing import / export of SalesOrderExtraLine data.""" diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index f4c155e241..f45381525e 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -113,6 +113,7 @@ class OrderFilter(rest_filters.FilterSet): class PurchaseOrderFilter(OrderFilter): """Custom API filters for the PurchaseOrderList endpoint.""" + class Meta: """Metaclass options.""" @@ -124,6 +125,7 @@ class PurchaseOrderFilter(OrderFilter): class SalesOrderFilter(OrderFilter): """Custom API filters for the SalesOrderList endpoint.""" + class Meta: """Metaclass options.""" @@ -1093,6 +1095,14 @@ class SalesOrderAllocationList(ListAPI): class SalesOrderShipmentFilter(rest_filters.FilterSet): """Custom filterset for the SalesOrderShipmentList endpoint.""" + class Meta: + """Metaclass options.""" + + model = models.SalesOrderShipment + fields = [ + 'order', + ] + shipped = rest_filters.BooleanFilter(label='shipped', method='filter_shipped') def filter_shipped(self, queryset, name, value): @@ -1106,14 +1116,6 @@ class SalesOrderShipmentFilter(rest_filters.FilterSet): return queryset - class Meta: - """Metaclass options.""" - - model = models.SalesOrderShipment - fields = [ - 'order', - ] - class SalesOrderShipmentList(ListCreateAPI): """API list endpoint for SalesOrderShipment model.""" diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 430632f9b6..37b2d96b7b 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -63,6 +63,10 @@ class Order(MetadataMixin, ReferenceIndexingMixin): responsible: User (or group) responsible for managing the order """ + class Meta: + """Metaclass options. Abstract ensures no database table is created.""" + abstract = True + def save(self, *args, **kwargs): """Custom save method for the order models: @@ -75,11 +79,6 @@ class Order(MetadataMixin, ReferenceIndexingMixin): super().save(*args, **kwargs) - class Meta: - """Metaclass options. Abstract ensures no database table is created.""" - - abstract = True - description = models.CharField(max_length=250, verbose_name=_('Description'), help_text=_('Order description')) link = InvenTreeURLField(blank=True, verbose_name=_('Link'), help_text=_('Link to external page')) @@ -927,7 +926,6 @@ class OrderLineItem(models.Model): class Meta: """Metaclass options. Abstract ensures no database table is created.""" - abstract = True quantity = RoundingDecimalField( @@ -958,7 +956,6 @@ class OrderExtraLine(OrderLineItem): class Meta: """Metaclass options. Abstract ensures no database table is created.""" - abstract = True context = models.JSONField( diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index ffab3930aa..8b3479ba12 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -80,6 +80,40 @@ class AbstractExtraLineMeta: class PurchaseOrderSerializer(AbstractOrderSerializer, InvenTreeModelSerializer): """Serializer for a PurchaseOrder object.""" + class Meta: + """Metaclass options.""" + + model = order.models.PurchaseOrder + + fields = [ + 'pk', + 'issue_date', + 'complete_date', + 'creation_date', + 'description', + 'line_items', + 'link', + 'overdue', + 'reference', + 'responsible', + 'responsible_detail', + 'supplier', + 'supplier_detail', + 'supplier_reference', + 'status', + 'status_text', + 'target_date', + 'notes', + 'total_price', + ] + + read_only_fields = [ + 'status' + 'issue_date', + 'complete_date', + 'creation_date', + ] + def __init__(self, *args, **kwargs): """Initialization routine for the serializer""" supplier_detail = kwargs.pop('supplier_detail', False) @@ -131,40 +165,6 @@ class PurchaseOrderSerializer(AbstractOrderSerializer, InvenTreeModelSerializer) responsible_detail = OwnerSerializer(source='responsible', read_only=True, many=False) - class Meta: - """Metaclass options.""" - - model = order.models.PurchaseOrder - - fields = [ - 'pk', - 'issue_date', - 'complete_date', - 'creation_date', - 'description', - 'line_items', - 'link', - 'overdue', - 'reference', - 'responsible', - 'responsible_detail', - 'supplier', - 'supplier_detail', - 'supplier_reference', - 'status', - 'status_text', - 'target_date', - 'notes', - 'total_price', - ] - - read_only_fields = [ - 'status' - 'issue_date', - 'complete_date', - 'creation_date', - ] - class PurchaseOrderCancelSerializer(serializers.Serializer): """Serializer for cancelling a PurchaseOrder.""" @@ -195,6 +195,11 @@ class PurchaseOrderCancelSerializer(serializers.Serializer): class PurchaseOrderCompleteSerializer(serializers.Serializer): """Serializer for completing a purchase order.""" + class Meta: + """Metaclass options.""" + + fields = [] + accept_incomplete = serializers.BooleanField( label=_('Accept Incomplete'), help_text=_('Allow order to be closed with incomplete line items'), @@ -212,11 +217,6 @@ class PurchaseOrderCompleteSerializer(serializers.Serializer): return value - class Meta: - """Metaclass options.""" - - fields = [] - def get_context_data(self): """Custom context information for this serializer.""" order = self.context['order'] @@ -247,6 +247,47 @@ class PurchaseOrderIssueSerializer(serializers.Serializer): class PurchaseOrderLineItemSerializer(InvenTreeModelSerializer): """Serializer class for the PurchaseOrderLineItem model""" + + class Meta: + """Metaclass options.""" + + model = order.models.PurchaseOrderLineItem + + fields = [ + 'pk', + 'quantity', + 'reference', + 'notes', + 'order', + 'order_detail', + 'overdue', + 'part', + 'part_detail', + 'supplier_part_detail', + 'received', + 'purchase_price', + 'purchase_price_currency', + 'destination', + 'destination_detail', + 'target_date', + 'total_price', + ] + + def __init__(self, *args, **kwargs): + """Initialization routine for the serializer""" + part_detail = kwargs.pop('part_detail', False) + + order_detail = kwargs.pop('order_detail', False) + + super().__init__(*args, **kwargs) + + if part_detail is not True: + self.fields.pop('part_detail') + self.fields.pop('supplier_part_detail') + + if order_detail is not True: + self.fields.pop('order_detail') + @staticmethod def annotate_queryset(queryset): """Add some extra annotations to this queryset: @@ -272,21 +313,6 @@ class PurchaseOrderLineItemSerializer(InvenTreeModelSerializer): return queryset - def __init__(self, *args, **kwargs): - """Initialization routine for the serializer""" - part_detail = kwargs.pop('part_detail', False) - - order_detail = kwargs.pop('order_detail', False) - - super().__init__(*args, **kwargs) - - if part_detail is not True: - self.fields.pop('part_detail') - self.fields.pop('supplier_part_detail') - - if order_detail is not True: - self.fields.pop('order_detail') - quantity = serializers.FloatField(min_value=0, required=True) def validate_quantity(self, quantity): @@ -352,31 +378,6 @@ class PurchaseOrderLineItemSerializer(InvenTreeModelSerializer): return data - class Meta: - """Metaclass options.""" - - model = order.models.PurchaseOrderLineItem - - fields = [ - 'pk', - 'quantity', - 'reference', - 'notes', - 'order', - 'order_detail', - 'overdue', - 'part', - 'part_detail', - 'supplier_part_detail', - 'received', - 'purchase_price', - 'purchase_price_currency', - 'destination', - 'destination_detail', - 'target_date', - 'total_price', - ] - class PurchaseOrderExtraLineSerializer(AbstractExtraLineSerializer, InvenTreeModelSerializer): """Serializer for a PurchaseOrderExtraLine object.""" @@ -530,6 +531,14 @@ class PurchaseOrderLineItemReceiveSerializer(serializers.Serializer): class PurchaseOrderReceiveSerializer(serializers.Serializer): """Serializer for receiving items against a purchase order.""" + class Meta: + """Metaclass options.""" + + fields = [ + 'items', + 'location', + ] + items = PurchaseOrderLineItemReceiveSerializer(many=True) location = serializers.PrimaryKeyRelatedField( @@ -619,14 +628,6 @@ class PurchaseOrderReceiveSerializer(serializers.Serializer): # Catch model errors and re-throw as DRF errors raise ValidationError(detail=serializers.as_serializer_error(exc)) - class Meta: - """Metaclass options.""" - - fields = [ - 'items', - 'location', - ] - class PurchaseOrderAttachmentSerializer(InvenTreeAttachmentSerializer): """Serializers for the PurchaseOrderAttachment model.""" @@ -644,6 +645,37 @@ class PurchaseOrderAttachmentSerializer(InvenTreeAttachmentSerializer): class SalesOrderSerializer(AbstractOrderSerializer, InvenTreeModelSerializer): """Serializers for the SalesOrder object.""" + class Meta: + """Metaclass options.""" + + model = order.models.SalesOrder + + fields = [ + 'pk', + 'creation_date', + 'customer', + 'customer_detail', + 'customer_reference', + 'description', + 'line_items', + 'link', + 'notes', + 'overdue', + 'reference', + 'responsible', + 'status', + 'status_text', + 'shipment_date', + 'target_date', + 'total_price', + ] + + read_only_fields = [ + 'status', + 'creation_date', + 'shipment_date', + ] + def __init__(self, *args, **kwargs): """Initialization routine for the serializer""" customer_detail = kwargs.pop('customer_detail', False) @@ -693,37 +725,6 @@ class SalesOrderSerializer(AbstractOrderSerializer, InvenTreeModelSerializer): return reference - class Meta: - """Metaclass options.""" - - model = order.models.SalesOrder - - fields = [ - 'pk', - 'creation_date', - 'customer', - 'customer_detail', - 'customer_reference', - 'description', - 'line_items', - 'link', - 'notes', - 'overdue', - 'reference', - 'responsible', - 'status', - 'status_text', - 'shipment_date', - 'target_date', - 'total_price', - ] - - read_only_fields = [ - 'status', - 'creation_date', - 'shipment_date', - ] - class SalesOrderAllocationSerializer(InvenTreeModelSerializer): """Serializer for the SalesOrderAllocation model. @@ -731,20 +732,28 @@ class SalesOrderAllocationSerializer(InvenTreeModelSerializer): This includes some fields from the related model objects. """ - part = serializers.PrimaryKeyRelatedField(source='item.part', read_only=True) - order = serializers.PrimaryKeyRelatedField(source='line.order', many=False, read_only=True) - serial = serializers.CharField(source='get_serial', read_only=True) - quantity = serializers.FloatField(read_only=False) - location = serializers.PrimaryKeyRelatedField(source='item.location', many=False, read_only=True) + class Meta: + """Metaclass options.""" - # Extra detail fields - order_detail = SalesOrderSerializer(source='line.order', many=False, read_only=True) - part_detail = PartBriefSerializer(source='item.part', many=False, read_only=True) - item_detail = stock.serializers.StockItemSerializer(source='item', many=False, read_only=True) - location_detail = stock.serializers.LocationSerializer(source='item.location', many=False, read_only=True) - customer_detail = CompanyBriefSerializer(source='line.order.customer', many=False, read_only=True) + model = order.models.SalesOrderAllocation - shipment_date = serializers.DateField(source='shipment.shipment_date', read_only=True) + fields = [ + 'pk', + 'line', + 'customer_detail', + 'serial', + 'quantity', + 'location', + 'location_detail', + 'item', + 'item_detail', + 'order', + 'order_detail', + 'part', + 'part_detail', + 'shipment', + 'shipment_date', + ] def __init__(self, *args, **kwargs): """Initialization routine for the serializer""" @@ -771,33 +780,74 @@ class SalesOrderAllocationSerializer(InvenTreeModelSerializer): if not customer_detail: self.fields.pop('customer_detail') - class Meta: - """Metaclass options.""" + part = serializers.PrimaryKeyRelatedField(source='item.part', read_only=True) + order = serializers.PrimaryKeyRelatedField(source='line.order', many=False, read_only=True) + serial = serializers.CharField(source='get_serial', read_only=True) + quantity = serializers.FloatField(read_only=False) + location = serializers.PrimaryKeyRelatedField(source='item.location', many=False, read_only=True) - model = order.models.SalesOrderAllocation + # Extra detail fields + order_detail = SalesOrderSerializer(source='line.order', many=False, read_only=True) + part_detail = PartBriefSerializer(source='item.part', many=False, read_only=True) + item_detail = stock.serializers.StockItemSerializer(source='item', many=False, read_only=True) + location_detail = stock.serializers.LocationSerializer(source='item.location', many=False, read_only=True) + customer_detail = CompanyBriefSerializer(source='line.order.customer', many=False, read_only=True) - fields = [ - 'pk', - 'line', - 'customer_detail', - 'serial', - 'quantity', - 'location', - 'location_detail', - 'item', - 'item_detail', - 'order', - 'order_detail', - 'part', - 'part_detail', - 'shipment', - 'shipment_date', - ] + shipment_date = serializers.DateField(source='shipment.shipment_date', read_only=True) class SalesOrderLineItemSerializer(InvenTreeModelSerializer): """Serializer for a SalesOrderLineItem object.""" + class Meta: + """Metaclass options.""" + + model = order.models.SalesOrderLineItem + + fields = [ + 'pk', + 'allocated', + 'allocations', + 'available_stock', + 'customer_detail', + 'quantity', + 'reference', + 'notes', + 'order', + 'order_detail', + 'overdue', + 'part', + 'part_detail', + 'sale_price', + 'sale_price_currency', + 'shipped', + 'target_date', + ] + + def __init__(self, *args, **kwargs): + """Initializion routine for the serializer: + + - Add extra related serializer information if required + """ + part_detail = kwargs.pop('part_detail', False) + order_detail = kwargs.pop('order_detail', False) + allocations = kwargs.pop('allocations', False) + customer_detail = kwargs.pop('customer_detail', False) + + super().__init__(*args, **kwargs) + + if part_detail is not True: + self.fields.pop('part_detail') + + if order_detail is not True: + self.fields.pop('order_detail') + + if allocations is not True: + self.fields.pop('allocations') + + if customer_detail is not True: + self.fields.pop('customer_detail') + @staticmethod def annotate_queryset(queryset): """Add some extra annotations to this queryset: @@ -832,30 +882,6 @@ class SalesOrderLineItemSerializer(InvenTreeModelSerializer): return queryset - def __init__(self, *args, **kwargs): - """Initializion routine for the serializer: - - - Add extra related serializer information if required - """ - part_detail = kwargs.pop('part_detail', False) - order_detail = kwargs.pop('order_detail', False) - allocations = kwargs.pop('allocations', False) - customer_detail = kwargs.pop('customer_detail', False) - - super().__init__(*args, **kwargs) - - if part_detail is not True: - self.fields.pop('part_detail') - - if order_detail is not True: - self.fields.pop('order_detail') - - if allocations is not True: - self.fields.pop('allocations') - - if customer_detail is not True: - self.fields.pop('customer_detail') - customer_detail = CompanyBriefSerializer(source='order.customer', many=False, read_only=True) order_detail = SalesOrderSerializer(source='order', many=False, read_only=True) part_detail = PartBriefSerializer(source='part', many=False, read_only=True) @@ -875,39 +901,10 @@ class SalesOrderLineItemSerializer(InvenTreeModelSerializer): sale_price_currency = InvenTreeCurrencySerializer(help_text=_('Sale price currency')) - class Meta: - """Metaclass options.""" - - model = order.models.SalesOrderLineItem - - fields = [ - 'pk', - 'allocated', - 'allocations', - 'available_stock', - 'customer_detail', - 'quantity', - 'reference', - 'notes', - 'order', - 'order_detail', - 'overdue', - 'part', - 'part_detail', - 'sale_price', - 'sale_price_currency', - 'shipped', - 'target_date', - ] - class SalesOrderShipmentSerializer(InvenTreeModelSerializer): """Serializer for the SalesOrderShipment class.""" - allocations = SalesOrderAllocationSerializer(many=True, read_only=True, location_detail=True) - - order_detail = SalesOrderSerializer(source='order', read_only=True, many=False) - class Meta: """Metaclass options.""" @@ -927,6 +924,10 @@ class SalesOrderShipmentSerializer(InvenTreeModelSerializer): 'notes', ] + allocations = SalesOrderAllocationSerializer(many=True, read_only=True, location_detail=True) + + order_detail = SalesOrderSerializer(source='order', read_only=True, many=False) + class SalesOrderShipmentCompleteSerializer(serializers.ModelSerializer): """Serializer for completing (shipping) a SalesOrderShipment.""" diff --git a/InvenTree/part/admin.py b/InvenTree/part/admin.py index 3e6d61de3a..13d5875ccc 100644 --- a/InvenTree/part/admin.py +++ b/InvenTree/part/admin.py @@ -16,6 +16,20 @@ from stock.models import StockLocation class PartResource(InvenTreeResource): """Class for managing Part data import/export.""" + class Meta: + """Metaclass definition""" + model = models.Part + skip_unchanged = True + report_skipped = False + clean_model_instances = True + exclude = [ + 'bom_checksum', 'bom_checked_by', 'bom_checked_date', + 'lft', 'rght', 'tree_id', 'level', + 'image', + 'metadata', + 'barcode_data', 'barcode_hash', + ] + id = Field(attribute='pk', column_name=_('Part ID'), widget=widgets.IntegerWidget()) name = Field(attribute='name', column_name=_('Part Name'), widget=widgets.CharWidget()) description = Field(attribute='description', column_name=_('Part Description'), widget=widgets.CharWidget()) @@ -68,20 +82,6 @@ class PartResource(InvenTreeResource): if max_cost is not None: return float(max_cost.amount) - class Meta: - """Metaclass definition""" - model = models.Part - skip_unchanged = True - report_skipped = False - clean_model_instances = True - exclude = [ - 'bom_checksum', 'bom_checked_by', 'bom_checked_date', - 'lft', 'rght', 'tree_id', 'level', - 'image', - 'metadata', - 'barcode_data', 'barcode_hash', - ] - def get_queryset(self): """Prefetch related data for quicker access.""" query = super().get_queryset() @@ -175,18 +175,6 @@ class PartStocktakeReportAdmin(admin.ModelAdmin): class PartCategoryResource(InvenTreeResource): """Class for managing PartCategory data import/export.""" - id = Field(attribute='pk', column_name=_('Category ID')) - name = Field(attribute='name', column_name=_('Category Name')) - description = Field(attribute='description', column_name=_('Description')) - parent = Field(attribute='parent', column_name=_('Parent ID'), widget=widgets.ForeignKeyWidget(models.PartCategory)) - parent_name = Field(attribute='parent__name', column_name=_('Parent Name'), readonly=True) - default_location = Field(attribute='default_location', column_name=_('Default Location ID'), widget=widgets.ForeignKeyWidget(StockLocation)) - default_keywords = Field(attribute='default_keywords', column_name=_('Keywords')) - pathstring = Field(attribute='pathstring', column_name=_('Category Path')) - - # Calculated fields - parts = Field(attribute='item_count', column_name=_('Parts'), widget=widgets.IntegerWidget(), readonly=True) - class Meta: """Metaclass definition""" model = models.PartCategory @@ -201,6 +189,18 @@ class PartCategoryResource(InvenTreeResource): 'icon', ] + id = Field(attribute='pk', column_name=_('Category ID')) + name = Field(attribute='name', column_name=_('Category Name')) + description = Field(attribute='description', column_name=_('Description')) + parent = Field(attribute='parent', column_name=_('Parent ID'), widget=widgets.ForeignKeyWidget(models.PartCategory)) + parent_name = Field(attribute='parent__name', column_name=_('Parent Name'), readonly=True) + default_location = Field(attribute='default_location', column_name=_('Default Location ID'), widget=widgets.ForeignKeyWidget(StockLocation)) + default_keywords = Field(attribute='default_keywords', column_name=_('Keywords')) + pathstring = Field(attribute='pathstring', column_name=_('Category Path')) + + # Calculated fields + parts = Field(attribute='item_count', column_name=_('Parts'), widget=widgets.IntegerWidget(), readonly=True) + def after_import(self, dataset, result, using_transactions, dry_run, **kwargs): """Rebuild MPTT tree structure after importing PartCategory data""" @@ -247,6 +247,20 @@ class PartTestTemplateAdmin(admin.ModelAdmin): class BomItemResource(InvenTreeResource): """Class for managing BomItem data import/export.""" + class Meta: + """Metaclass definition""" + model = models.BomItem + skip_unchanged = True + report_skipped = False + clean_model_instances = True + + exclude = [ + 'checksum', + 'id', + 'part', + 'sub_part', + ] + level = Field(attribute='level', column_name=_('BOM Level'), readonly=True) bom_id = Field(attribute='pk', column_name=_('BOM Item ID')) @@ -335,20 +349,6 @@ class BomItemResource(InvenTreeResource): return fields - class Meta: - """Metaclass definition""" - model = models.BomItem - skip_unchanged = True - report_skipped = False - clean_model_instances = True - - exclude = [ - 'checksum', - 'id', - 'part', - 'sub_part', - ] - class BomItemAdmin(ImportExportModelAdmin): """Admin class for the BomItem model""" @@ -373,6 +373,13 @@ class ParameterTemplateAdmin(ImportExportModelAdmin): class ParameterResource(InvenTreeResource): """Class for managing PartParameter data import/export.""" + class Meta: + """Metaclass definition""" + model = models.PartParameter + skip_unchanged = True + report_skipped = False + clean_model_instance = True + part = Field(attribute='part', widget=widgets.ForeignKeyWidget(models.Part)) part_name = Field(attribute='part__name', readonly=True) @@ -381,13 +388,6 @@ class ParameterResource(InvenTreeResource): template_name = Field(attribute='template__name', readonly=True) - class Meta: - """Metaclass definition""" - model = models.PartParameter - skip_unchanged = True - report_skipped = False - clean_model_instance = True - class ParameterAdmin(ImportExportModelAdmin): """Admin class for the PartParameter model""" diff --git a/InvenTree/part/forms.py b/InvenTree/part/forms.py index 95222641a7..f1934bc105 100644 --- a/InvenTree/part/forms.py +++ b/InvenTree/part/forms.py @@ -34,16 +34,16 @@ class BomMatchItemForm(MatchItemForm): class PartPriceForm(forms.Form): """Simple form for viewing part pricing information.""" - quantity = forms.IntegerField( - required=True, - initial=1, - label=_('Quantity'), - help_text=_('Input quantity for price calculation') - ) - class Meta: """Metaclass defines fields for this form""" model = Part fields = [ 'quantity', ] + + quantity = forms.IntegerField( + required=True, + initial=1, + label=_('Quantity'), + help_text=_('Input quantity for price calculation') + ) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index c7faa25d6b..88976811f3 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -3045,6 +3045,10 @@ class PartAttachment(InvenTreeAttachment): class PartSellPriceBreak(common.models.PriceBreak): """Represents a price break for selling this part.""" + class Meta: + """Metaclass providing extra model definition""" + unique_together = ('part', 'quantity') + @staticmethod def get_api_url(): """Return the list API endpoint URL associated with the PartSellPriceBreak model""" @@ -3057,14 +3061,14 @@ class PartSellPriceBreak(common.models.PriceBreak): verbose_name=_('Part') ) - class Meta: - """Metaclass providing extra model definition""" - unique_together = ('part', 'quantity') - class PartInternalPriceBreak(common.models.PriceBreak): """Represents a price break for internally selling this part.""" + class Meta: + """Metaclass providing extra model definition""" + unique_together = ('part', 'quantity') + @staticmethod def get_api_url(): """Return the list API endpoint URL associated with the PartInternalPriceBreak model""" @@ -3076,10 +3080,6 @@ class PartInternalPriceBreak(common.models.PriceBreak): verbose_name=_('Part') ) - class Meta: - """Metaclass providing extra model definition""" - unique_together = ('part', 'quantity') - class PartStar(models.Model): """A PartStar object creates a subscription relationship between a User and a Part. @@ -3091,10 +3091,6 @@ class PartStar(models.Model): user: Link to a User object """ - part = models.ForeignKey(Part, on_delete=models.CASCADE, verbose_name=_('Part'), related_name='starred_users') - - user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name=_('User'), related_name='starred_parts') - class Meta: """Metaclass providing extra model definition""" unique_together = [ @@ -3102,6 +3098,10 @@ class PartStar(models.Model): 'user' ] + part = models.ForeignKey(Part, on_delete=models.CASCADE, verbose_name=_('Part'), related_name='starred_users') + + user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name=_('User'), related_name='starred_parts') + class PartCategoryStar(models.Model): """A PartCategoryStar creates a subscription relationship between a User and a PartCategory. @@ -3111,10 +3111,6 @@ class PartCategoryStar(models.Model): user: Link to a User object """ - category = models.ForeignKey(PartCategory, on_delete=models.CASCADE, verbose_name=_('Category'), related_name='starred_users') - - user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name=_('User'), related_name='starred_categories') - class Meta: """Metaclass providing extra model definition""" unique_together = [ @@ -3122,6 +3118,10 @@ class PartCategoryStar(models.Model): 'user', ] + category = models.ForeignKey(PartCategory, on_delete=models.CASCADE, verbose_name=_('Category'), related_name='starred_users') + + user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name=_('User'), related_name='starred_categories') + class PartTestTemplate(models.Model): """A PartTestTemplate defines a 'template' for a test which is required to be run against a StockItem (an instance of the Part). @@ -3292,6 +3292,11 @@ class PartParameter(models.Model): data: The data (value) of the Parameter [string] """ + class Meta: + """Metaclass providing extra model definition""" + # Prevent multiple instances of a parameter for a single part + unique_together = ('part', 'template') + @staticmethod def get_api_url(): """Return the list API endpoint URL associated with the PartParameter model""" @@ -3306,11 +3311,6 @@ class PartParameter(models.Model): units=str(self.template.units) ) - class Meta: - """Metaclass providing extra model definition""" - # Prevent multiple instances of a parameter for a single part - unique_together = ('part', 'template') - part = models.ForeignKey(Part, on_delete=models.CASCADE, related_name='parameters', verbose_name=_('Part'), help_text=_('Parent Part')) template = models.ForeignKey(PartParameterTemplate, on_delete=models.CASCADE, related_name='instances', verbose_name=_('Template'), help_text=_('Parameter Template')) @@ -3424,6 +3424,17 @@ class BomItem(DataImportMixin, models.Model): } } + class Meta: + """Metaclass providing extra model definition""" + verbose_name = _("BOM Item") + + def __str__(self): + """Return a string representation of this BomItem instance""" + return "{n} x {child} to make {parent}".format( + parent=self.part.full_name, + child=self.sub_part.full_name, + n=decimal2string(self.quantity)) + @staticmethod def get_api_url(): """Return the list API endpoint URL associated with the BomItem model""" @@ -3638,17 +3649,6 @@ class BomItem(DataImportMixin, models.Model): except Part.DoesNotExist: raise ValidationError({'sub_part': _('Sub part must be specified')}) - class Meta: - """Metaclass providing extra model definition""" - verbose_name = _("BOM Item") - - def __str__(self): - """Return a string representation of this BomItem instance""" - return "{n} x {child} to make {parent}".format( - parent=self.part.full_name, - child=self.sub_part.full_name, - n=decimal2string(self.quantity)) - def get_overage_quantity(self, quantity): """Calculate overage quantity.""" # Most of the time overage string will be empty diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 643f1d8d2d..21802fc50a 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -46,6 +46,25 @@ from .models import (BomItem, BomItemSubstitute, Part, PartAttachment, class CategorySerializer(InvenTreeModelSerializer): """Serializer for PartCategory.""" + class Meta: + """Metaclass defining serializer fields""" + model = PartCategory + fields = [ + 'pk', + 'name', + 'description', + 'default_location', + 'default_keywords', + 'level', + 'parent', + 'part_count', + 'pathstring', + 'starred', + 'url', + 'structural', + 'icon', + ] + def get_starred(self, category): """Return True if the category is directly "starred" by the current user.""" return category in self.context.get('starred_categories', []) @@ -69,25 +88,6 @@ class CategorySerializer(InvenTreeModelSerializer): starred = serializers.SerializerMethodField() - class Meta: - """Metaclass defining serializer fields""" - model = PartCategory - fields = [ - 'pk', - 'name', - 'description', - 'default_location', - 'default_keywords', - 'level', - 'parent', - 'part_count', - 'pathstring', - 'starred', - 'url', - 'structural', - 'icon', - ] - class CategoryTree(InvenTreeModelSerializer): """Serializer for PartCategory tree.""" @@ -118,8 +118,6 @@ class PartAttachmentSerializer(InvenTreeAttachmentSerializer): class PartTestTemplateSerializer(InvenTreeModelSerializer): """Serializer for the PartTestTemplate class.""" - key = serializers.CharField(read_only=True) - class Meta: """Metaclass defining serializer fields""" model = PartTestTemplate @@ -135,16 +133,12 @@ class PartTestTemplateSerializer(InvenTreeModelSerializer): 'requires_attachment', ] + key = serializers.CharField(read_only=True) + class PartSalePriceSerializer(InvenTreeModelSerializer): """Serializer for sale prices for Part model.""" - quantity = InvenTreeDecimalField() - - price = InvenTreeMoneySerializer(allow_null=True) - - price_currency = InvenTreeCurrencySerializer(help_text=_('Purchase currency of this stock item')) - class Meta: """Metaclass defining serializer fields""" model = PartSellPriceBreak @@ -156,18 +150,16 @@ class PartSalePriceSerializer(InvenTreeModelSerializer): 'price_currency', ] + quantity = InvenTreeDecimalField() + + price = InvenTreeMoneySerializer(allow_null=True) + + price_currency = InvenTreeCurrencySerializer(help_text=_('Purchase currency of this stock item')) + class PartInternalPriceSerializer(InvenTreeModelSerializer): """Serializer for internal prices for Part model.""" - quantity = InvenTreeDecimalField() - - price = InvenTreeMoneySerializer( - allow_null=True - ) - - price_currency = InvenTreeCurrencySerializer(help_text=_('Purchase currency of this stock item')) - class Meta: """Metaclass defining serializer fields""" model = PartInternalPriceBreak @@ -179,6 +171,14 @@ class PartInternalPriceSerializer(InvenTreeModelSerializer): 'price_currency', ] + quantity = InvenTreeDecimalField() + + price = InvenTreeMoneySerializer( + allow_null=True + ) + + price_currency = InvenTreeCurrencySerializer(help_text=_('Purchase currency of this stock item')) + class PartThumbSerializer(serializers.Serializer): """Serializer for the 'image' field of the Part model. @@ -193,6 +193,13 @@ class PartThumbSerializer(serializers.Serializer): class PartThumbSerializerUpdate(InvenTreeModelSerializer): """Serializer for updating Part thumbnail.""" + class Meta: + """Metaclass defining serializer fields""" + model = Part + fields = [ + 'image', + ] + def validate_image(self, value): """Check that file is an image.""" validate = imghdr.what(value) @@ -202,13 +209,6 @@ class PartThumbSerializerUpdate(InvenTreeModelSerializer): image = InvenTreeAttachmentSerializerField(required=True) - class Meta: - """Metaclass defining serializer fields""" - model = Part - fields = [ - 'image', - ] - class PartParameterTemplateSerializer(InvenTreeModelSerializer): """JSON serializer for the PartParameterTemplate model.""" @@ -227,6 +227,17 @@ class PartParameterTemplateSerializer(InvenTreeModelSerializer): class PartParameterSerializer(InvenTreeModelSerializer): """JSON serializers for the PartParameter model.""" + class Meta: + """Metaclass defining serializer fields""" + model = PartParameter + fields = [ + 'pk', + 'part', + 'template', + 'template_detail', + 'data' + ] + def __init__(self, *args, **kwargs): """Custom initialization method for the serializer. @@ -242,23 +253,10 @@ class PartParameterSerializer(InvenTreeModelSerializer): template_detail = PartParameterTemplateSerializer(source='template', many=False, read_only=True) - class Meta: - """Metaclass defining serializer fields""" - model = PartParameter - fields = [ - 'pk', - 'part', - 'template', - 'template_detail', - 'data' - ] - class PartBriefSerializer(InvenTreeModelSerializer): """Serializer for Part (brief detail)""" - thumbnail = serializers.CharField(source='get_thumbnail_url', read_only=True) - class Meta: """Metaclass defining serializer fields""" model = Part @@ -286,6 +284,8 @@ class PartBriefSerializer(InvenTreeModelSerializer): 'barcode_hash', ] + thumbnail = serializers.CharField(source='get_thumbnail_url', read_only=True) + class DuplicatePartSerializer(serializers.Serializer): """Serializer for specifying options when duplicating a Part. @@ -400,22 +400,65 @@ class PartSerializer(RemoteImageMixin, InvenTreeModelSerializer): Used when displaying all details of a single component. """ - def get_api_url(self): - """Return the API url associated with this serializer""" - return reverse_lazy('api-part-list') + class Meta: + """Metaclass defining serializer fields""" + model = Part + partial = True + fields = [ + 'active', + 'allocated_to_build_orders', + 'allocated_to_sales_orders', + 'assembly', + 'barcode_hash', + 'category', + 'category_detail', + 'component', + 'default_expiry', + 'default_location', + 'default_supplier', + 'description', + 'full_name', + 'image', + 'in_stock', + 'variant_stock', + 'ordering', + 'building', + 'IPN', + 'is_template', + 'keywords', + 'last_stocktake', + 'link', + 'minimum_stock', + 'name', + 'notes', + 'parameters', + 'pk', + 'purchaseable', + 'remote_image', + 'revision', + 'salable', + 'starred', + 'stock_item_count', + 'suppliers', + 'thumbnail', + 'trackable', + 'unallocated_stock', + 'units', + 'variant_of', + 'virtual', + 'pricing_min', + 'pricing_max', + 'responsible', - def skip_create_fields(self): - """Skip these fields when instantiating a new Part instance""" - - fields = super().skip_create_fields() - - fields += [ + # Fields only used for Part creation 'duplicate', 'initial_stock', 'initial_supplier', ] - return fields + read_only_fields = [ + 'barcode_hash', + ] def __init__(self, *args, **kwargs): """Custom initialization method for PartSerializer: @@ -443,6 +486,23 @@ class PartSerializer(RemoteImageMixin, InvenTreeModelSerializer): for f in self.skip_create_fields()[1:]: self.fields.pop(f) + def get_api_url(self): + """Return the API url associated with this serializer""" + return reverse_lazy('api-part-list') + + def skip_create_fields(self): + """Skip these fields when instantiating a new Part instance""" + + fields = super().skip_create_fields() + + fields += [ + 'duplicate', + 'initial_stock', + 'initial_supplier', + ] + + return fields + @staticmethod def annotate_queryset(queryset): """Add some extra annotations to the queryset. @@ -553,66 +613,6 @@ class PartSerializer(RemoteImageMixin, InvenTreeModelSerializer): write_only=True, required=False, ) - class Meta: - """Metaclass defining serializer fields""" - model = Part - partial = True - fields = [ - 'active', - 'allocated_to_build_orders', - 'allocated_to_sales_orders', - 'assembly', - 'barcode_hash', - 'category', - 'category_detail', - 'component', - 'default_expiry', - 'default_location', - 'default_supplier', - 'description', - 'full_name', - 'image', - 'in_stock', - 'variant_stock', - 'ordering', - 'building', - 'IPN', - 'is_template', - 'keywords', - 'last_stocktake', - 'link', - 'minimum_stock', - 'name', - 'notes', - 'parameters', - 'pk', - 'purchaseable', - 'remote_image', - 'revision', - 'salable', - 'starred', - 'stock_item_count', - 'suppliers', - 'thumbnail', - 'trackable', - 'unallocated_stock', - 'units', - 'variant_of', - 'virtual', - 'pricing_min', - 'pricing_max', - 'responsible', - - # Fields only used for Part creation - 'duplicate', - 'initial_stock', - 'initial_supplier', - ] - - read_only_fields = [ - 'barcode_hash', - ] - @transaction.atomic def create(self, validated_data): """Custom method for creating a new Part instance using this serializer""" @@ -708,16 +708,6 @@ class PartSerializer(RemoteImageMixin, InvenTreeModelSerializer): class PartStocktakeSerializer(InvenTreeModelSerializer): """Serializer for the PartStocktake model""" - quantity = serializers.FloatField() - - user_detail = UserSerializer(source='user', read_only=True, many=False) - - cost_min = InvenTreeMoneySerializer(allow_null=True) - cost_min_currency = InvenTreeCurrencySerializer() - - cost_max = InvenTreeMoneySerializer(allow_null=True) - cost_max_currency = InvenTreeCurrencySerializer() - class Meta: """Metaclass options""" @@ -742,6 +732,16 @@ class PartStocktakeSerializer(InvenTreeModelSerializer): 'user', ] + quantity = serializers.FloatField() + + user_detail = UserSerializer(source='user', read_only=True, many=False) + + cost_min = InvenTreeMoneySerializer(allow_null=True) + cost_min_currency = InvenTreeCurrencySerializer() + + cost_max = InvenTreeMoneySerializer(allow_null=True) + cost_max_currency = InvenTreeCurrencySerializer() + def save(self): """Called when this serializer is saved""" @@ -757,10 +757,6 @@ class PartStocktakeSerializer(InvenTreeModelSerializer): class PartStocktakeReportSerializer(InvenTreeModelSerializer): """Serializer for stocktake report class""" - user_detail = UserSerializer(source='user', read_only=True, many=False) - - report = InvenTreeAttachmentSerializerField(read_only=True) - class Meta: """Metaclass defines serializer fields""" @@ -774,6 +770,10 @@ class PartStocktakeReportSerializer(InvenTreeModelSerializer): 'user_detail', ] + user_detail = UserSerializer(source='user', read_only=True, many=False) + + report = InvenTreeAttachmentSerializerField(read_only=True) + class PartStocktakeReportGenerateSerializer(serializers.Serializer): """Serializer class for manually generating a new PartStocktakeReport via the API""" @@ -843,6 +843,32 @@ class PartStocktakeReportGenerateSerializer(serializers.Serializer): class PartPricingSerializer(InvenTreeModelSerializer): """Serializer for Part pricing information""" + class Meta: + """Metaclass defining serializer fields""" + model = PartPricing + fields = [ + 'currency', + 'updated', + 'scheduled_for_update', + 'bom_cost_min', + 'bom_cost_max', + 'purchase_cost_min', + 'purchase_cost_max', + 'internal_cost_min', + 'internal_cost_max', + 'supplier_price_min', + 'supplier_price_max', + 'variant_cost_min', + 'variant_cost_max', + 'overall_min', + 'overall_max', + 'sale_price_min', + 'sale_price_max', + 'sale_history_min', + 'sale_history_max', + 'update', + ] + currency = serializers.CharField(allow_null=True, read_only=True) updated = serializers.DateTimeField(allow_null=True, read_only=True) @@ -882,32 +908,6 @@ class PartPricingSerializer(InvenTreeModelSerializer): required=False, ) - class Meta: - """Metaclass defining serializer fields""" - model = PartPricing - fields = [ - 'currency', - 'updated', - 'scheduled_for_update', - 'bom_cost_min', - 'bom_cost_max', - 'purchase_cost_min', - 'purchase_cost_max', - 'internal_cost_min', - 'internal_cost_max', - 'supplier_price_min', - 'supplier_price_max', - 'variant_cost_min', - 'variant_cost_max', - 'overall_min', - 'overall_max', - 'sale_price_min', - 'sale_price_max', - 'sale_history_min', - 'sale_history_max', - 'update', - ] - def save(self): """Called when the serializer is saved""" data = self.validated_data @@ -921,9 +921,6 @@ class PartPricingSerializer(InvenTreeModelSerializer): class PartRelationSerializer(InvenTreeModelSerializer): """Serializer for a PartRelated model.""" - part_1_detail = PartSerializer(source='part_1', read_only=True, many=False) - part_2_detail = PartSerializer(source='part_2', read_only=True, many=False) - class Meta: """Metaclass defining serializer fields""" model = PartRelated @@ -935,13 +932,13 @@ class PartRelationSerializer(InvenTreeModelSerializer): 'part_2_detail', ] + part_1_detail = PartSerializer(source='part_1', read_only=True, many=False) + part_2_detail = PartSerializer(source='part_2', read_only=True, many=False) + class PartStarSerializer(InvenTreeModelSerializer): """Serializer for a PartStar object.""" - partname = serializers.CharField(source='part.full_name', read_only=True) - username = serializers.CharField(source='user.username', read_only=True) - class Meta: """Metaclass defining serializer fields""" model = PartStar @@ -953,12 +950,13 @@ class PartStarSerializer(InvenTreeModelSerializer): 'username', ] + partname = serializers.CharField(source='part.full_name', read_only=True) + username = serializers.CharField(source='user.username', read_only=True) + class BomItemSubstituteSerializer(InvenTreeModelSerializer): """Serializer for the BomItemSubstitute class.""" - part_detail = PartBriefSerializer(source='part', read_only=True, many=False) - class Meta: """Metaclass defining serializer fields""" model = BomItemSubstitute @@ -969,10 +967,60 @@ class BomItemSubstituteSerializer(InvenTreeModelSerializer): 'part_detail', ] + part_detail = PartBriefSerializer(source='part', read_only=True, many=False) + class BomItemSerializer(InvenTreeModelSerializer): """Serializer for BomItem object.""" + class Meta: + """Metaclass defining serializer fields""" + model = BomItem + fields = [ + 'allow_variants', + 'inherited', + 'note', + 'optional', + 'consumable', + 'overage', + 'pk', + 'part', + 'part_detail', + 'pricing_min', + 'pricing_max', + 'quantity', + 'reference', + 'sub_part', + 'sub_part_detail', + 'substitutes', + 'validated', + + # Annotated fields describing available quantity + 'available_stock', + 'available_substitute_stock', + 'available_variant_stock', + + # Annotated field describing quantity on order + 'on_order', + ] + + def __init__(self, *args, **kwargs): + """Determine if extra detail fields are to be annotated on this serializer + + - part_detail and sub_part_detail serializers are only included if requested. + - This saves a bunch of database requests + """ + part_detail = kwargs.pop('part_detail', False) + sub_part_detail = kwargs.pop('sub_part_detail', False) + + super(BomItemSerializer, self).__init__(*args, **kwargs) + + if part_detail is not True: + self.fields.pop('part_detail') + + if sub_part_detail is not True: + self.fields.pop('sub_part_detail') + quantity = InvenTreeDecimalField(required=True) def validate_quantity(self, quantity): @@ -1005,23 +1053,6 @@ class BomItemSerializer(InvenTreeModelSerializer): available_substitute_stock = serializers.FloatField(read_only=True) available_variant_stock = serializers.FloatField(read_only=True) - def __init__(self, *args, **kwargs): - """Determine if extra detail fields are to be annotated on this serializer - - - part_detail and sub_part_detail serializers are only included if requested. - - This saves a bunch of database requests - """ - part_detail = kwargs.pop('part_detail', False) - sub_part_detail = kwargs.pop('sub_part_detail', False) - - super(BomItemSerializer, self).__init__(*args, **kwargs) - - if part_detail is not True: - self.fields.pop('part_detail') - - if sub_part_detail is not True: - self.fields.pop('sub_part_detail') - @staticmethod def setup_eager_loading(queryset): """Prefetch against the provided queryset to speed up database access""" @@ -1116,45 +1147,10 @@ class BomItemSerializer(InvenTreeModelSerializer): return queryset - class Meta: - """Metaclass defining serializer fields""" - model = BomItem - fields = [ - 'allow_variants', - 'inherited', - 'note', - 'optional', - 'consumable', - 'overage', - 'pk', - 'part', - 'part_detail', - 'pricing_min', - 'pricing_max', - 'quantity', - 'reference', - 'sub_part', - 'sub_part_detail', - 'substitutes', - 'validated', - - # Annotated fields describing available quantity - 'available_stock', - 'available_substitute_stock', - 'available_variant_stock', - - # Annotated field describing quantity on order - 'on_order', - ] - class CategoryParameterTemplateSerializer(InvenTreeModelSerializer): """Serializer for the PartCategoryParameterTemplate model.""" - parameter_template_detail = PartParameterTemplateSerializer(source='parameter_template', many=False, read_only=True) - - category_detail = CategorySerializer(source='category', many=False, read_only=True) - class Meta: """Metaclass defining serializer fields""" model = PartCategoryParameterTemplate @@ -1167,6 +1163,10 @@ class CategoryParameterTemplateSerializer(InvenTreeModelSerializer): 'default_value', ] + parameter_template_detail = PartParameterTemplateSerializer(source='parameter_template', many=False, read_only=True) + + category_detail = CategorySerializer(source='category', many=False, read_only=True) + class PartCopyBOMSerializer(serializers.Serializer): """Serializer for copying a BOM from another part.""" diff --git a/InvenTree/plugin/serializers.py b/InvenTree/plugin/serializers.py index 913ed66011..c7c892fe77 100644 --- a/InvenTree/plugin/serializers.py +++ b/InvenTree/plugin/serializers.py @@ -18,11 +18,6 @@ class MetadataSerializer(serializers.ModelSerializer): metadata = serializers.JSONField(required=True) - def __init__(self, model_type, *args, **kwargs): - """Initialize the metadata serializer with information on the model type""" - self.Meta.model = model_type - super().__init__(*args, **kwargs) - class Meta: """Metaclass options.""" @@ -30,6 +25,11 @@ class MetadataSerializer(serializers.ModelSerializer): 'metadata', ] + def __init__(self, model_type, *args, **kwargs): + """Initialize the metadata serializer with information on the model type""" + self.Meta.model = model_type + super().__init__(*args, **kwargs) + def update(self, instance, data): """Perform update on the metadata field: @@ -48,9 +48,6 @@ class MetadataSerializer(serializers.ModelSerializer): class PluginConfigSerializer(serializers.ModelSerializer): """Serializer for a PluginConfig.""" - meta = serializers.DictField(read_only=True) - mixins = serializers.DictField(read_only=True) - class Meta: """Meta for serializer.""" model = PluginConfig @@ -62,10 +59,21 @@ class PluginConfigSerializer(serializers.ModelSerializer): 'mixins', ] + meta = serializers.DictField(read_only=True) + mixins = serializers.DictField(read_only=True) + class PluginConfigInstallSerializer(serializers.Serializer): """Serializer for installing a new plugin.""" + class Meta: + """Meta for serializer.""" + fields = [ + 'url', + 'packagename', + 'confirm', + ] + url = serializers.CharField( required=False, allow_blank=True, @@ -83,14 +91,6 @@ class PluginConfigInstallSerializer(serializers.Serializer): help_text=_('This will install this plugin now into the current instance. The instance will go into maintenance.') ) - class Meta: - """Meta for serializer.""" - fields = [ - 'url', - 'packagename', - 'confirm', - ] - def validate(self, data): """Validate inputs. diff --git a/InvenTree/report/models.py b/InvenTree/report/models.py index ea454d581d..668fe0509c 100644 --- a/InvenTree/report/models.py +++ b/InvenTree/report/models.py @@ -180,6 +180,10 @@ class ReportTemplateBase(ReportBase): Able to be passed context data """ + class Meta: + """Metaclass options. Abstract ensures no database table is created.""" + abstract = True + # Pass a single top-level object to the report template object_to_print = None @@ -255,11 +259,6 @@ class ReportTemplateBase(ReportBase): help_text=_('Report template is enabled'), ) - class Meta: - """Metaclass options. Abstract ensures no database table is created.""" - - abstract = True - class TestReport(ReportTemplateBase): """Render a TestReport against a StockItem object.""" diff --git a/InvenTree/report/serializers.py b/InvenTree/report/serializers.py index 50e9592373..155da6e7cc 100644 --- a/InvenTree/report/serializers.py +++ b/InvenTree/report/serializers.py @@ -10,8 +10,6 @@ from .models import (BillOfMaterialsReport, BuildReport, PurchaseOrderReport, class TestReportSerializer(InvenTreeModelSerializer): """Serializer class for the TestReport model""" - template = InvenTreeAttachmentSerializerField(required=True) - class Meta: """Metaclass options.""" @@ -25,12 +23,12 @@ class TestReportSerializer(InvenTreeModelSerializer): 'enabled', ] + template = InvenTreeAttachmentSerializerField(required=True) + class BuildReportSerializer(InvenTreeModelSerializer): """Serializer class for the BuildReport model""" - template = InvenTreeAttachmentSerializerField(required=True) - class Meta: """Metaclass options.""" @@ -44,10 +42,11 @@ class BuildReportSerializer(InvenTreeModelSerializer): 'enabled', ] + template = InvenTreeAttachmentSerializerField(required=True) + class BOMReportSerializer(InvenTreeModelSerializer): """Serializer class for the BillOfMaterialsReport model""" - template = InvenTreeAttachmentSerializerField(required=True) class Meta: """Metaclass options.""" @@ -62,10 +61,11 @@ class BOMReportSerializer(InvenTreeModelSerializer): 'enabled', ] + template = InvenTreeAttachmentSerializerField(required=True) + class PurchaseOrderReportSerializer(InvenTreeModelSerializer): """Serializer class for the PurchaseOrdeReport model""" - template = InvenTreeAttachmentSerializerField(required=True) class Meta: """Metaclass options.""" @@ -80,10 +80,11 @@ class PurchaseOrderReportSerializer(InvenTreeModelSerializer): 'enabled', ] + template = InvenTreeAttachmentSerializerField(required=True) + class SalesOrderReportSerializer(InvenTreeModelSerializer): """Serializer class for the SalesOrderReport model""" - template = InvenTreeAttachmentSerializerField(required=True) class Meta: """Metaclass options.""" @@ -97,3 +98,5 @@ class SalesOrderReportSerializer(InvenTreeModelSerializer): 'filters', 'enabled', ] + + template = InvenTreeAttachmentSerializerField(required=True) diff --git a/InvenTree/stock/admin.py b/InvenTree/stock/admin.py index 7f16d2d5c8..0703688be5 100644 --- a/InvenTree/stock/admin.py +++ b/InvenTree/stock/admin.py @@ -20,16 +20,6 @@ from .models import (StockItem, StockItemAttachment, StockItemTestResult, class LocationResource(InvenTreeResource): """Class for managing StockLocation data import/export.""" - id = Field(attribute='pk', column_name=_('Location ID')) - name = Field(attribute='name', column_name=_('Location Name')) - description = Field(attribute='description', column_name=_('Description')) - parent = Field(attribute='parent', column_name=_('Parent ID'), widget=widgets.ForeignKeyWidget(StockLocation)) - parent_name = Field(attribute='parent__name', column_name=_('Parent Name'), readonly=True) - pathstring = Field(attribute='pathstring', column_name=_('Location Path')) - - # Calculated fields - items = Field(attribute='item_count', column_name=_('Stock Items'), widget=widgets.IntegerWidget()) - class Meta: """Metaclass options.""" @@ -46,6 +36,16 @@ class LocationResource(InvenTreeResource): 'owner', 'icon', ] + id = Field(attribute='pk', column_name=_('Location ID')) + name = Field(attribute='name', column_name=_('Location Name')) + description = Field(attribute='description', column_name=_('Description')) + parent = Field(attribute='parent', column_name=_('Parent ID'), widget=widgets.ForeignKeyWidget(StockLocation)) + parent_name = Field(attribute='parent__name', column_name=_('Parent Name'), readonly=True) + pathstring = Field(attribute='pathstring', column_name=_('Location Path')) + + # Calculated fields + items = Field(attribute='item_count', column_name=_('Stock Items'), widget=widgets.IntegerWidget()) + def after_import(self, dataset, result, using_transactions, dry_run, **kwargs): """Rebuild after import to keep tree intact.""" super().after_import(dataset, result, using_transactions, dry_run, **kwargs) @@ -80,6 +80,23 @@ class LocationAdmin(ImportExportModelAdmin): class StockItemResource(InvenTreeResource): """Class for managing StockItem data import/export.""" + class Meta: + """Metaclass options.""" + + model = StockItem + skip_unchanged = True + report_skipped = False + clean_model_instance = True + + exclude = [ + # Exclude MPTT internal model fields + 'lft', 'rght', 'tree_id', 'level', + # Exclude internal fields + 'serial_int', 'metadata', + 'barcode_hash', 'barcode_data', + 'owner', + ] + id = Field(attribute='pk', column_name=_('Stock Item ID')) part = Field(attribute='part', column_name=_('Part ID'), widget=widgets.ForeignKeyWidget(Part)) part_name = Field(attribute='part__full_name', column_name=_('Part Name'), readonly=True) @@ -114,23 +131,6 @@ class StockItemResource(InvenTreeResource): # Rebuild the StockItem tree(s) StockItem.objects.rebuild() - class Meta: - """Metaclass options.""" - - model = StockItem - skip_unchanged = True - report_skipped = False - clean_model_instance = True - - exclude = [ - # Exclude MPTT internal model fields - 'lft', 'rght', 'tree_id', 'level', - # Exclude internal fields - 'serial_int', 'metadata', - 'barcode_hash', 'barcode_data', - 'owner', - ] - class StockItemAdmin(ImportExportModelAdmin): """Admin class for StockItem.""" diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 58871a55b2..99b0866792 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -46,10 +46,6 @@ class LocationBriefSerializer(InvenTree.serializers.InvenTreeModelSerializer): class StockItemSerializerBrief(InvenTree.serializers.InvenTreeModelSerializer): """Brief serializers for a StockItem.""" - part_name = serializers.CharField(source='part.full_name', read_only=True) - - quantity = InvenTreeDecimalField() - class Meta: """Metaclass options.""" @@ -69,6 +65,10 @@ class StockItemSerializerBrief(InvenTree.serializers.InvenTreeModelSerializer): 'barcode_hash', ] + part_name = serializers.CharField(source='part.full_name', read_only=True) + + quantity = InvenTreeDecimalField() + def validate_serial(self, value): """Make sure serial is not to big.""" if abs(extract_int(value)) > 0x7fffffff: @@ -83,6 +83,60 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeModelSerializer): - Includes serialization for the item location """ + class Meta: + """Metaclass options.""" + + model = StockItem + fields = [ + 'allocated', + 'batch', + 'belongs_to', + 'build', + 'customer', + 'delete_on_deplete', + 'expired', + 'expiry_date', + 'is_building', + 'link', + 'location', + 'location_detail', + 'notes', + 'owner', + 'packaging', + 'part', + 'part_detail', + 'purchase_order', + 'purchase_order_reference', + 'pk', + 'quantity', + 'sales_order', + 'sales_order_reference', + 'serial', + 'stale', + 'status', + 'status_text', + 'stocktake_date', + 'supplier_part', + 'supplier_part_detail', + 'tracking_items', + 'barcode_hash', + 'updated', + 'purchase_price', + 'purchase_price_currency', + ] + + """ + These fields are read-only in this context. + They can be updated by accessing the appropriate API endpoints + """ + read_only_fields = [ + 'allocated', + 'barcode_hash', + 'stocktake_date', + 'stocktake_user', + 'updated', + ] + part = serializers.PrimaryKeyRelatedField( queryset=part_models.Part.objects.all(), many=False, allow_null=False, @@ -197,60 +251,6 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeModelSerializer): if supplier_part_detail is not True: self.fields.pop('supplier_part_detail') - class Meta: - """Metaclass options.""" - - model = StockItem - fields = [ - 'allocated', - 'batch', - 'belongs_to', - 'build', - 'customer', - 'delete_on_deplete', - 'expired', - 'expiry_date', - 'is_building', - 'link', - 'location', - 'location_detail', - 'notes', - 'owner', - 'packaging', - 'part', - 'part_detail', - 'purchase_order', - 'purchase_order_reference', - 'pk', - 'quantity', - 'sales_order', - 'sales_order_reference', - 'serial', - 'stale', - 'status', - 'status_text', - 'stocktake_date', - 'supplier_part', - 'supplier_part_detail', - 'tracking_items', - 'barcode_hash', - 'updated', - 'purchase_price', - 'purchase_price_currency', - ] - - """ - These fields are read-only in this context. - They can be updated by accessing the appropriate API endpoints - """ - read_only_fields = [ - 'allocated', - 'barcode_hash', - 'stocktake_date', - 'stocktake_user', - 'updated', - ] - class SerializeStockItemSerializer(serializers.Serializer): """A DRF serializer for "serializing" a StockItem. @@ -567,23 +567,6 @@ class LocationTreeSerializer(InvenTree.serializers.InvenTreeModelSerializer): class LocationSerializer(InvenTree.serializers.InvenTreeModelSerializer): """Detailed information about a stock location.""" - @staticmethod - def annotate_queryset(queryset): - """Annotate extra information to the queryset""" - - # Annotate the number of stock items which exist in this category (including subcategories) - queryset = queryset.annotate( - items=stock.filters.annotate_location_items() - ) - - return queryset - - url = serializers.CharField(source='get_absolute_url', read_only=True) - - items = serializers.IntegerField(read_only=True) - - level = serializers.IntegerField(read_only=True) - class Meta: """Metaclass options.""" @@ -607,6 +590,23 @@ class LocationSerializer(InvenTree.serializers.InvenTreeModelSerializer): 'barcode_hash', ] + @staticmethod + def annotate_queryset(queryset): + """Annotate extra information to the queryset""" + + # Annotate the number of stock items which exist in this category (including subcategories) + queryset = queryset.annotate( + items=stock.filters.annotate_location_items() + ) + + return queryset + + url = serializers.CharField(source='get_absolute_url', read_only=True) + + items = serializers.IntegerField(read_only=True) + + level = serializers.IntegerField(read_only=True) + class StockItemAttachmentSerializer(InvenTree.serializers.InvenTreeAttachmentSerializer): """Serializer for StockItemAttachment model.""" @@ -624,21 +624,6 @@ class StockItemAttachmentSerializer(InvenTree.serializers.InvenTreeAttachmentSer class StockItemTestResultSerializer(InvenTree.serializers.InvenTreeModelSerializer): """Serializer for the StockItemTestResult model.""" - user_detail = InvenTree.serializers.UserSerializer(source='user', read_only=True) - - key = serializers.CharField(read_only=True) - - attachment = InvenTree.serializers.InvenTreeAttachmentSerializerField(required=False) - - def __init__(self, *args, **kwargs): - """Add detail fields.""" - user_detail = kwargs.pop('user_detail', False) - - super().__init__(*args, **kwargs) - - if user_detail is not True: - self.fields.pop('user_detail') - class Meta: """Metaclass options.""" @@ -664,30 +649,24 @@ class StockItemTestResultSerializer(InvenTree.serializers.InvenTreeModelSerializ 'date', ] - -class StockTrackingSerializer(InvenTree.serializers.InvenTreeModelSerializer): - """Serializer for StockItemTracking model.""" - def __init__(self, *args, **kwargs): """Add detail fields.""" - item_detail = kwargs.pop('item_detail', False) user_detail = kwargs.pop('user_detail', False) super().__init__(*args, **kwargs) - if item_detail is not True: - self.fields.pop('item_detail') - if user_detail is not True: self.fields.pop('user_detail') - label = serializers.CharField(read_only=True) + user_detail = InvenTree.serializers.UserSerializer(source='user', read_only=True) - item_detail = StockItemSerializerBrief(source='item', many=False, read_only=True) + key = serializers.CharField(read_only=True) - user_detail = InvenTree.serializers.UserSerializer(source='user', many=False, read_only=True) + attachment = InvenTree.serializers.InvenTreeAttachmentSerializerField(required=False) - deltas = serializers.JSONField(read_only=True) + +class StockTrackingSerializer(InvenTree.serializers.InvenTreeModelSerializer): + """Serializer for StockItemTracking model.""" class Meta: """Metaclass options.""" @@ -713,6 +692,27 @@ class StockTrackingSerializer(InvenTree.serializers.InvenTreeModelSerializer): 'tracking_type', ] + def __init__(self, *args, **kwargs): + """Add detail fields.""" + item_detail = kwargs.pop('item_detail', False) + user_detail = kwargs.pop('user_detail', False) + + super().__init__(*args, **kwargs) + + if item_detail is not True: + self.fields.pop('item_detail') + + if user_detail is not True: + self.fields.pop('user_detail') + + label = serializers.CharField(read_only=True) + + item_detail = StockItemSerializerBrief(source='item', many=False, read_only=True) + + user_detail = InvenTree.serializers.UserSerializer(source='user', many=False, read_only=True) + + deltas = serializers.JSONField(read_only=True) + class StockAssignmentItemSerializer(serializers.Serializer): """Serializer for a single StockItem with in StockAssignment request. @@ -1124,15 +1124,6 @@ class StockRemoveSerializer(StockAdjustmentSerializer): class StockTransferSerializer(StockAdjustmentSerializer): """Serializer for transferring (moving) stock item(s).""" - location = serializers.PrimaryKeyRelatedField( - queryset=StockLocation.objects.all(), - many=False, - required=True, - allow_null=False, - label=_('Location'), - help_text=_('Destination stock location'), - ) - class Meta: """Metaclass options.""" @@ -1142,6 +1133,15 @@ class StockTransferSerializer(StockAdjustmentSerializer): 'location', ] + location = serializers.PrimaryKeyRelatedField( + queryset=StockLocation.objects.all(), + many=False, + required=True, + allow_null=False, + label=_('Location'), + help_text=_('Destination stock location'), + ) + def save(self): """Transfer stock.""" request = self.context['request'] diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index c4b81fc174..f5d5ce2148 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -562,6 +562,14 @@ class Owner(models.Model): owner: Returns the Group or User instance combining the owner_type and owner_id fields """ + class Meta: + """Metaclass defines extra model properties""" + # Ensure all owners are unique + constraints = [ + UniqueConstraint(fields=['owner_type', 'owner_id'], + name='unique_owner') + ] + @classmethod def get_owners_matching_user(cls, user): """Return all "owner" objects matching the provided user. @@ -594,14 +602,6 @@ class Owner(models.Model): """Returns the API endpoint URL associated with the Owner model""" return reverse('api-owner-list') - class Meta: - """Metaclass defines extra model properties""" - # Ensure all owners are unique - constraints = [ - UniqueConstraint(fields=['owner_type', 'owner_id'], - name='unique_owner') - ] - owner_type = models.ForeignKey(ContentType, on_delete=models.CASCADE, null=True, blank=True) owner_id = models.PositiveIntegerField(null=True, blank=True) diff --git a/InvenTree/users/serializers.py b/InvenTree/users/serializers.py index 153fd02d8e..9b4fd48353 100644 --- a/InvenTree/users/serializers.py +++ b/InvenTree/users/serializers.py @@ -12,10 +12,6 @@ from .models import Owner class OwnerSerializer(InvenTreeModelSerializer): """Serializer for an "Owner" (either a "user" or a "group")""" - name = serializers.CharField(read_only=True) - - label = serializers.CharField(read_only=True) - class Meta: """Metaclass defines serializer fields.""" model = Owner @@ -26,6 +22,10 @@ class OwnerSerializer(InvenTreeModelSerializer): 'label', ] + name = serializers.CharField(read_only=True) + + label = serializers.CharField(read_only=True) + class GroupSerializer(InvenTreeModelSerializer): """Serializer for a 'Group'""" From e78161bd0069c46047d5304cccfea91ac291d177 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 18 Feb 2023 19:40:09 +1100 Subject: [PATCH 012/140] Add FAQ link to issues template (#4364) --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index f728e5baf8..aeff58f965 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -6,7 +6,7 @@ body: id: no-duplicate-issues attributes: label: "Please verify that this bug has NOT been raised before." - description: "Search in the issues sections by clicking [HERE](https://github.com/inventree/inventree/issues?q=)" + description: "Search in the issues sections by clicking [HERE](https://github.com/inventree/inventree/issues?q=) and read the [Frequently Asked Questions](https://docs.inventree.org/en/latest/faq/)!" options: - label: "I checked and didn't find a similar issue" required: true From 32be1b2035fc094db2563da0c3ece94cfc671848 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sun, 19 Feb 2023 11:33:04 +0100 Subject: [PATCH 013/140] Update dependencies (#4368) * update reqs * bump pre-commit * remove bugbear --- .pre-commit-config.yaml | 5 +- requirements-dev.txt | 196 +++++++++++++++++++++++++++++----------- requirements.in | 2 +- requirements.txt | 34 ++++--- 4 files changed, 163 insertions(+), 74 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8c2b4d80a1..0c259e9978 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -19,17 +19,16 @@ repos: hooks: - id: flake8 additional_dependencies: [ - 'flake8-bugbear', 'flake8-docstrings', 'flake8-string-format', 'pep8-naming ', ] - repo: https://github.com/pycqa/isort - rev: '5.11.4' + rev: '5.12.0' hooks: - id: isort - repo: https://github.com/jazzband/pip-tools - rev: 6.12.1 + rev: 6.12.2 hooks: - id: pip-compile name: pip-compile requirements-dev.in diff --git a/requirements-dev.txt b/requirements-dev.txt index ba6861e813..cf08515231 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -10,9 +10,9 @@ asgiref==3.6.0 \ # via # -c requirements.txt # django -build==0.9.0 \ - --hash=sha256:1a07724e891cbd898923145eb7752ee7653674c511378eb9c7691aab1612bc3c \ - --hash=sha256:38a7a2b7a0bdc61a42a0a67509d88c71ecfc37b393baba770fae34e20929ff69 +build==0.10.0 \ + --hash=sha256:af266720050a66c893a6096a2f410989eeac74ff9a68ba194b3f6473e8e26171 \ + --hash=sha256:d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269 # via pip-tools certifi==2022.12.7 \ --hash=sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3 \ @@ -24,9 +24,95 @@ cfgv==3.3.1 \ --hash=sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426 \ --hash=sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736 # via pre-commit -charset-normalizer==2.1.1 \ - --hash=sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845 \ - --hash=sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f +charset-normalizer==3.0.1 \ + --hash=sha256:00d3ffdaafe92a5dc603cb9bd5111aaa36dfa187c8285c543be562e61b755f6b \ + --hash=sha256:024e606be3ed92216e2b6952ed859d86b4cfa52cd5bc5f050e7dc28f9b43ec42 \ + --hash=sha256:0298eafff88c99982a4cf66ba2efa1128e4ddaca0b05eec4c456bbc7db691d8d \ + --hash=sha256:02a51034802cbf38db3f89c66fb5d2ec57e6fe7ef2f4a44d070a593c3688667b \ + --hash=sha256:083c8d17153ecb403e5e1eb76a7ef4babfc2c48d58899c98fcaa04833e7a2f9a \ + --hash=sha256:0a11e971ed097d24c534c037d298ad32c6ce81a45736d31e0ff0ad37ab437d59 \ + --hash=sha256:0bf2dae5291758b6f84cf923bfaa285632816007db0330002fa1de38bfcb7154 \ + --hash=sha256:0c0a590235ccd933d9892c627dec5bc7511ce6ad6c1011fdf5b11363022746c1 \ + --hash=sha256:0f438ae3532723fb6ead77e7c604be7c8374094ef4ee2c5e03a3a17f1fca256c \ + --hash=sha256:109487860ef6a328f3eec66f2bf78b0b72400280d8f8ea05f69c51644ba6521a \ + --hash=sha256:11b53acf2411c3b09e6af37e4b9005cba376c872503c8f28218c7243582df45d \ + --hash=sha256:12db3b2c533c23ab812c2b25934f60383361f8a376ae272665f8e48b88e8e1c6 \ + --hash=sha256:14e76c0f23218b8f46c4d87018ca2e441535aed3632ca134b10239dfb6dadd6b \ + --hash=sha256:16a8663d6e281208d78806dbe14ee9903715361cf81f6d4309944e4d1e59ac5b \ + --hash=sha256:292d5e8ba896bbfd6334b096e34bffb56161c81408d6d036a7dfa6929cff8783 \ + --hash=sha256:2c03cc56021a4bd59be889c2b9257dae13bf55041a3372d3295416f86b295fb5 \ + --hash=sha256:2e396d70bc4ef5325b72b593a72c8979999aa52fb8bcf03f701c1b03e1166918 \ + --hash=sha256:2edb64ee7bf1ed524a1da60cdcd2e1f6e2b4f66ef7c077680739f1641f62f555 \ + --hash=sha256:31a9ddf4718d10ae04d9b18801bd776693487cbb57d74cc3458a7673f6f34639 \ + --hash=sha256:356541bf4381fa35856dafa6a965916e54bed415ad8a24ee6de6e37deccf2786 \ + --hash=sha256:358a7c4cb8ba9b46c453b1dd8d9e431452d5249072e4f56cfda3149f6ab1405e \ + --hash=sha256:37f8febc8ec50c14f3ec9637505f28e58d4f66752207ea177c1d67df25da5aed \ + --hash=sha256:39049da0ffb96c8cbb65cbf5c5f3ca3168990adf3551bd1dee10c48fce8ae820 \ + --hash=sha256:39cf9ed17fe3b1bc81f33c9ceb6ce67683ee7526e65fde1447c772afc54a1bb8 \ + --hash=sha256:3ae1de54a77dc0d6d5fcf623290af4266412a7c4be0b1ff7444394f03f5c54e3 \ + --hash=sha256:3b590df687e3c5ee0deef9fc8c547d81986d9a1b56073d82de008744452d6541 \ + --hash=sha256:3e45867f1f2ab0711d60c6c71746ac53537f1684baa699f4f668d4c6f6ce8e14 \ + --hash=sha256:3fc1c4a2ffd64890aebdb3f97e1278b0cc72579a08ca4de8cd2c04799a3a22be \ + --hash=sha256:4457ea6774b5611f4bed5eaa5df55f70abde42364d498c5134b7ef4c6958e20e \ + --hash=sha256:44ba614de5361b3e5278e1241fda3dc1838deed864b50a10d7ce92983797fa76 \ + --hash=sha256:4a8fcf28c05c1f6d7e177a9a46a1c52798bfe2ad80681d275b10dcf317deaf0b \ + --hash=sha256:4b0d02d7102dd0f997580b51edc4cebcf2ab6397a7edf89f1c73b586c614272c \ + --hash=sha256:502218f52498a36d6bf5ea77081844017bf7982cdbe521ad85e64cabee1b608b \ + --hash=sha256:503e65837c71b875ecdd733877d852adbc465bd82c768a067badd953bf1bc5a3 \ + --hash=sha256:5995f0164fa7df59db4746112fec3f49c461dd6b31b841873443bdb077c13cfc \ + --hash=sha256:59e5686dd847347e55dffcc191a96622f016bc0ad89105e24c14e0d6305acbc6 \ + --hash=sha256:601f36512f9e28f029d9481bdaf8e89e5148ac5d89cffd3b05cd533eeb423b59 \ + --hash=sha256:608862a7bf6957f2333fc54ab4399e405baad0163dc9f8d99cb236816db169d4 \ + --hash=sha256:62595ab75873d50d57323a91dd03e6966eb79c41fa834b7a1661ed043b2d404d \ + --hash=sha256:70990b9c51340e4044cfc394a81f614f3f90d41397104d226f21e66de668730d \ + --hash=sha256:71140351489970dfe5e60fc621ada3e0f41104a5eddaca47a7acb3c1b851d6d3 \ + --hash=sha256:72966d1b297c741541ca8cf1223ff262a6febe52481af742036a0b296e35fa5a \ + --hash=sha256:74292fc76c905c0ef095fe11e188a32ebd03bc38f3f3e9bcb85e4e6db177b7ea \ + --hash=sha256:761e8904c07ad053d285670f36dd94e1b6ab7f16ce62b9805c475b7aa1cffde6 \ + --hash=sha256:772b87914ff1152b92a197ef4ea40efe27a378606c39446ded52c8f80f79702e \ + --hash=sha256:79909e27e8e4fcc9db4addea88aa63f6423ebb171db091fb4373e3312cb6d603 \ + --hash=sha256:7e189e2e1d3ed2f4aebabd2d5b0f931e883676e51c7624826e0a4e5fe8a0bf24 \ + --hash=sha256:7eb33a30d75562222b64f569c642ff3dc6689e09adda43a082208397f016c39a \ + --hash=sha256:81d6741ab457d14fdedc215516665050f3822d3e56508921cc7239f8c8e66a58 \ + --hash=sha256:8499ca8f4502af841f68135133d8258f7b32a53a1d594aa98cc52013fff55678 \ + --hash=sha256:84c3990934bae40ea69a82034912ffe5a62c60bbf6ec5bc9691419641d7d5c9a \ + --hash=sha256:87701167f2a5c930b403e9756fab1d31d4d4da52856143b609e30a1ce7160f3c \ + --hash=sha256:88600c72ef7587fe1708fd242b385b6ed4b8904976d5da0893e31df8b3480cb6 \ + --hash=sha256:8ac7b6a045b814cf0c47f3623d21ebd88b3e8cf216a14790b455ea7ff0135d18 \ + --hash=sha256:8b8af03d2e37866d023ad0ddea594edefc31e827fee64f8de5611a1dbc373174 \ + --hash=sha256:8c7fe7afa480e3e82eed58e0ca89f751cd14d767638e2550c77a92a9e749c317 \ + --hash=sha256:8eade758719add78ec36dc13201483f8e9b5d940329285edcd5f70c0a9edbd7f \ + --hash=sha256:911d8a40b2bef5b8bbae2e36a0b103f142ac53557ab421dc16ac4aafee6f53dc \ + --hash=sha256:93ad6d87ac18e2a90b0fe89df7c65263b9a99a0eb98f0a3d2e079f12a0735837 \ + --hash=sha256:95dea361dd73757c6f1c0a1480ac499952c16ac83f7f5f4f84f0658a01b8ef41 \ + --hash=sha256:9ab77acb98eba3fd2a85cd160851816bfce6871d944d885febf012713f06659c \ + --hash=sha256:9cb3032517f1627cc012dbc80a8ec976ae76d93ea2b5feaa9d2a5b8882597579 \ + --hash=sha256:9cf4e8ad252f7c38dd1f676b46514f92dc0ebeb0db5552f5f403509705e24753 \ + --hash=sha256:9d9153257a3f70d5f69edf2325357251ed20f772b12e593f3b3377b5f78e7ef8 \ + --hash=sha256:a152f5f33d64a6be73f1d30c9cc82dfc73cec6477ec268e7c6e4c7d23c2d2291 \ + --hash=sha256:a16418ecf1329f71df119e8a65f3aa68004a3f9383821edcb20f0702934d8087 \ + --hash=sha256:a60332922359f920193b1d4826953c507a877b523b2395ad7bc716ddd386d866 \ + --hash=sha256:a8d0fc946c784ff7f7c3742310cc8a57c5c6dc31631269876a88b809dbeff3d3 \ + --hash=sha256:ab5de034a886f616a5668aa5d098af2b5385ed70142090e2a31bcbd0af0fdb3d \ + --hash=sha256:c22d3fe05ce11d3671297dc8973267daa0f938b93ec716e12e0f6dee81591dc1 \ + --hash=sha256:c2ac1b08635a8cd4e0cbeaf6f5e922085908d48eb05d44c5ae9eabab148512ca \ + --hash=sha256:c512accbd6ff0270939b9ac214b84fb5ada5f0409c44298361b2f5e13f9aed9e \ + --hash=sha256:c75ffc45f25324e68ab238cb4b5c0a38cd1c3d7f1fb1f72b5541de469e2247db \ + --hash=sha256:c95a03c79bbe30eec3ec2b7f076074f4281526724c8685a42872974ef4d36b72 \ + --hash=sha256:cadaeaba78750d58d3cc6ac4d1fd867da6fc73c88156b7a3212a3cd4819d679d \ + --hash=sha256:cd6056167405314a4dc3c173943f11249fa0f1b204f8b51ed4bde1a9cd1834dc \ + --hash=sha256:db72b07027db150f468fbada4d85b3b2729a3db39178abf5c543b784c1254539 \ + --hash=sha256:df2c707231459e8a4028eabcd3cfc827befd635b3ef72eada84ab13b52e1574d \ + --hash=sha256:e62164b50f84e20601c1ff8eb55620d2ad25fb81b59e3cd776a1902527a788af \ + --hash=sha256:e696f0dd336161fca9adbb846875d40752e6eba585843c768935ba5c9960722b \ + --hash=sha256:eaa379fcd227ca235d04152ca6704c7cb55564116f8bc52545ff357628e10602 \ + --hash=sha256:ebea339af930f8ca5d7a699b921106c6e29c617fe9606fa7baa043c1cdae326f \ + --hash=sha256:f4c39b0e3eac288fedc2b43055cfc2ca7a60362d0e5e87a637beac5d801ef478 \ + --hash=sha256:f5057856d21e7586765171eac8b9fc3f7d44ef39425f85dbcccb13b3ebea806c \ + --hash=sha256:f6f45710b4459401609ebebdbcfb34515da4fc2aa886f95107f556ac69a9147e \ + --hash=sha256:f97e83fa6c25693c7a35de154681fcc257c1c41b38beb0304b9c4d2d9e164479 \ + --hash=sha256:f9d0c5c045a3ca9bedfc35dca8526798eb91a07aa7a2c0fee134c6c6f321cbd7 \ + --hash=sha256:ff6f3db31555657f3163b15a6b7c6938d08df7adbfc9dd13d9d19edad678f1e8 # via # -c requirements.txt # requests @@ -98,9 +184,9 @@ distlib==0.3.6 \ --hash=sha256:14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46 \ --hash=sha256:f35c4b692542ca110de7ef0bea44d73981caeb34ca0b9b6b2e6d7790dda8f80e # via virtualenv -django==3.2.16 \ - --hash=sha256:18ba8efa36b69cfcd4b670d0fa187c6fe7506596f0ababe580e16909bcdec121 \ - --hash=sha256:3adc285124244724a394fa9b9839cc8cd116faf7d159554c43ecdaa8cdf0b94d +django==3.2.18 \ + --hash=sha256:08208dfe892eb64fff073ca743b3b952311104f939e7f6dae954fe72dcc533ba \ + --hash=sha256:4d492d9024c7b3dfababf49f94511ab6a58e2c9c3c7207786f1ba4eb77750706 # via # -c requirements.txt # django-debug-toolbar @@ -126,13 +212,13 @@ flake8==6.0.0 \ # -r requirements-dev.in # flake8-docstrings # pep8-naming -flake8-docstrings==1.6.0 \ - --hash=sha256:99cac583d6c7e32dd28bbfbef120a7c0d1b6dde4adb5a9fd441c4227a6534bde \ - --hash=sha256:9fe7c6a306064af8e62a055c2f61e9eb1da55f84bb39caef2b84ce53708ac34b +flake8-docstrings==1.7.0 \ + --hash=sha256:4c8cc748dc16e6869728699e5d0d685da9a10b0ea718e090b1ba088e67a941af \ + --hash=sha256:51f2344026da083fc084166a9353f5082b01f72901df422f74b4d953ae88ac75 # via -r requirements-dev.in -identify==2.5.12 \ - --hash=sha256:0bc96b09c838310b6fcfcc61f78a981ea07f94836ef6ef553da5bb5d4745d662 \ - --hash=sha256:e8a400c3062d980243d27ce10455a52832205649bbcaf27ffddb3dfaaf477bad +identify==2.5.18 \ + --hash=sha256:89e144fa560cc4cffb6ef2ab5e9fb18ed9f9b3cb054384bab4b95c12f6c309fe \ + --hash=sha256:93aac7ecf2f6abf879b8f29a8002d3c6de7086b8c28d88e1ad15045a15ab63f9 # via pre-commit idna==3.4 \ --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ @@ -140,9 +226,9 @@ idna==3.4 \ # via # -c requirements.txt # requests -isort==5.11.4 \ - --hash=sha256:6db30c5ded9815d813932c04c2f85a360bcdd35fed496f4d8f35495ef0a261b6 \ - --hash=sha256:c033fd0edb91000a7f09527fe5c75321878f98322a77ddcc81adbd83724afb7b +isort==5.12.0 \ + --hash=sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504 \ + --hash=sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6 # via -r requirements-dev.in mccabe==0.7.0 \ --hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \ @@ -152,45 +238,45 @@ nodeenv==1.7.0 \ --hash=sha256:27083a7b96a25f2f5e1d8cb4b6317ee8aeda3bdd121394e5ac54e498028a042e \ --hash=sha256:e0e7f7dfb85fc5394c6fe1e8fa98131a2473e04311a45afb6508f7cf1836fa2b # via pre-commit -packaging==22.0 \ - --hash=sha256:2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3 \ - --hash=sha256:957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3 - # via build -pep517==0.13.0 \ - --hash=sha256:4ba4446d80aed5b5eac6509ade100bff3e7943a8489de249654a5ae9b33ee35b \ - --hash=sha256:ae69927c5c172be1add9203726d4b84cf3ebad1edcd5f71fcdc746e66e829f59 +packaging==23.0 \ + --hash=sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2 \ + --hash=sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97 # via build pep8-naming==0.13.3 \ --hash=sha256:1705f046dfcd851378aac3be1cd1551c7c1e5ff363bacad707d43007877fa971 \ --hash=sha256:1a86b8c71a03337c97181917e2b472f0f5e4ccb06844a0d6f0a33522549e7a80 # via -r requirements-dev.in -pip-tools==6.12.1 \ - --hash=sha256:88efb7b29a923ffeac0713e6f23ef8529cc6175527d42b93f73756cc94387293 \ - --hash=sha256:f0c0c0ec57b58250afce458e2e6058b1f30a4263db895b7d72fd6311bf1dc6f7 +pip-tools==6.12.2 \ + --hash=sha256:6a51f4fd67140d5e83703ebfa9610fb61398727151f56a1be02a972d062e4679 \ + --hash=sha256:8b903696df4598b10d469026ef9995c5f9a874b416e88e7a214884ebe4a70245 # via -r requirements-dev.in -platformdirs==2.6.2 \ - --hash=sha256:83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490 \ - --hash=sha256:e1fea1fe471b9ff8332e229df3cb7de4f53eeea4998d3b6bfff542115e998bd2 +platformdirs==3.0.0 \ + --hash=sha256:8a1228abb1ef82d788f74139988b137e78692984ec7b08eaa6c65f1723af28f9 \ + --hash=sha256:b1d5eb14f221506f50d6604a561f4c5786d9e80355219694a1b244bcd96f4567 # via virtualenv -pre-commit==2.21.0 \ - --hash=sha256:31ef31af7e474a8d8995027fefdfcf509b5c913ff31f2015b4ec4beb26a6f658 \ - --hash=sha256:e2f91727039fc39a92f58a588a25b87f936de6567eed4f0e673e0507edc75bad +pre-commit==3.0.4 \ + --hash=sha256:9e3255edb0c9e7fe9b4f328cb3dc86069f8fdc38026f1bf521018a05eaf4d67b \ + --hash=sha256:bc4687478d55578c4ac37272fe96df66f73d9b5cf81be6f28627d4e712e752d5 # via -r requirements-dev.in pycodestyle==2.10.0 \ --hash=sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053 \ --hash=sha256:8a4eaf0d0495c7395bdab3589ac2db602797d76207242c17d470186815706610 # via flake8 -pydocstyle==6.2.2 \ - --hash=sha256:021b33525927b43b4469c2715694c38082cb98146b52342df652b30806e3cb61 \ - --hash=sha256:5714e3a96f6ece848a1c35f581e89f3164867733609f0dd8a99f7e7c6b526bdd +pydocstyle==6.3.0 \ + --hash=sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019 \ + --hash=sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1 # via flake8-docstrings pyflakes==3.0.1 \ --hash=sha256:ec55bf7fe21fff7f1ad2f7da62363d749e2a470500eab1b555334b67aa1ef8cf \ --hash=sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd # via flake8 -pytz==2022.7 \ - --hash=sha256:7ccfae7b4b2c067464a6733c6261673fdb8fd1be905460396b97a073e9fa683a \ - --hash=sha256:93007def75ae22f7cd991c84e02d434876818661f8df9ad5df9e950ff4e52cfd +pyproject-hooks==1.0.0 \ + --hash=sha256:283c11acd6b928d2f6a7c73fa0d01cb2bdc5f07c57a2eeb6e83d5e56b97976f8 \ + --hash=sha256:f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5 + # via build +pytz==2022.7.1 \ + --hash=sha256:01a0681c4b9684a28304615eba55d1ab31ae00bf68ec157ec3708a8182dbbcd0 \ + --hash=sha256:78f4f37d8198e0627c5f1143240bb0206b8691d8d7ac6d78fee88b78733f8c4a # via # -c requirements.txt # django @@ -238,9 +324,9 @@ pyyaml==6.0 \ # via # -c requirements.txt # pre-commit -requests==2.28.1 \ - --hash=sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983 \ - --hash=sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349 +requests==2.28.2 \ + --hash=sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa \ + --hash=sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf # via # -c requirements.txt # coveralls @@ -258,22 +344,22 @@ sqlparse==0.4.3 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f + # via build +typing-extensions==4.5.0 \ + --hash=sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb \ + --hash=sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4 # via - # build - # pep517 -typing-extensions==4.4.0 \ - --hash=sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa \ - --hash=sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e - # via django-test-migrations -urllib3==1.26.13 \ - --hash=sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc \ - --hash=sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8 + # -c requirements.txt + # django-test-migrations +urllib3==1.26.14 \ + --hash=sha256:076907bf8fd355cde77728471316625a4d2f7e713c125f51953bb5b3eecf4f72 \ + --hash=sha256:75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1 # via # -c requirements.txt # requests -virtualenv==20.17.1 \ - --hash=sha256:ce3b1684d6e1a20a3e5ed36795a97dfc6af29bc3970ca8dab93e11ac6094b3c4 \ - --hash=sha256:f8b927684efc6f1cc206c9db297a570ab9ad0e51c16fa9e45487d36d1905c058 +virtualenv==20.19.0 \ + --hash=sha256:37a640ba82ed40b226599c522d411e4be5edb339a0c0de030c0dc7b646d61590 \ + --hash=sha256:54eb59e7352b573aa04d53f80fc9736ed0ad5143af445a1e539aada6eb947dd1 # via pre-commit wheel==0.38.4 \ --hash=sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac \ diff --git a/requirements.in b/requirements.in index 2959017fa9..945a620429 100644 --- a/requirements.in +++ b/requirements.in @@ -6,7 +6,7 @@ django-allauth # SSO for external providers via OpenID django-allauth-2fa # MFA / 2FA django-cleanup # Automated deletion of old / unused uploaded files django-cors-headers # CORS headers extension for DRF -django-crispy-forms # Form helpers +django-crispy-forms<2.0 # Form helpers # FIXED 2023-02-18 due to required updates in the new version django-dbbackup # Backup / restore of database and media files django-error-report # Error report viewer for the admin interface django-filter # Extended filtering options diff --git a/requirements.txt b/requirements.txt index 6b7cae5815..832a4fcde4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,9 +10,9 @@ asgiref==3.6.0 # via django babel==2.11.0 # via py-moneyed -bleach[css]==5.0.1 +bleach[css]==6.0.0 # via django-markdownify -blessed==1.19.1 +blessed==1.20.0 # via django-q brotli==1.0.9 # via fonttools @@ -24,7 +24,7 @@ cffi==1.15.1 # via # cryptography # weasyprint -charset-normalizer==2.1.1 +charset-normalizer==3.0.1 # via requests coreapi==2.3.3 # via -r requirements.in @@ -42,7 +42,7 @@ defusedxml==0.7.1 # python3-openid diff-match-patch==20200713 # via django-import-export -django==3.2.16 +django==3.2.18 # via # -r requirements.in # django-allauth @@ -76,7 +76,7 @@ django-allauth==0.52.0 # django-allauth-2fa django-allauth-2fa==0.10.0 # via -r requirements.in -django-cleanup==6.0.0 +django-cleanup==7.0.0 # via -r requirements.in django-cors-headers==3.13.0 # via -r requirements.in @@ -154,13 +154,13 @@ markdown==3.4.1 # via django-markdownify markuppy==1.14 # via tablib -markupsafe==2.1.1 +markupsafe==2.1.2 # via jinja2 oauthlib==3.2.2 # via requests-oauthlib odfpy==1.4.1 # via tablib -openpyxl==3.0.10 +openpyxl==3.1.1 # via tablib pdf2image==1.16.2 # via -r requirements.in @@ -184,6 +184,8 @@ pyjwt[crypto]==2.6.0 # via django-allauth pyphen==0.13.2 # via weasyprint +pypng==0.20220715.0 + # via qrcode python-barcode[images]==0.14.0 # via -r requirements.in python-dateutil==2.8.2 @@ -191,11 +193,11 @@ python-dateutil==2.8.2 # arrow # django-recurrence # icalendar -python-fsutil==0.9.1 +python-fsutil==0.10.0 # via django-maintenance-mode python3-openid==3.2.0 # via django-allauth -pytz==2022.7 +pytz==2022.7.1 # via # babel # django @@ -204,7 +206,7 @@ pytz==2022.7 # icalendar pyyaml==6.0 # via tablib -qrcode[pil]==7.3.1 +qrcode[pil]==7.4.2 # via # -r requirements.in # django-allauth-2fa @@ -216,14 +218,14 @@ redis==3.5.3 # django-redis regex==2022.10.31 # via -r requirements.in -requests==2.28.1 +requests==2.28.2 # via # coreapi # django-allauth # requests-oauthlib requests-oauthlib==1.3.1 # via django-allauth -sentry-sdk==1.12.1 +sentry-sdk==1.15.0 # via # -r requirements.in # django-q-sentry @@ -248,13 +250,15 @@ tinycss2==1.1.1 # bleach # cssselect2 # weasyprint +typing-extensions==4.5.0 + # via qrcode uritemplate==4.1.1 # via coreapi -urllib3==1.26.13 +urllib3==1.26.14 # via # requests # sentry-sdk -wcwidth==0.2.5 +wcwidth==0.2.6 # via blessed weasyprint==54.3 # via @@ -270,7 +274,7 @@ xlrd==2.0.1 # via tablib xlwt==1.3.0 # via tablib -zipp==3.11.0 +zipp==3.14.0 # via importlib-metadata zopfli==0.2.2 # via fonttools From bf8a59c6046575f74b74502a16ff3ad2ef0c8ac0 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 19 Feb 2023 22:39:36 +1100 Subject: [PATCH 014/140] Fix bug rendering part without a category (#4369) --- InvenTree/templates/js/translated/part.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index a5a09945fa..17449d9647 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -1835,13 +1835,11 @@ function loadPartTable(table, url, options={}) { field: 'category_detail', title: '{% trans "Category" %}', formatter: function(value, row) { - - var text = shortenString(row.category_detail.pathstring); - - if (row.category) { + if (row.category && row.category_detail) { + var text = shortenString(row.category_detail.pathstring); return withTitle(renderLink(text, `/part/category/${row.category}/`), row.category_detail.pathstring); } else { - return '{% trans "No category" %}'; + return '{% trans "No category" %}'; } } }; From 2986f8d61a81ab2d53bb1b245b2691200f323e38 Mon Sep 17 00:00:00 2001 From: simonkuehling Date: Sun, 19 Feb 2023 21:17:00 +0100 Subject: [PATCH 015/140] clear IPN field when duplicating part and PART_ALLOW_DUPLICATE_IPN is False (#4359) (#4365) --- InvenTree/templates/js/translated/part.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 17449d9647..e4a92ae650 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -414,6 +414,11 @@ function duplicatePart(pk, options={}) { data.is_template = false; } + // Clear IPN field if PART_ALLOW_DUPLICATE_IPN is set to False + if (!global_settings['PART_ALLOW_DUPLICATE_IPN']) { + data.IPN = ''; + } + constructForm('{% url "api-part-list" %}', { method: 'POST', fields: fields, From 9964687cf33800294de8420dbfe482e267bc1a48 Mon Sep 17 00:00:00 2001 From: Philipp Fruck Date: Sun, 19 Feb 2023 20:21:17 +0000 Subject: [PATCH 016/140] support podman and selinux for dev setup (#4354) SELinux labels are required in order to mount the volumes into the dev containers. The build config has been added to the dev-worker to prevent podman from trying to pull from docker hub --- docker-compose.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index f9bc6f98b5..2a034fe7f0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -31,7 +31,7 @@ services: - POSTGRES_DB=inventree volumes: # Map 'data' volume such that postgres database is stored externally - - ./data:/var/lib/postgresql/data + - ./data:/var/lib/postgresql/data:z restart: unless-stopped # InvenTree web server service @@ -40,7 +40,7 @@ services: container_name: inventree-dev-server depends_on: - inventree-dev-db - build: + build: &build_config context: . target: dev # Cache the built image to be used by the inventree-dev-worker process @@ -50,7 +50,7 @@ services: - 8000:8000 volumes: # Mount local source directory to /home/inventree - - ./:/home/inventree + - ./:/home/inventree:z env_file: - docker.dev.env restart: unless-stopped @@ -59,12 +59,13 @@ services: inventree-dev-worker: container_name: inventree-dev-worker image: inventree-dev-image + build: *build_config command: invoke worker depends_on: - inventree-dev-server volumes: # Mount local source directory to /home/inventree - - ./:/home/inventree + - ./:/home/inventree:z env_file: - docker.dev.env restart: unless-stopped From 95ecd0cd32d4aa18575ab68b73a556f0743937b8 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 20 Feb 2023 17:22:47 +1100 Subject: [PATCH 017/140] Bug fix for purchase order pricing (#4373) * Account for pack size when calculating purchase_price for received line items * Clearer display of "unit pricing" when part has units * Add data migration to fix historical pricing bugs * Remove debug statement --- InvenTree/order/models.py | 7 +- InvenTree/order/tests.py | 25 +++++- InvenTree/part/templates/part/part_base.html | 1 + .../migrations/0094_auto_20230220_0025.py | 79 +++++++++++++++++++ .../stock/templates/stock/item_base.html | 5 +- 5 files changed, 113 insertions(+), 4 deletions(-) create mode 100644 InvenTree/stock/migrations/0094_auto_20230220_0025.py diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 37b2d96b7b..e1e82d97fe 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -501,6 +501,11 @@ class PurchaseOrder(Order): # Take the 'pack_size' of the SupplierPart into account pack_quantity = Decimal(quantity) * Decimal(line.part.pack_size) + if line.purchase_price: + unit_purchase_price = line.purchase_price / line.part.pack_size + else: + unit_purchase_price = None + # Determine if we should individually serialize the items, or not if type(serials) is list and len(serials) > 0: serialize = True @@ -519,7 +524,7 @@ class PurchaseOrder(Order): status=status, batch=batch_code, serial=sn, - purchase_price=line.purchase_price, + purchase_price=unit_purchase_price, barcode_hash=barcode_hash ) diff --git a/InvenTree/order/tests.py b/InvenTree/order/tests.py index 4a758c3d6e..c2557a0707 100644 --- a/InvenTree/order/tests.py +++ b/InvenTree/order/tests.py @@ -8,12 +8,14 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import Group from django.test import TestCase +from djmoney.money import Money + import common.models import order.tasks from company.models import Company, SupplierPart from InvenTree.status_codes import PurchaseOrderStatus from part.models import Part -from stock.models import StockLocation +from stock.models import StockItem, StockLocation from users.models import Owner from .models import PurchaseOrder, PurchaseOrderLineItem @@ -255,7 +257,8 @@ class OrderTest(TestCase): line_1 = PurchaseOrderLineItem.objects.create( order=po, part=sp_1, - quantity=3 + quantity=3, + purchase_price=Money(1000, 'USD'), # "Unit price" should be $100USD ) # 13 x 0.1 = 1.3 @@ -263,6 +266,7 @@ class OrderTest(TestCase): order=po, part=sp_2, quantity=13, + purchase_price=Money(10, 'USD'), # "Unit price" should be $100USD ) po.place_order() @@ -299,6 +303,23 @@ class OrderTest(TestCase): round(in_stock + Decimal(10.5), 1) ) + # Check that the unit purchase price value has been updated correctly + si = StockItem.objects.filter(supplier_part=sp_1) + self.assertEqual(si.count(), 1) + + # Ensure that received quantity and unit purchase price data are correct + si = si.first() + self.assertEqual(si.quantity, 10) + self.assertEqual(si.purchase_price, Money(100, 'USD')) + + si = StockItem.objects.filter(supplier_part=sp_2) + self.assertEqual(si.count(), 1) + + # Ensure that received quantity and unit purchase price data are correct + si = si.first() + self.assertEqual(si.quantity, 0.5) + self.assertEqual(si.purchase_price, Money(100, 'USD')) + def test_overdue_notification(self): """Test overdue purchase order notification diff --git a/InvenTree/part/templates/part/part_base.html b/InvenTree/part/templates/part/part_base.html index 891fc0fdd2..e5c9d6f07d 100644 --- a/InvenTree/part/templates/part/part_base.html +++ b/InvenTree/part/templates/part/part_base.html @@ -334,6 +334,7 @@ {% else %} {% render_currency pricing.overall_min %} - {% render_currency pricing.overall_max %} {% endif %} + {% if part.units %}  / {{ part.units }}{% endif %} {% endif %} diff --git a/InvenTree/stock/migrations/0094_auto_20230220_0025.py b/InvenTree/stock/migrations/0094_auto_20230220_0025.py new file mode 100644 index 0000000000..f83a21b5e9 --- /dev/null +++ b/InvenTree/stock/migrations/0094_auto_20230220_0025.py @@ -0,0 +1,79 @@ +# Generated by Django 3.2.18 on 2023-02-20 00:25 + +import logging + +from django.db import migrations + +logger = logging.getLogger('inventree') + + +def fix_purchase_price(apps, schema_editor): + """Data migration for fixing historical issue with StockItem.purchase_price field. + + Ref: https://github.com/inventree/InvenTree/pull/4373 + + Due to an existing bug, if a PurchaseOrderLineItem was received, + which had: + + a) A SupplierPart with a non-unity pack size + b) A defined purchase_price + + then the StockItem.purchase_price was not calculated correctly! + + Specifically, the purchase_price was not divided through by the pack_size attribute. + + This migration fixes this by looking through all stock items which: + + - Is linked to a purchase order + - Have a purchase_price field + - Are linked to a supplier_part + - We can determine correctly that the calculation was misapplied + """ + + StockItem = apps.get_model('stock', 'stockitem') + + items = StockItem.objects.exclude( + purchase_order=None + ).exclude( + supplier_part=None + ).exclude( + purchase_price=None + ).exclude( + supplier_part__pack_size=1 + ) + + n_updated = 0 + + for item in items: + # Grab a reference to the associated PurchaseOrder + # Trying to find an absolute match between this StockItem and an associated PurchaseOrderLineItem + po = item.purchase_order + for line in po.lines.all(): + # SupplierPart match + if line.part == item.supplier_part: + # Unit price matches original PurchaseOrder (and is thus incorrect) + if item.purchase_price == line.purchase_price: + item.purchase_price /= item.supplier_part.pack_size + item.save() + + n_updated += 1 + + if n_updated > 0: + logger.info(f"Corrected purchase_price field for {n_updated} stock items.") + + +def reverse(apps, schema_editor): # pragmae: no cover + pass + +class Migration(migrations.Migration): + + dependencies = [ + ('stock', '0093_auto_20230217_2140'), + ] + + operations = [ + migrations.RunPython( + fix_purchase_price, + reverse_code=reverse, + ) + ] diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index 5dc0b97762..ffe49237f1 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -187,7 +187,10 @@ {% trans "Purchase Price" %} - {% include "price_data.html" with price=item.purchase_price %} + + {% include "price_data.html" with price=item.purchase_price %} + {% if item.part.units %} / {{ item.part.units }}{% endif %} + {% endif %} {% if item.parent %} From 782ae133b712f4f2cf6252f9b02aec9b311edcf9 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 20 Feb 2023 18:48:55 +1100 Subject: [PATCH 018/140] Part duplicate bug fix (#4370) * Make 'copy_category_parameters' part of actual serializer * Parameter copying is now handled by the API serializer * Make field not required * linting fixes * pre commit fix * Fix unit tests * Further fix for unit test * Unit tests for category parameter duplication --- InvenTree/part/api.py | 30 --------------- InvenTree/part/models.py | 31 --------------- InvenTree/part/serializers.py | 47 ++++++++++++++++++++++- InvenTree/part/test_api.py | 45 ++++++++++++++++++++++ InvenTree/part/test_param.py | 20 +--------- InvenTree/templates/js/translated/part.js | 3 -- 6 files changed, 92 insertions(+), 84 deletions(-) diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index d42b60f1bb..233349e554 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -2,7 +2,6 @@ import functools -from django.db import transaction from django.db.models import Count, F, Q from django.http import JsonResponse from django.urls import include, path, re_path @@ -1204,35 +1203,6 @@ class PartList(APIDownloadMixin, ListCreateAPI): else: return Response(data) - @transaction.atomic - def create(self, request, *args, **kwargs): - """We wish to save the user who created this part! - - Note: Implementation copied from DRF class CreateModelMixin - """ - # TODO: Unit tests for this function! - - # Clean up input data - data = self.clean_data(request.data) - - serializer = self.get_serializer(data=data) - serializer.is_valid(raise_exception=True) - - part = serializer.save() - part.creation_user = self.request.user - - # Optionally copy templates from category or parent category - copy_templates = { - 'main': str2bool(data.get('copy_category_templates', False)), - 'parent': str2bool(data.get('copy_parent_templates', False)) - } - - part.save(**{'add_category_templates': copy_templates}) - - headers = self.get_success_headers(serializer.data) - - return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) - def get_queryset(self, *args, **kwargs): """Return an annotated queryset object""" queryset = super().get_queryset(*args, **kwargs) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 88976811f3..59e5d78213 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -443,9 +443,6 @@ class Part(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel): If the part image has been updated, then check if the "old" (previous) image is still used by another part. If not, it is considered "orphaned" and will be deleted. """ - # Get category templates settings - - add_category_templates = kwargs.pop('add_category_templates', False) if self.pk: previous = Part.objects.get(pk=self.pk) @@ -469,34 +466,6 @@ class Part(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel): 'variant_of': _('Invalid choice for parent part'), }) - if add_category_templates: - # Get part category - category = self.category - - if category is not None: - - template_list = [] - - parent_categories = category.get_ancestors(include_self=True) - - for category in parent_categories: - for template in category.get_parameter_templates(): - # Check that template wasn't already added - if template.parameter_template not in template_list: - - template_list.append(template.parameter_template) - - try: - PartParameter.create( - part=self, - template=template.parameter_template, - data=template.default_value, - save=True - ) - except IntegrityError: - # PartParameter already exists - pass - def __str__(self): """Return a string representation of the Part (for use in the admin interface)""" return f"{self.full_name} - {self.description}" diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 21802fc50a..29d1fa8749 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -2,11 +2,12 @@ import imghdr import io +import logging from decimal import Decimal from django.core.files.base import ContentFile from django.core.validators import MinValueValidator -from django.db import models, transaction +from django.db import IntegrityError, models, transaction from django.db.models import ExpressionWrapper, F, FloatField, Q from django.db.models.functions import Coalesce from django.urls import reverse_lazy @@ -42,6 +43,8 @@ from .models import (BomItem, BomItemSubstitute, Part, PartAttachment, PartSellPriceBreak, PartStar, PartStocktake, PartStocktakeReport, PartTestTemplate) +logger = logging.getLogger("inventree") + class CategorySerializer(InvenTreeModelSerializer): """Serializer for PartCategory.""" @@ -454,6 +457,7 @@ class PartSerializer(RemoteImageMixin, InvenTreeModelSerializer): 'duplicate', 'initial_stock', 'initial_supplier', + 'copy_category_parameters' ] read_only_fields = [ @@ -499,6 +503,7 @@ class PartSerializer(RemoteImageMixin, InvenTreeModelSerializer): 'duplicate', 'initial_stock', 'initial_supplier', + 'copy_category_parameters' ] return fields @@ -613,6 +618,12 @@ class PartSerializer(RemoteImageMixin, InvenTreeModelSerializer): write_only=True, required=False, ) + copy_category_parameters = serializers.BooleanField( + default=True, required=False, + label=_('Copy Category Parameters'), + help_text=_('Copy parameter templates from selected part category'), + ) + @transaction.atomic def create(self, validated_data): """Custom method for creating a new Part instance using this serializer""" @@ -620,9 +631,15 @@ class PartSerializer(RemoteImageMixin, InvenTreeModelSerializer): duplicate = validated_data.pop('duplicate', None) initial_stock = validated_data.pop('initial_stock', None) initial_supplier = validated_data.pop('initial_supplier', None) + copy_category_parameters = validated_data.pop('copy_category_parameters', False) instance = super().create(validated_data) + # Save user information + if self.context['request']: + instance.creation_user = self.context['request'].user + instance.save() + # Copy data from original Part if duplicate: original = duplicate['part'] @@ -637,6 +654,34 @@ class PartSerializer(RemoteImageMixin, InvenTreeModelSerializer): if duplicate['copy_parameters']: instance.copy_parameters_from(original) + # Duplicate parameter data from part category (and parents) + if copy_category_parameters and instance.category is not None: + # Get flattened list of parent categories + categories = instance.category.get_ancestors(include_self=True) + + # All parameter templates within these categories + templates = PartCategoryParameterTemplate.objects.filter( + category__in=categories + ) + + for template in templates: + # First ensure that the part doesn't have that parameter + if PartParameter.objects.filter( + part=instance, + template=template.parameter_template + ).exists(): + continue + + try: + PartParameter.create( + part=instance, + template=template.parameter_template, + data=template.default_value, + save=True + ) + except IntegrityError: + logger.error(f"Could not create new PartParameter for part {instance}") + # Create initial stock entry if initial_stock: quantity = initial_stock['quantity'] diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index 426fc37e05..76097faa8b 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -1363,6 +1363,51 @@ class PartCreationTests(PartAPITestBase): self.assertEqual(part.bom_items.count(), 4 if bom else 0) self.assertEqual(part.parameters.count(), 2 if params else 0) + def test_category_parameters(self): + """Test that category parameters are correctly applied""" + + cat = PartCategory.objects.get(pk=1) + + # Add some parameter template to the parent category + for pk in [1, 2, 3]: + PartCategoryParameterTemplate.objects.create( + parameter_template=PartParameterTemplate.objects.get(pk=pk), + category=cat, + default_value=f"Value {pk}" + ) + + self.assertEqual(cat.parameter_templates.count(), 3) + + # Creat a new Part, without copying category parameters + data = self.post( + reverse('api-part-list'), + { + 'category': 1, + 'name': 'Some new part', + 'description': 'A new part without parameters', + 'copy_category_parameters': False, + }, + expected_code=201, + ).data + + prt = Part.objects.get(pk=data['pk']) + self.assertEqual(prt.parameters.count(), 0) + + # Create a new part, this time copying category parameters + data = self.post( + reverse('api-part-list'), + { + 'category': 1, + 'name': 'Another new part', + 'description': 'A new part with parameters', + 'copy_category_parameters': True, + }, + expected_code=201, + ).data + + prt = Part.objects.get(pk=data['pk']) + self.assertEqual(prt.parameters.count(), 3) + class PartDetailTests(PartAPITestBase): """Test that we can create / edit / delete Part objects via the API.""" diff --git a/InvenTree/part/test_param.py b/InvenTree/part/test_param.py index 7a13bfa6ce..3c4c8e8644 100644 --- a/InvenTree/part/test_param.py +++ b/InvenTree/part/test_param.py @@ -3,7 +3,7 @@ import django.core.exceptions as django_exceptions from django.test import TestCase, TransactionTestCase -from .models import (Part, PartCategory, PartCategoryParameterTemplate, +from .models import (PartCategory, PartCategoryParameterTemplate, PartParameter, PartParameterTemplate) @@ -70,21 +70,3 @@ class TestCategoryTemplates(TransactionTestCase): n = PartCategoryParameterTemplate.objects.all().count() self.assertEqual(n, 3) - - # Get test part - part = Part.objects.get(pk=1) - - # Get part parameters count - n_param = part.get_parameters().count() - - add_category_templates = { - 'main': True, - 'parent': True, - } - - # Save it with category parameters - part.save(**{'add_category_templates': add_category_templates}) - - # Check new part parameters count - # Only 2 parameters should be added as one already existed with same template - self.assertEqual(n_param + 2, part.get_parameters().count()) diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index e4a92ae650..5f944fdc7c 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -209,9 +209,6 @@ function partFields(options={}) { delete fields['default_supplier']; fields.copy_category_parameters = { - type: 'boolean', - label: '{% trans "Copy Category Parameters" %}', - help_text: '{% trans "Copy parameter templates from selected part category" %}', value: global_settings.PART_CATEGORY_PARAMETERS, group: 'create', }; From 75ca325892a09b6836250b863399649234d95d66 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 21 Feb 2023 00:42:18 +1100 Subject: [PATCH 019/140] Add "external" field to StockLocation (#4377) * Add "external" field to StockLocation - New model for field - Database migrations - Serializer / API updates - Front end tables / filters * Update API version --- InvenTree/InvenTree/api_version.py | 5 ++++- InvenTree/stock/api.py | 3 ++- .../migrations/0095_stocklocation_external.py | 18 ++++++++++++++++++ InvenTree/stock/models.py | 6 ++++++ InvenTree/stock/serializers.py | 1 + InvenTree/templates/js/translated/stock.js | 19 +++++++++++++++++++ .../templates/js/translated/table_filters.js | 4 ++++ 7 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 InvenTree/stock/migrations/0095_stocklocation_external.py diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index c1defa567b..203aa09713 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 96 +INVENTREE_API_VERSION = 97 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v97 -> 2023-02-20 : https://github.com/inventree/InvenTree/pull/4377 + - Adds "external" attribute to StockLocation model + v96 -> 2023-02-16 : https://github.com/inventree/InvenTree/pull/4345 - Adds stocktake report generation functionality diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 29177eab0b..88df0a541e 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -310,7 +310,8 @@ class StockLocationList(APIDownloadMixin, ListCreateAPI): filterset_fields = [ 'name', - 'structural' + 'structural', + 'external', ] search_fields = [ diff --git a/InvenTree/stock/migrations/0095_stocklocation_external.py b/InvenTree/stock/migrations/0095_stocklocation_external.py new file mode 100644 index 0000000000..3163f4aa17 --- /dev/null +++ b/InvenTree/stock/migrations/0095_stocklocation_external.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.18 on 2023-02-20 12:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('stock', '0094_auto_20230220_0025'), + ] + + operations = [ + migrations.AddField( + model_name='stocklocation', + name='external', + field=models.BooleanField(default=False, help_text='This is an external stock location', verbose_name='External'), + ), + ] diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 582151b17f..77928b3fee 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -122,6 +122,12 @@ class StockLocation(InvenTreeBarcodeMixin, MetadataMixin, InvenTreeTree): 'but may be located to child locations.'), ) + external = models.BooleanField( + default=False, + verbose_name=_('External'), + help_text=_('This is an external stock location') + ) + def get_location_owner(self): """Get the closest "owner" for this location. diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 99b0866792..7336a1d15c 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -584,6 +584,7 @@ class LocationSerializer(InvenTree.serializers.InvenTreeModelSerializer): 'owner', 'icon', 'structural', + 'external', ] read_only_fields = [ diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index db0bb68530..356b000463 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -117,6 +117,7 @@ function stockLocationFields(options={}) { description: {}, owner: {}, structural: {}, + external: {}, icon: { help_text: `{% trans "Icon (optional) - Explore all available icons on" %} Font Awesome.`, placeholder: 'fas fa-box', @@ -2491,6 +2492,24 @@ function loadStockLocationTable(table, options) { title: '{% trans "Stock Items" %}', switchable: true, sortable: true, + }, + { + field: 'structural', + title: '{% trans "Structural" %}', + switchable: true, + sortable: false, + formatter: function(value) { + return yesNoLabel(value); + } + }, + { + field: 'external', + title: '{% trans "External" %}', + switchable: true, + sortable: false, + formatter: function(value) { + return yesNoLabel(value); + } } ] }); diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index 5035c7178e..6eb1b35791 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -134,6 +134,10 @@ function getAvailableTableFilters(tableKey) { type: 'bool', title: '{% trans "Structural" %}', }, + external: { + type: 'bool', + title: '{% trans "External" %}', + }, }; } From 17bfea4428e1d7abfbc4f8c3f9e9b30a40ca4caa Mon Sep 17 00:00:00 2001 From: simonkuehling Date: Mon, 20 Feb 2023 21:24:11 +0100 Subject: [PATCH 020/140] add user setting to select a default label printer (#4349) (#4362) --- InvenTree/common/models.py | 17 +++++++++++++++++ .../InvenTree/settings/user_labels.html | 1 + InvenTree/templates/js/translated/label.js | 6 +++++- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 3f251fd0b8..9eac812ae0 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -46,6 +46,7 @@ import InvenTree.ready import InvenTree.tasks import InvenTree.validators import order.validators +from plugin import registry logger = logging.getLogger('inventree') @@ -1628,6 +1629,15 @@ class InvenTreeSetting(BaseInvenTreeSetting): return False +def label_printer_options(): + """Build a list of available label printer options.""" + printers = [('', _('No Printer (Export to PDF)'))] + label_printer_plugins = registry.with_mixin('labels') + if label_printer_plugins: + printers.extend([(p.slug, p.name + ' - ' + p.human_name) for p in label_printer_plugins]) + return printers + + class InvenTreeUserSetting(BaseInvenTreeSetting): """An InvenTreeSetting object with a usercontext.""" @@ -1781,6 +1791,13 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): 'validator': bool, }, + "LABEL_DEFAULT_PRINTER": { + 'name': _('Default label printer'), + 'description': _('Configure which label printer should be selected by default'), + 'default': '', + 'choices': label_printer_options + }, + "REPORT_INLINE": { 'name': _('Inline report display'), 'description': _('Display PDF reports in the browser, instead of downloading as a file'), diff --git a/InvenTree/templates/InvenTree/settings/user_labels.html b/InvenTree/templates/InvenTree/settings/user_labels.html index 93c7c0b2bc..85492a2b98 100644 --- a/InvenTree/templates/InvenTree/settings/user_labels.html +++ b/InvenTree/templates/InvenTree/settings/user_labels.html @@ -15,6 +15,7 @@ {% include "InvenTree/settings/setting.html" with key="LABEL_INLINE" icon='fa-tag' user_setting=True %} + {% include "InvenTree/settings/setting.html" with key="LABEL_DEFAULT_PRINTER" icon='fa-tag' user_setting=True %}
diff --git a/InvenTree/templates/js/translated/label.js b/InvenTree/templates/js/translated/label.js index 18cd1605d0..4373f0d23b 100644 --- a/InvenTree/templates/js/translated/label.js +++ b/InvenTree/templates/js/translated/label.js @@ -262,7 +262,11 @@ function selectLabel(labels, items, options={}) { `; plugins.forEach(function(plugin) { - plugin_selection += ``; + var selected = ''; + if (user_settings['LABEL_DEFAULT_PRINTER'] == plugin.key) { + selected = ' selected'; + } + plugin_selection += ``; }); plugin_selection += ` From 62455199f3f150566489408368f48fa59a2620a2 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 21 Feb 2023 07:24:49 +1100 Subject: [PATCH 021/140] Js forms updates (#4378) * Refactor forms for creating and editing SalesOrder - Common function for defining fields * More visual improvements for forms * Refactor fields for SupplierPartPriceBreak * More refactoring * Refactor for stockitemtestresult table * Comment fields * JS linting fix --- .../templates/company/supplier_part.html | 25 +-- .../templates/order/sales_order_base.html | 23 +-- InvenTree/part/templates/part/detail.html | 14 +- InvenTree/stock/templates/stock/item.html | 14 +- .../stock/templates/stock/item_base.html | 4 +- .../templates/js/translated/attachment.js | 20 +- InvenTree/templates/js/translated/bom.js | 5 +- InvenTree/templates/js/translated/build.js | 4 +- InvenTree/templates/js/translated/company.js | 47 ++++- InvenTree/templates/js/translated/order.js | 173 +++++++++++------- InvenTree/templates/js/translated/part.js | 60 ++++-- InvenTree/templates/js/translated/stock.js | 50 +++-- 12 files changed, 267 insertions(+), 172 deletions(-) diff --git a/InvenTree/company/templates/company/supplier_part.html b/InvenTree/company/templates/company/supplier_part.html index 82d0311f96..58ac0fa0eb 100644 --- a/InvenTree/company/templates/company/supplier_part.html +++ b/InvenTree/company/templates/company/supplier_part.html @@ -299,27 +299,12 @@ loadSupplierPriceBreakTable({ }); $('#new-price-break').click(function() { - - constructForm( - '{% url "api-part-supplier-price-list" %}', - { - method: 'POST', - fields: { - quantity: {}, - part: { - value: {{ part.pk }}, - hidden: true, - }, - price: {}, - price_currency: { - }, - }, - title: '{% trans "Add Price Break" %}', - onSuccess: function() { - $("#price-break-table").bootstrapTable("refresh"); - } + createSupplierPartPriceBreak({{ part.pk }}, { + onSuccess: function() { + $("#price-break-table").bootstrapTable("refresh"); } - ); + }); + }); loadPurchaseOrderTable($("#purchase-order-table"), { diff --git a/InvenTree/order/templates/order/sales_order_base.html b/InvenTree/order/templates/order/sales_order_base.html index b0ab15be67..2521f92bb9 100644 --- a/InvenTree/order/templates/order/sales_order_base.html +++ b/InvenTree/order/templates/order/sales_order_base.html @@ -206,28 +206,7 @@ src="{% static 'img/blank_image.png' %}" $("#edit-order").click(function() { - constructForm('{% url "api-so-detail" order.pk %}', { - fields: { - reference: { - icon: 'fa-hashtag', - }, - {% if order.lines.count == 0 and order.status == SalesOrderStatus.PENDING %} - customer: { - }, - {% endif %} - customer_reference: {}, - description: {}, - target_date: { - icon: 'fa-calendar-alt', - }, - link: { - icon: 'fa-link', - }, - responsible: { - icon: 'fa-user', - }, - }, - title: '{% trans "Edit Sales Order" %}', + editSalesOrder({{ order.pk }}, { reload: true, }); }); diff --git a/InvenTree/part/templates/part/detail.html b/InvenTree/part/templates/part/detail.html index f064f6a8cb..372eecd076 100644 --- a/InvenTree/part/templates/part/detail.html +++ b/InvenTree/part/templates/part/detail.html @@ -793,17 +793,9 @@ constructForm('{% url "api-part-test-template-list" %}', { method: 'POST', - fields: { - test_name: {}, - description: {}, - required: {}, - requires_value: {}, - requires_attachment: {}, - part: { - value: {{ part.pk }}, - hidden: true, - } - }, + fields: partTestTemplateFields({ + part: {{ part.pk }} + }), title: '{% trans "Add Test Result Template" %}', onSuccess: function() { $("#test-template-table").bootstrapTable("refresh"); diff --git a/InvenTree/stock/templates/stock/item.html b/InvenTree/stock/templates/stock/item.html index 22e43be7b6..15e905f96e 100644 --- a/InvenTree/stock/templates/stock/item.html +++ b/InvenTree/stock/templates/stock/item.html @@ -313,17 +313,9 @@ constructForm('{% url "api-stock-test-result-list" %}', { method: 'POST', - fields: { - test: {}, - result: {}, - value: {}, - attachment: {}, - notes: {}, - stock_item: { - value: {{ item.pk }}, - hidden: true, - } - }, + fields: stockItemTestResultFields({ + stock_item: {{ item.pk }}, + }), title: '{% trans "Add Test Result" %}', onSuccess: reloadTable, }); diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index ffe49237f1..2ec331e233 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -640,7 +640,9 @@ $("#stock-return-from-customer").click(function() { value: {{ item.part.default_location.pk }}, {% endif %} }, - notes: {}, + notes: { + icon: 'fa-sticky-note', + }, }, method: 'POST', title: '{% trans "Return to Stock" %}', diff --git a/InvenTree/templates/js/translated/attachment.js b/InvenTree/templates/js/translated/attachment.js index e56f5928ef..2ef3018123 100644 --- a/InvenTree/templates/js/translated/attachment.js +++ b/InvenTree/templates/js/translated/attachment.js @@ -25,7 +25,9 @@ function addAttachmentButtonCallbacks(url, fields={}) { var file_fields = { attachment: {}, - comment: {}, + comment: { + icon: 'fa-comment', + }, }; Object.assign(file_fields, fields); @@ -42,8 +44,12 @@ function addAttachmentButtonCallbacks(url, fields={}) { $('#new-attachment-link').click(function() { var link_fields = { - link: {}, - comment: {}, + link: { + icon: 'fa-link', + }, + comment: { + icon: 'fa-comment', + }, }; Object.assign(link_fields, fields); @@ -252,8 +258,12 @@ function loadAttachmentTable(url, options) { constructForm(`${url}${pk}/`, { fields: { - link: {}, - comment: {}, + link: { + icon: 'fa-link', + }, + comment: { + icon: 'fa-comment', + }, }, processResults: function(data, fields, opts) { // Remove the "link" field if the attachment is a file! diff --git a/InvenTree/templates/js/translated/bom.js b/InvenTree/templates/js/translated/bom.js index 4e94c014b0..4d277e9620 100644 --- a/InvenTree/templates/js/translated/bom.js +++ b/InvenTree/templates/js/translated/bom.js @@ -408,6 +408,7 @@ function bomItemFields() { hidden: true, }, sub_part: { + icon: 'fa-shapes', secondary: { title: '{% trans "New Part" %}', fields: function() { @@ -424,7 +425,9 @@ function bomItemFields() { quantity: {}, reference: {}, overage: {}, - note: {}, + note: { + icon: 'fa-sticky-note', + }, allow_variants: {}, inherited: {}, consumable: {}, diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index ef8ad46109..7d410a2a54 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -536,7 +536,9 @@ function completeBuildOutputs(build_id, outputs, options={}) { structural: false, }, }, - notes: {}, + notes: { + icon: 'fa-sticky-note', + }, accept_incomplete_allocation: {}, }, confirm: true, diff --git a/InvenTree/templates/js/translated/company.js b/InvenTree/templates/js/translated/company.js index 16b3ae9458..10eee69f48 100644 --- a/InvenTree/templates/js/translated/company.js +++ b/InvenTree/templates/js/translated/company.js @@ -13,11 +13,13 @@ createCompany, createManufacturerPart, createSupplierPart, + createSupplierPartPriceBreak, deleteManufacturerParts, deleteManufacturerPartParameters, deleteSupplierParts, duplicateSupplierPart, editCompany, + editSupplierPartPriceBreak, loadCompanyTable, loadManufacturerPartTable, loadManufacturerPartParameterTable, @@ -128,7 +130,7 @@ function supplierPartFields(options={}) { icon: 'fa-link', }, note: { - icon: 'fa-pencil-alt', + icon: 'fa-sticky-note', }, packaging: { icon: 'fa-box', @@ -321,6 +323,43 @@ function deleteSupplierParts(parts, options={}) { } +/* Construct set of fields for SupplierPartPriceBreak form */ +function supplierPartPriceBreakFields(options={}) { + let fields = { + part: { + hidden: true, + }, + quantity: {}, + price: { + icon: 'fa-dollar-sign', + }, + price_currency: { + icon: 'fa-coins', + }, + }; + + return fields; +} + +/* Create a new SupplierPartPriceBreak instance */ +function createSupplierPartPriceBreak(part_id, options={}) { + + let fields = supplierPartPriceBreakFields(options); + + fields.part.value = part_id; + + constructForm('{% url "api-part-supplier-price-list" %}', { + fields: fields, + method: 'POST', + fields: fields, + title: '{% trans "Add Price Break" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + // Returns a default form-set for creating / editing a Company object function companyFormFields() { @@ -1125,11 +1164,7 @@ function loadSupplierPriceBreakTable(options={}) { var pk = $(this).attr('pk'); constructForm(`/api/company/price-break/${pk}/`, { - fields: { - quantity: {}, - price: {}, - price_currency: {}, - }, + fields: supplierPartPriceBreakFields(), title: '{% trans "Edit Price Break" %}', onSuccess: function() { table.bootstrapTable('refresh'); diff --git a/InvenTree/templates/js/translated/order.js b/InvenTree/templates/js/translated/order.js index f1044c020d..9bdef47dd0 100644 --- a/InvenTree/templates/js/translated/order.js +++ b/InvenTree/templates/js/translated/order.js @@ -35,6 +35,7 @@ duplicatePurchaseOrder, editPurchaseOrder, editPurchaseOrderLineItem, + editSalesOrder, exportOrder, issuePurchaseOrder, loadPurchaseOrderLineItemTable, @@ -55,6 +56,9 @@ */ +/* + * Form field definitions for a SalesOrderShipment + */ function salesOrderShipmentFields(options={}) { var fields = { order: {}, @@ -520,42 +524,55 @@ function createSalesOrderShipment(options={}) { } +function salesOrderFields(options={}) { + let fields = { + reference: { + icon: 'fa-hashtag', + }, + description: {}, + customer: { + icon: 'fa-user-tie', + secondary: { + title: '{% trans "Add Customer" %}', + fields: function() { + var fields = companyFormFields(); + + fields.is_customer.value = true; + + return fields; + } + } + }, + customer_reference: {}, + target_date: { + icon: 'fa-calendar-alt', + }, + link: { + icon: 'fa-link', + }, + responsible: { + icon: 'fa-user', + } + }; + + return fields; +} + + /* * Create a new SalesOrder */ function createSalesOrder(options={}) { + let fields = salesOrderFields(options); + + if (options.customer) { + fields.customer.value = options.customer; + } + constructForm('{% url "api-so-list" %}', { method: 'POST', - fields: { - reference: { - icon: 'fa-hashtag', - }, - customer: { - value: options.customer, - secondary: { - title: '{% trans "Add Customer" %}', - fields: function() { - var fields = companyFormFields(); - - fields.is_customer.value = true; - - return fields; - } - } - }, - customer_reference: {}, - description: {}, - target_date: { - icon: 'fa-calendar-alt', - }, - link: { - icon: 'fa-link', - }, - responsible: { - icon: 'fa-user', - } - }, + fields: fields, onSuccess: function(data) { location.href = `/order/sales-order/${data.pk}/`; }, @@ -564,12 +581,27 @@ function createSalesOrder(options={}) { } +/* + * Edit an existing SalesOrder + */ +function editSalesOrder(order_id, options={}) { + + constructForm(`/api/order/so/${order_id}/`, { + fields: salesOrderFields(options), + title: '{% trans "Edit Sales Order" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + /* * Launch a modal form to create a new SalesOrderLineItem */ function createSalesOrderLineItem(options={}) { - var fields = soLineItemFields(options); + let fields = soLineItemFields(options); constructForm('{% url "api-so-line-list" %}', { fields: fields, @@ -591,6 +623,7 @@ function purchaseOrderFields(options={}) { reference: { icon: 'fa-hashtag', }, + description: {}, supplier: { icon: 'fa-building', secondary: { @@ -604,7 +637,6 @@ function purchaseOrderFields(options={}) { } } }, - description: {}, supplier_reference: {}, target_date: { icon: 'fa-calendar-alt', @@ -758,17 +790,27 @@ function createPurchaseOrderLineItem(order, options={}) { /* Construct a set of fields for the SalesOrderLineItem form */ function soLineItemFields(options={}) { - var fields = { + let fields = { order: { hidden: true, }, - part: {}, + part: { + icon: 'fa-shapes', + }, quantity: {}, reference: {}, - sale_price: {}, - sale_price_currency: {}, - target_date: {}, - notes: {}, + sale_price: { + icon: 'fa-dollar-sign', + }, + sale_price_currency: { + icon: 'fa-coins', + }, + target_date: { + icon: 'fa-calendar-alt', + }, + notes: { + icon: 'fa-sticky-note', + }, }; if (options.order) { @@ -792,9 +834,15 @@ function extraLineFields(options={}) { }, quantity: {}, reference: {}, - price: {}, - price_currency: {}, - notes: {}, + price: { + icon: 'fa-dollar-sign', + }, + price_currency: { + icon: 'fa-coins', + }, + notes: { + icon: 'fa-sticky-note', + }, }; if (options.order) { @@ -815,6 +863,7 @@ function poLineItemFields(options={}) { } }, part: { + icon: 'fa-shapes', filters: { part_detail: true, supplier_detail: true, @@ -911,15 +960,24 @@ function poLineItemFields(options={}) { }, quantity: {}, reference: {}, - purchase_price: {}, - purchase_price_currency: {}, - target_date: {}, + purchase_price: { + icon: 'fa-dollar-sign', + }, + purchase_price_currency: { + icon: 'fa-coins', + }, + target_date: { + icon: 'fa-calendar-alt', + }, destination: { + icon: 'fa-sitemap', filters: { structural: false, } }, - notes: {}, + notes: { + icon: 'fa-sticky-note', + }, }; if (options.order) { @@ -2655,13 +2713,7 @@ function loadPurchaseOrderExtraLineTable(table, options={}) { var pk = $(this).attr('pk'); constructForm(`/api/order/po-extra-line/${pk}/`, { - fields: { - quantity: {}, - reference: {}, - price: {}, - price_currency: {}, - notes: {}, - }, + fields: extraLineFields(), title: '{% trans "Edit Line" %}', onSuccess: reloadTable, }); @@ -4102,7 +4154,7 @@ function loadSalesOrderLineItemTable(table, options={}) { inventreeGet(`/api/order/so-line/${pk}/`, {}, { success: function(data) { - var fields = soLineItemFields(); + let fields = soLineItemFields(); constructForm('{% url "api-so-line-list" %}', { method: 'POST', @@ -4122,14 +4174,7 @@ function loadSalesOrderLineItemTable(table, options={}) { var pk = $(this).attr('pk'); constructForm(`/api/order/so-line/${pk}/`, { - fields: { - quantity: {}, - reference: {}, - sale_price: {}, - sale_price_currency: {}, - target_date: {}, - notes: {}, - }, + fields: soLineItemFields(), title: '{% trans "Edit Line Item" %}', onSuccess: reloadTable, }); @@ -4465,13 +4510,7 @@ function loadSalesOrderExtraLineTable(table, options={}) { var pk = $(this).attr('pk'); constructForm(`/api/order/so-extra-line/${pk}/`, { - fields: { - quantity: {}, - reference: {}, - price: {}, - price_currency: {}, - notes: {}, - }, + fields: extraLineFields(), title: '{% trans "Edit Line" %}', onSuccess: reloadTable, }); diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 5f944fdc7c..94ffbc5333 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -41,6 +41,7 @@ loadSimplePartTable, partDetail, partStockLabel, + partTestTemplateFields, toggleStar, validateBom, */ @@ -108,11 +109,13 @@ function partFields(options={}) { icon: 'fa-link', }, default_location: { + icon: 'fa-sitemap', filters: { structural: false, } }, default_supplier: { + icon: 'fa-building', filters: { part_detail: true, supplier_detail: true, @@ -253,6 +256,7 @@ function categoryFields() { name: {}, description: {}, default_location: { + icon: 'fa-sitemap', filters: { structural: false, } @@ -978,11 +982,21 @@ function loadPartStocktakeTable(partId, options={}) { fields: { item_count: {}, quantity: {}, - cost_min: {}, - cost_min_currency: {}, - cost_max: {}, - cost_max_currency: {}, - note: {}, + cost_min: { + icon: 'fa-dollar-sign', + }, + cost_min_currency: { + icon: 'fa-coins', + }, + cost_max: { + icon: 'fa-dollar-sign', + }, + cost_max_currency: { + icon: 'fa-coins', + }, + note: { + icon: 'fa-sticky-note', + }, }, title: '{% trans "Edit Stocktake Entry" %}', onSuccess: function() { @@ -2403,10 +2417,32 @@ function loadPartCategoryTable(table, options) { }); } + +/* Construct a set of fields for the PartTestTemplate model form */ +function partTestTemplateFields(options={}) { + let fields = { + test_name: {}, + description: {}, + required: {}, + requires_value: {}, + requires_attachment: {}, + part: { + hidden: true, + } + }; + + if (options.part) { + fields.part.value = options.part; + } + + return fields; +} + + +/* + * Load PartTestTemplate table. + */ function loadPartTestTemplateTable(table, options) { - /* - * Load PartTestTemplate table. - */ var params = options.params || {}; @@ -2505,13 +2541,7 @@ function loadPartTestTemplateTable(table, options) { var url = `/api/part/test-template/${pk}/`; constructForm(url, { - fields: { - test_name: {}, - description: {}, - required: {}, - requires_value: {}, - requires_attachment: {}, - }, + fields: partTestTemplateFields(), title: '{% trans "Edit Test Result Template" %}', onSuccess: function() { table.bootstrapTable('refresh'); diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index 356b000463..bf6784ae81 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -315,7 +315,9 @@ function stockItemFields(options={}) { purchase_price: { icon: 'fa-dollar-sign', }, - purchase_price_currency: {}, + purchase_price_currency: { + icon: 'fa-coins', + }, packaging: { icon: 'fa-box', }, @@ -686,7 +688,9 @@ function assignStockToCustomer(items, options={}) { is_customer: true, }, }, - notes: {}, + notes: { + icon: 'fa-sticky-note', + }, }, confirm: true, confirmMessage: '{% trans "Confirm stock assignment" %}', @@ -855,7 +859,9 @@ function mergeStockItems(items, options={}) { structural: false, } }, - notes: {}, + notes: { + icon: 'fa-sticky-note', + }, allow_mismatched_suppliers: {}, allow_mismatched_status: {}, }, @@ -1299,6 +1305,28 @@ function formatDate(row) { return html; } +/* Construct set of default fields for a StockItemTestResult */ +function stockItemTestResultFields(options={}) { + let fields = { + test: {}, + result: {}, + value: {}, + attachment: {}, + notes: { + icon: 'fa-sticky-note', + }, + stock_item: { + hidden: true, + }, + }; + + if (options.stock_item) { + fields.stock_item.value = options.stock_item; + } + + return fields; +} + /* * Load StockItemTestResult table */ @@ -1564,7 +1592,9 @@ function loadStockTestResultsTable(table, options) { result: {}, value: {}, attachment: {}, - notes: {}, + notes: { + icon: 'fa-sticky-note', + }, stock_item: { value: options.stock_item, hidden: true, @@ -1584,13 +1614,7 @@ function loadStockTestResultsTable(table, options) { var url = `/api/stock/test/${pk}/`; constructForm(url, { - fields: { - test: {}, - result: {}, - value: {}, - attachment: {}, - notes: {}, - }, + fields: stockItemTestResultFields(), title: '{% trans "Edit Test Result" %}', onSuccess: reloadTestTable, }); @@ -2860,7 +2884,9 @@ function uninstallStockItem(installed_item_id, options={}) { structural: false, } }, - note: {}, + note: { + icon: 'fa-sticky-note', + }, }, preFormContent: function(opts) { var html = ''; From a2b55314cb9f4e5b3ae7cd5d84c1d884fb5c4ef1 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 21 Feb 2023 13:57:10 +1100 Subject: [PATCH 022/140] Adding icons for forms (#4381) --- InvenTree/templates/js/translated/pricing.js | 16 ++++++++++++---- InvenTree/templates/js/translated/stock.js | 8 ++++++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/InvenTree/templates/js/translated/pricing.js b/InvenTree/templates/js/translated/pricing.js index 020d717728..690ed1762a 100644 --- a/InvenTree/templates/js/translated/pricing.js +++ b/InvenTree/templates/js/translated/pricing.js @@ -652,8 +652,12 @@ function initPriceBreakSet(table, options) { value: part_id, }, quantity: {}, - price: {}, - price_currency: {}, + price: { + icon: 'fa-dollar-sign', + }, + price_currency: { + icon: 'fa-coins', + }, }, method: 'POST', title: '{% trans "Add Price Break" %}', @@ -677,8 +681,12 @@ function initPriceBreakSet(table, options) { constructForm(`${pb_url}${pk}/`, { fields: { quantity: {}, - price: {}, - price_currency: {}, + price: { + icon: 'fa-dollar-sign', + }, + price_currency: { + icon: 'fa-coins', + }, }, title: '{% trans "Edit Price Break" %}', onSuccess: reloadPriceBreakTable, diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index bf6784ae81..412305251b 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -311,7 +311,9 @@ function stockItemFields(options={}) { icon: 'fa-layer-group', }, status: {}, - expiry_date: {}, + expiry_date: { + icon: 'fa-calendar-alt', + }, purchase_price: { icon: 'fa-dollar-sign', }, @@ -324,7 +326,9 @@ function stockItemFields(options={}) { link: { icon: 'fa-link', }, - owner: {}, + owner: { + icon: 'fa-user', + }, delete_on_deplete: {}, }; From fa7a33dc9c8ffc753cfe26d0338a9df64d5b2129 Mon Sep 17 00:00:00 2001 From: simonkuehling Date: Tue, 21 Feb 2023 23:51:09 +0100 Subject: [PATCH 023/140] add missing units to Build Order view (#4386) (#4388) * add missing units to Build Order view (#4386) * JS styling fixes * more JS styling fixes --- InvenTree/templates/js/translated/build.js | 29 +++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index 7d410a2a54..36c175a640 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -479,6 +479,9 @@ function completeBuildOutputs(build_id, outputs, options={}) { output_html += `{% trans "Serial Number" %}: ${output.serial}`; } else { output_html += `{% trans "Quantity" %}: ${output.quantity}`; + if (output.part_detail && output.part_detail.units) { + output_html += ` ${output.part_detail.units} `; + } } var buttons = `
`; @@ -637,6 +640,9 @@ function deleteBuildOutputs(build_id, outputs, options={}) { output_html += `{% trans "Serial Number" %}: ${output.serial}`; } else { output_html += `{% trans "Quantity" %}: ${output.quantity}`; + if (output.part_detail && output.part_detail.units) { + output_html += ` ${output.part_detail.units} `; + } } var buttons = `
`; @@ -1247,6 +1253,9 @@ function loadBuildOutputTable(build_info, options={}) { text = `{% trans "Serial Number" %}: ${row.serial}`; } else { text = `{% trans "Quantity" %}: ${row.quantity}`; + if (row.part_detail && row.part_detail.units) { + text += ` ${row.part_detail.units}`; + } } if (row.batch) { @@ -1748,6 +1757,9 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { text = `{% trans "Serial Number" %}: ${serial}`; } else { text = `{% trans "Quantity" %}: ${row.quantity}`; + if (row.part_detail && row.part_detail.units) { + text += ` ${row.part_detail.units}`; + } } var pk = row.stock_item || row.pk; @@ -1880,6 +1892,14 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { title: '{% trans "Quantity Per" %}', sortable: true, switchable: false, + formatter: function(value, row) { + var text = value; + + if (row.sub_part_detail && row.sub_part_detail.units) { + text += ` ${row.sub_part_detail.units}`; + } + return text; + } }, { field: 'available_stock', @@ -1903,6 +1923,9 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { if (available_stock > 0) { text += `${available_stock}`; + if (row.sub_part_detail && row.sub_part_detail.units) { + text += ` ${row.sub_part_detail.units}`; + } } var icons = ''; @@ -1953,7 +1976,11 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { formatter: function(value, row) { var required = requiredQuantity(row); var allocated = row.consumable ? required : allocatedQuantity(row); - return makeProgressBar(allocated, required); + var progressbar_text = `${allocated} / ${required}`; + if (row.sub_part_detail && row.sub_part_detail.units) { + progressbar_text += ` ${row.sub_part_detail.units}`; + } + return makeProgressBar(allocated, required, {text: progressbar_text}); }, sorter: function(valA, valB, rowA, rowB) { // Custom sorting function for progress bars From 71af30f0d2e2dc4bdcc8bca55319185576281527 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 23 Feb 2023 07:19:27 +1100 Subject: [PATCH 024/140] New Crowdin updates (#4356) * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin --- InvenTree/locale/cs/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/da/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/de/LC_MESSAGES/django.po | 4925 +++++++++-------- InvenTree/locale/el/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/es/LC_MESSAGES/django.po | 5039 ++++++++--------- InvenTree/locale/fa/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/fr/LC_MESSAGES/django.po | 4941 +++++++++-------- InvenTree/locale/he/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/hu/LC_MESSAGES/django.po | 4917 +++++++++-------- InvenTree/locale/id/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/it/LC_MESSAGES/django.po | 6048 +++++++++++---------- InvenTree/locale/ja/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/ko/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/nl/LC_MESSAGES/django.po | 5057 ++++++++--------- InvenTree/locale/no/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/pl/LC_MESSAGES/django.po | 5025 ++++++++--------- InvenTree/locale/pt/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/ru/LC_MESSAGES/django.po | 5017 ++++++++--------- InvenTree/locale/sl/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/sv/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/th/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/tr/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/vi/LC_MESSAGES/django.po | 5015 ++++++++--------- InvenTree/locale/zh/LC_MESSAGES/django.po | 5093 ++++++++--------- 24 files changed, 62624 insertions(+), 58663 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index f07137466d..fefee9e6ba 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:21\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -29,23 +29,23 @@ msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Poznámky" @@ -58,23 +58,23 @@ msgstr "Hodnota '{name}' neodpovídá formátu vzoru" msgid "Provided value does not match required pattern: " msgstr "Poskytnutá hodnota neodpovídá požadovanému vzoru: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Zadejte heslo" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Zadejte nové heslo" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Potvrďte heslo" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Potvrďte nové heslo" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Původní heslo" @@ -130,7 +130,7 @@ msgstr "Vzdálený server vrátil prázdnou odpověď" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" @@ -170,23 +170,23 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "" @@ -194,350 +194,363 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Chybějící soubor" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Příloha" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Odkaz na externí URL" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Komentář" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Uživatel" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "datum přidání" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Název souboru nesmí být prázdný" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Neplatný adresář přílohy" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Název souboru obsahuje nepovolený znak '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Chybějící přípona souboru" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Příloha s tímto názvem již existuje" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Chyba při přejmenování souboru" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Název" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Popis" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Popis (volitelně)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "nadřazený" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Cesta" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Chyba serveru" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Název souboru" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Datový soubor" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Vyberte datový soubor k nahrání" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Nepodporovaný typ souboru" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Soubor je příliš velký" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "V souboru nebyly nalezeny žádné sloupce" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "V souboru nebyly nalezeny žádné řádky s daty" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Nebyly zadány žádné řádky s daty" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Nebyly zadány žádné sloupce s daty" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Chybí povinný sloupec: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Čeština" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Němčina" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Řečtina" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Angličtina" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Španělština" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Španělština (Mexiko)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Farsi / Perština" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Francouzština" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Hebrejština" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Maďarština" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Italština" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japonština" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Korejština" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Nizozemština" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norština" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polština" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugalština" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portugalština (Brazilská)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Ruština" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Švédština" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Thajština" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Turečtina" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnamština" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Čínština" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "Kontroly zdraví systému InvenTree selhaly" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "Nevyřízeno" @@ -579,8 +592,8 @@ msgstr "Ztraceno" msgid "Returned" msgstr "Vráceno" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Odesláno" @@ -664,7 +677,7 @@ msgstr "Rozdělit od nadřazené položky" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "" @@ -672,7 +685,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Odesláno zákazníkovi" @@ -721,27 +734,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Upravit informace o uživateli" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Nastavit heslo" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Hesla se musí shodovat" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Informace o systému" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "" @@ -749,44 +762,44 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "" + #: build/models.py:155 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Díl" @@ -855,8 +869,8 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "" @@ -896,21 +910,21 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "" @@ -918,8 +932,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "" @@ -927,7 +941,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" @@ -999,11 +1013,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -1025,18 +1039,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "" @@ -1044,12 +1058,12 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "" @@ -1097,249 +1110,249 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Jméno společnosti" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "Nastavení oprávnění" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "Skupina" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "Zobrazit" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "Oprávnění k zobrazení položek" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "Oprávnění přidat položky" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "Změnit" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "Oprávnění k úpravě položek" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 46b2af2037..3e1c173de6 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-15 21:25\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -29,23 +29,23 @@ msgstr "Fejloplysninger kan findes i admin panelet" msgid "Enter date" msgstr "Angiv dato" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Bemærkninger" @@ -58,23 +58,23 @@ msgstr "Værdi '{name}' vises ikke i mønsterformat" msgid "Provided value does not match required pattern: " msgstr "Den angivne værdi matcher ikke det påkrævede mønster: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Indtast adgangskode" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Indtast ny adgangskode" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Bekræft adgangskode" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Bekræft ny adgangskode" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Gammel adgangskode" @@ -130,7 +130,7 @@ msgstr "Fjernserver returnerede tomt svar" msgid "Supplied URL is not a valid image file" msgstr "Angivet URL er ikke en gyldig billedfil" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" @@ -170,23 +170,23 @@ msgstr "Antal unikke serienumre ({s}) skal matche antal ({q})" msgid "Remove HTML tags from this value" msgstr "Fjern HTML-tags fra denne værdi" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Forkert formateret mønster" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Ukendt formatnøgle angivet" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøgle" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "Referencefelt må ikke være tomt" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "Reference skal matche det påkrævede mønster" @@ -194,350 +194,363 @@ msgstr "Reference skal matche det påkrævede mønster" msgid "Reference number is too large" msgstr "Referencenummer er for stort" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Manglende fil" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Manglende eksternt link" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Vedhæftning" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Link" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link til ekstern URL" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Bruger" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "dato for upload" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Filnavn må ikke være tomt" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Ugyldig vedhæftningsmappe" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnavn indeholder ugyldigt tegn '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Filnavn mangler filtype" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Vedhæftning med dette filnavn findes allerede" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Fejl ved omdøbning af fil" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Beskrivelse (valgfri)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "overordnet" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Stregkode Data" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Tredjeparts stregkode data" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Stregkode Hash" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Unik hash af stregkode data" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Eksisterende stregkode fundet" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Serverfejl" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Ugyldig værdi" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Vælg datafilen til upload" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Filtype ikke understøttet" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Ingen kolonner fundet i fil" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Ingen datarækker fundet i fil" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Ingen data-rækker angivet" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Ingen data-kolonner angivet" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrævet kolonne: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikeret kolonne: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "URL til ekstern billedfil" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Tjekkisk" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Dansk" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Græsk" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Spansk (Mexikansk)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Hollandsk" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilien)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "Slovensk" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Kinesisk" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "Helbredstjek af InvenTree system mislykkedes" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "Afventende" @@ -579,8 +592,8 @@ msgstr "Mistet" msgid "Returned" msgstr "Returneret" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Afsendt" @@ -664,7 +677,7 @@ msgstr "Opdel fra overordnet element" msgid "Split child item" msgstr "Opdel underordnet element" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Flettede lagervarer" @@ -672,7 +685,7 @@ msgstr "Flettede lagervarer" msgid "Converted to variant" msgstr "Konverteret til variant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Sendt til kunde" @@ -721,27 +734,27 @@ msgstr "Overskuddet må ikke overstige 100%" msgid "Invalid value for overage" msgstr "Ugyldig værdi for overskud" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Rediger brugerinformation" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Vælg adgangskode" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "De indtastede adgangskoder skal være ens" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Forkert adgangskode indtastet" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Systemoplysninger" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "Om InvenTree" @@ -749,44 +762,44 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Ugyldigt valg for overordnet produktion" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Produktionsordre" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Produktionsordrer" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Ugyldigt valg for overordnet produktion" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Reference" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Del" @@ -855,8 +869,8 @@ msgstr "Salgsordrereference" msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Kilde Lokation" @@ -896,21 +910,21 @@ msgstr "Produktions Status" msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Oprettelsesdato" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Projekteret afslutningsdato" @@ -918,8 +932,8 @@ msgstr "Projekteret afslutningsdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Dato for afslutning" @@ -927,7 +941,7 @@ msgstr "Dato for afslutning" msgid "completed by" msgstr "udført af" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Udstedt af" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Ansvarlig" @@ -952,8 +966,8 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Ekstern link" @@ -999,11 +1013,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -1025,18 +1039,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "" @@ -1044,12 +1058,12 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "" @@ -1097,249 +1110,249 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 52d475a701..20513e2b6b 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:03\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:21\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -29,23 +29,23 @@ msgstr "Fehlerdetails finden Sie im Admin-Panel" msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Notizen" @@ -58,23 +58,23 @@ msgstr "Wert '{name}' hält das Musterformat nicht ein" msgid "Provided value does not match required pattern: " msgstr "Angegebener Wert entspricht nicht dem benötigten Muster: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Passwort eingeben" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Neues Passwort eingeben" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Passwort wiederholen" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Neues Passwort bestätigen" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Altes Passwort" @@ -130,7 +130,7 @@ msgstr "Remote-Server gab leere Antwort zurück" msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -170,374 +170,387 @@ msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) üb msgid "Remove HTML tags from this value" msgstr "Entferne HTML-Tags von diesem Wert" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Falsch formatiertes Muster" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Unbekannter Formatschlüssel angegeben" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Erforderlicher Formatschlüssel fehlt" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "Referenz-Feld darf nicht leer sein" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" -msgstr "Referenz erforderlichem Muster entsprechen" +msgstr "Referenz muss erforderlichem Muster entsprechen" #: InvenTree/models.py:306 msgid "Reference number is too large" msgstr "Referenznummer ist zu groß" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Fehlende Datei" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Anhang" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Link" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Benutzer" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "Hochladedatum" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Dateiname darf nicht leer sein" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Ungültiges Verzeichnis für Anhang" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dateiname enthält ungültiges Zeichen '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Dateiendung fehlt" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Anhang mit diesem Dateinamen bereits vorhanden" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Fehler beim Umbenennen" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Name" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "Eltern" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Pfad" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Barcode-Daten" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Drittanbieter-Barcode-Daten" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Barcode-Hash" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Eindeutiger Hash der Barcode-Daten" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Bestehender Barcode gefunden" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Serverfehler" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "Währung" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "Währung aus verfügbaren Optionen auswählen" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Dateiname" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Datendatei" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Neue Datei zum Hochladen auswählen" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Nicht unterstütztes Dateiformat" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Datei ist zu groß" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Keine Spalten in der Datei gefunden" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Keine Datensätze in der Datei gefunden" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Keine Zeilen ausgewählt" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Keine Spalten angegeben" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Erforderliche Spalte '{name}' fehlt" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "URL der Remote-Bilddatei" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Tschechisch" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Dänisch" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Griechisch" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Spanisch" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Spanisch (Mexikanisch)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Persisch" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Hebräisch" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Ungarisch" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Italienisch" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japanisch" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Koreanisch" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Niederländisch" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norwegisch" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugiesisch" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portugiesisch (Brasilien)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "Slowenisch" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Chinesisch" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree Status-Überprüfung fehlgeschlagen" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "Ausstehend" @@ -579,8 +592,8 @@ msgstr "Verloren" msgid "Returned" msgstr "Zurückgegeben" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Versendet" @@ -664,7 +677,7 @@ msgstr "Vom übergeordneten Element geteilt" msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" @@ -672,7 +685,7 @@ msgstr "Lagerartikel zusammengeführt" msgid "Converted to variant" msgstr "In Variante umgewandelt" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Zum Kunden geschickt" @@ -721,27 +734,27 @@ msgstr "Überschuss darf 100% nicht überschreiten" msgid "Invalid value for overage" msgstr "Ungültiger Wert für Ausschuss" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Benutzerinformationen bearbeiten" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Passwort eingeben" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Passwörter stimmen nicht überein" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Falsches Passwort angegeben" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Systeminformationen" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "Über InvenTree" @@ -749,44 +762,44 @@ msgstr "Über InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Ungültige Wahl für übergeordneten Bauauftrag" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Bauaufträge" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Ungültige Wahl für übergeordneten Bauauftrag" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Referenz" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Teil" @@ -855,8 +869,8 @@ msgstr "Auftrag Referenz" msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Quell-Lagerort" @@ -896,21 +910,21 @@ msgstr "Bauauftrags-Status" msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" @@ -918,8 +932,8 @@ msgstr "geplantes Fertigstellungsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -927,7 +941,7 @@ msgstr "Fertigstellungsdatum" msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Aufgegeben von" @@ -936,24 +950,24 @@ msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Verantwortlicher Benutzer" #: build/models.py:285 msgid "User or group responsible for this build order" -msgstr "" +msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Externer Link" @@ -999,11 +1013,11 @@ msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "Ausgewähltes Bestands-Objekt nicht in Stückliste für Teil '{p}' gefunden" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Bauauftrag" @@ -1025,18 +1039,18 @@ msgstr "Bauauftrag" msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Lagerartikel" @@ -1044,12 +1058,12 @@ msgstr "Lagerartikel" msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Quell-Lagerartikel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Anzahl" @@ -1097,249 +1110,249 @@ msgstr "Installiere in" msgid "Destination stock item" msgstr "Ziel-Lagerartikel" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:218 +#: build/serializers.py:219 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:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Lagerort" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Status" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "Zugewiesenen Bestand entfernen" -#: build/serializers.py:454 +#: build/serializers.py:455 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:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "Als von diesem Bauauftrag verbraucht setzen" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "Überbelegter Lagerbestand" -#: build/serializers.py:515 +#: build/serializers.py:516 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:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "Der Bestand einiger Lagerartikel ist überbelegt" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:531 +#: build/serializers.py:532 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:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:547 +#: build/serializers.py:548 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:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:655 +#: build/serializers.py:665 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:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:734 +#: build/serializers.py:735 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:741 +#: build/serializers.py:742 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:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:825 +#: build/serializers.py:826 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:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "Optionale Positionen" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "Zieldatum" @@ -1445,29 +1458,29 @@ msgstr "Bauauftrag war fällig am %(target)s" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "Überfällig" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Fertig" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "Auftrag" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "Aufgegeben von" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "Priorität" @@ -1498,8 +1511,8 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "Ziel-Lager" @@ -1511,21 +1524,21 @@ msgstr "Ziel-Lagerort nicht angegeben" msgid "Allocated Parts" msgstr "Zugewiesene Teile" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "Losnummer" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "Erstellt" @@ -1545,7 +1558,7 @@ msgstr "Unter-Bauaufträge" msgid "Allocate Stock to Build" msgstr "Bestand Bauauftrag zuweisen" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "Bestandszuordnung aufheben" @@ -1576,7 +1589,7 @@ msgstr "Benötigte Teile bestellen" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "Teile bestellen" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "Endprodukte löschen" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Druck Aktionen" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "Label drucken" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "Fertiggestellte Endprodukte" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Anhänge" @@ -1666,7 +1681,7 @@ msgstr "Zuordnung abgeschlossen" msgid "All untracked stock items have been allocated" msgstr "Alle nicht verfolgten Lagerartikel wurden zugewiesen" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "Neuer Bauauftrag" @@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Datei" msgid "Select {name} file to upload" msgstr "{name} Datei zum Hochladen auswählen" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "Aktualisiert" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "Zeitstempel der letzten Aktualisierung" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "Wert ist keine gültige Option" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "Keine Gruppe" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "Eine leere Domain ist nicht erlaubt." -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ungültiger Domainname: {domain}" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/models.py:885 +#: common/models.py:892 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:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "Name der Serverinstanz" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "Anzeige von `Über` einschränken" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Firmenname" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "Wählen Sie die Basiswährung für die Preiskalkulation" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "Download-Größenlimit" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "Maximal zulässige Größe für heruntergeladene Bilder" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "Benutzer-Agent zum Herunterladen von Daten" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "Bestätigung verpflichtend" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "Eine ausdrückliche Benutzerbestätigung für bestimmte Aktionen erfordern." -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "Baumtiefe" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standard Ebene für Baumansicht. Tiefere Ebenen kann bei Bedarf nachgeladen werden." -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "Automatische Sicherung" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "Automatische Sicherung der Datenbank- und Mediendateien aktivieren" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "Tage zwischen Sicherung" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "Anzahl der Tage zwischen automatischen Sicherungen" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "Alte Aufgaben löschen" -#: common/models.py:995 +#: common/models.py:1002 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:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "Fehlerprotokolle löschen" -#: common/models.py:1006 +#: common/models.py:1013 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:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "Benachrichtigungen löschen" -#: common/models.py:1017 +#: common/models.py:1024 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:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "Barcode-Scanner Unterstützung" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "Barcode-Eingabeverzögerung" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "Verzögerungszeit bei Barcode-Eingabe" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "Barcode Webcam-Unterstützung" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:1079 +#: common/models.py:1086 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:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:1086 +#: common/models.py:1093 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:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "Vorlage" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "Komponente" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "Initialer Lagerbestand" -#: common/models.py:1163 +#: common/models.py:1170 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:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" -#: common/models.py:1170 +#: common/models.py:1177 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:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "Standardsymbol der Teilkategorie" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "Dezimalstellen für Preise" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "Anzahl der Dezimalstellen, die bei der Darstellung der Preisdaten angezeigt werden sollen" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/models.py:1223 +#: common/models.py:1230 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:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "Neuberechnungs-Zyklus für Preisinformationen" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "Tage" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/models.py:1280 +#: common/models.py:1287 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:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "Testberichte aktivieren" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "Testberichte anhängen" -#: common/models.py:1322 +#: common/models.py:1329 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:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel erschöpft ist" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1350 +#: common/models.py:1357 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:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1370 +#: common/models.py:1377 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:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1398 +#: common/models.py:1405 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:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1405 +#: common/models.py:1412 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:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Verkaufsaufträge bearbeiten" -#: common/models.py:1419 +#: common/models.py:1426 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:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1426 +#: common/models.py:1433 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:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1433 +#: common/models.py:1440 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:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1462 +#: common/models.py:1469 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:1468 +#: common/models.py:1475 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1483 +#: common/models.py:1490 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:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (komma-separiert, mit @ startend)" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1518 +#: common/models.py:1525 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:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "Plugin-Signaturen überprüfen" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "Signaturen für Plugins prüfen und anzeigen" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "Inventurfunktionen" + +#: common/models.py:1581 +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:1587 +msgid "Automatic Stocktake Period" +msgstr "Automatische Inventur-Periode" + +#: common/models.py:1588 +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:1597 +msgid "Delete Old Reports" +msgstr "Alte Berichte löschen" + +#: common/models.py:1598 +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:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "Kein Drucker (Exportieren als PDF)" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1741 +#: common/models.py:1789 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:1747 +#: common/models.py:1795 +msgid "Default label printer" +msgstr "Standard-Etikettendrucker" + +#: common/models.py:1796 +msgid "Configure which label printer should be selected by default" +msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" + +#: common/models.py:1802 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1748 +#: common/models.py:1803 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:1754 +#: common/models.py:1809 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1755 +#: common/models.py:1810 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1761 +#: common/models.py:1816 msgid "Seach Supplier Parts" msgstr "Zuliefererteile durchsuchen" -#: common/models.py:1762 +#: common/models.py:1817 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:1768 +#: common/models.py:1823 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:1769 +#: common/models.py:1824 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:1775 +#: common/models.py:1830 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1776 +#: common/models.py:1831 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1782 +#: common/models.py:1837 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1783 +#: common/models.py:1838 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1789 +#: common/models.py:1844 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1790 +#: common/models.py:1845 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1796 +#: common/models.py:1851 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:1797 +#: common/models.py:1852 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:1803 +#: common/models.py:1858 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1804 +#: common/models.py:1859 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1810 +#: common/models.py:1865 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1811 +#: common/models.py:1866 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1817 +#: common/models.py:1872 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:1818 +#: common/models.py:1873 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:1824 +#: common/models.py:1879 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1825 +#: common/models.py:1880 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1831 +#: common/models.py:1886 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:1832 +#: common/models.py:1887 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:1838 +#: common/models.py:1893 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:1839 +#: common/models.py:1894 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:1845 +#: common/models.py:1900 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:1846 +#: common/models.py:1901 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:1852 +#: common/models.py:1907 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:1853 +#: common/models.py:1908 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:1859 +#: common/models.py:1914 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1860 +#: common/models.py:1915 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1866 +#: common/models.py:1921 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:1867 +#: common/models.py:1922 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:1873 +#: common/models.py:1928 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:1874 +#: common/models.py:1929 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:1880 +#: common/models.py:1935 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:1903 -msgid "Display part stocktake information" -msgstr "Inventurinformationen anzeigen" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "Preis" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "Aktiv" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "Token" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "Host" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "Body" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "ID" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "Titel" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "Gelesen" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" @@ -3015,7 +3065,7 @@ msgstr "Fehler in Plugin aufgetreten" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Datei hochgeladen" @@ -3023,7 +3073,7 @@ msgstr "Datei hochgeladen" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Übereinstimmende Felder" @@ -3061,7 +3111,7 @@ msgstr "Firmenbeschreibung" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "Website" @@ -3106,7 +3156,7 @@ msgstr "Anlaufstelle" msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Bild" @@ -3138,229 +3188,219 @@ msgstr "ist Hersteller" msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "Währung" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "Basisteil" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "Teil auswählen" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "Hersteller" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "Hersteller auswählen" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "MPN" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "Hersteller-Teilenummer" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "Externe URL für das Herstellerteil" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "Teilbeschreibung des Herstellers" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "Herstellerteil" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "Parametername" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "Wert" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "Parameterwert" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "Einheiten" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "Parametereinheit" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "Zulieferer" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "Zulieferer auswählen" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "SKU (Lagerbestandseinheit)" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "Lagerbestandseinheit (SKU) des Zulieferers" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "Herstellerteil auswählen" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "Teil-URL des Zulieferers" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "Zuliefererbeschreibung des Teils" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "Notiz" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "Basiskosten" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "Mindestpreis" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "Verpackungen" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "Teile-Verpackungen" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "Packmenge" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "Stückmenge in einer einzelnen Verpackungseinheit" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "Vielfache" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "Mehrere bestellen" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "Verfügbar" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "Verfügbare Menge von Lieferanten" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "Verfügbarkeit aktualisiert" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "Standard-Währung für diesen Zulieferer" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "Währungscode" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "Firma" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "Basisteil" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "Teil auswählen" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "Hersteller" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "Hersteller auswählen" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "MPN" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "Hersteller-Teilenummer" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "Externe URL für das Herstellerteil" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "Teilbeschreibung des Herstellers" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "Herstellerteil" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "Parametername" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "Wert" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "Parameterwert" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "Einheiten" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "Parametereinheit" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "Zulieferer" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "Zulieferer auswählen" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "SKU (Lagerbestandseinheit)" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "Lagerbestandseinheit (SKU) des Zulieferers" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "Herstellerteil auswählen" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "Teil-URL des Zulieferers" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "Zuliefererbeschreibung des Teils" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "Notiz" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "Basiskosten" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "Mindestpreis" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "Verpackungen" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "Teile-Verpackungen" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "Packmenge" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "Stückmenge in einer einzelnen Verpackungseinheit" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "Vielfache" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "Mehrere bestellen" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "Verfügbar" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "Verfügbare Menge von Lieferanten" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "Verfügbarkeit aktualisiert" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "Standard-Währung für diesen Zulieferer" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "Bestellung anlegen" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "Firmeninformation bearbeiten" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "Firma bearbeiten" @@ -3401,14 +3441,14 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "Kunde" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "Bild entfernen" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "Verknüpftes Bild von dieser Firma entfernen" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Entfernen" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "Bild hochladen" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "Bild herunterladen" @@ -3458,13 +3498,13 @@ msgstr "Neues Zuliefererteil anlegen" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Neues Zuliefererteil" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "Teile bestellen" @@ -3487,7 +3527,7 @@ msgstr "Herstellerteile" msgid "Create new manufacturer part" msgstr "Neues Herstellerteil anlegen" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Neues Herstellerteil" @@ -3501,11 +3541,11 @@ msgstr "Zulieferer-Bestand" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "Bestellungen" @@ -3524,11 +3564,11 @@ msgstr "Neue Bestellung" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "Aufträge" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "Neuer Auftrag" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "Zugeordneter Bestand" @@ -3558,17 +3598,17 @@ msgstr "Hersteller" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Teil bestellen" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "Herstellerteil bearbeiten" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "Herstellerteil löschen" @@ -3583,34 +3623,34 @@ msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Zulieferer" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "Zuliefererteil entfernen" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "Löschen" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parameter" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "Parameter löschen" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Parameter hinzufügen" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "Zugewiesene Lagerartikel" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "Zuliefererteil" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "Barcode Aktionen" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "QR-Code anzeigen" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "Barcode abhängen" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "Barcode anhängen" @@ -3685,7 +3725,7 @@ msgstr "Zulieferer-Teil Aktionen" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Teil bestellen" @@ -3696,13 +3736,13 @@ msgstr "Verfügbarkeit aktualisieren" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "Zuliefererteil bearbeiten" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "Zulieferer-Teil duplizieren" @@ -3717,7 +3757,7 @@ msgstr "Zuliefererteil entfernen" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "Barcode-Bezeichner" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "Keine Lieferanteninformationen verfügbar" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "Zulieferer-Bestand" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "Neuen Lagerartikel hinzufügen" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "Neuer Lagerartikel" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "Zulieferer-Bestellungen" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "Preisinformationen ansehen" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "Zuliefererteil QR-Code" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "Barcode mit Zuliefererteil verknüpfen" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Teilverfügbarkeit aktualisieren" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" -msgstr "Bestand" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" +msgstr "Lagerartikel" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "Bestellungen" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "Zuliefererteil Bepreisung" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "Bepreisung" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "Lagerartikel" - #: company/views.py:33 msgid "New Supplier" msgstr "Neuer Zulieferer" @@ -3828,10 +3848,6 @@ msgstr "Firmen" msgid "New Company" msgstr "Neue Firma" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "Lagerartikel-QR-Code" - #: label/models.py:102 msgid "Label name" msgstr "Label Name" @@ -3848,7 +3864,7 @@ msgstr "Label" msgid "Label template file" msgstr "Label-Vorlage-Datei" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "Aktiviert" @@ -3872,7 +3888,7 @@ msgstr "Höhe [mm]" msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "Dateinamen-Muster" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "Filter" @@ -3897,447 +3913,443 @@ msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "Unbekannt" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "Bestellungs-Beschreibung" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:100 +#: order/models.py:99 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:105 +#: order/models.py:104 msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "Empfangen von" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "Ziel-Versanddatum" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Zieldatum für Auftrags-Fertigstellung." -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "Versand von" -#: order/models.py:747 +#: order/models.py:751 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:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "Nur ein ausstehender Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 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:757 +#: order/models.py:761 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:935 +#: order/models.py:938 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:948 +#: order/models.py:951 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:966 +#: order/models.py:968 msgid "Context" msgstr "Kontext" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "Bestellung" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "Empfangen" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1063 +#: order/models.py:1065 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:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "Versandhinweise" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1407 +#: order/models.py:1409 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:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "Position" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "Position" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "Währung" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "Position" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "Einzigartiger Identifikator" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" @@ -4505,10 +4517,10 @@ msgstr "Auswahl duplizieren" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Zeile entfernen" @@ -4566,7 +4578,7 @@ msgstr "Bestellungs-Positionen" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "Position hinzufügen" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "Paketliste drucken" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "Abgeschlossene Sendungen" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "Auftrag abschließen" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "Kundenreferenz" @@ -4636,10 +4648,6 @@ msgstr "Kundenreferenz" msgid "Completed Shipments" msgstr "Abgeschlossene Sendungen" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "Auftrag bearbeiten" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Auftrags-Positionen" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "Ausstehende Sendungen" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "Aktionen" @@ -4681,174 +4689,175 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "Name des Teils" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "Version" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Schlüsselwörter" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "Kategorie-ID" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "Kategoriename" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "Standard-Standortnummer" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Minimaler Bestand" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "Auf Lager" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "Bestellt" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "Benutzt in" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "Zugeordnet" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "Im Bau" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "Maximale Kosten" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "Eltern ID" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "Name des übergeordneten Teils" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Teile" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "Stücklistenebene" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "Stücklisten-Position ID" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "Teil IPN" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "Höchster Preis" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "Gültig" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "Standard-Lagerort" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "Gesamtbestand" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "Verfügbarer Bestand" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "Standard-Lagerort für Teile dieser Kategorie" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "Strukturell" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden." - -#: part/models.py:128 -msgid "Default keywords" -msgstr "Standard Stichwörter" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "Standard-Stichworte für Teile dieser Kategorie" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "Symbol" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "Symbol (optional)" - -#: part/models.py:153 -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:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "Standard-Lagerort für Teile dieser Kategorie" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "Strukturell" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden." + +#: part/models.py:133 +msgid "Default keywords" +msgstr "Standard Stichwörter" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "Standard-Stichworte für Teile dieser Kategorie" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "Symbol" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "Symbol (optional)" + +#: part/models.py:158 +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:466 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, 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:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "Variante von" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "Kategorie" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "Teile-Notizen" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" -msgstr "" +msgstr "Benutzer, der für diesen Teil verantwortlich ist" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "Stückzahl" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "Datum" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "Mindestbestandswert" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "Geschätzter Mindestwert des vorhandenen Bestands" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "Maximaler Bestandswert" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "Geschätzter Maximalwert des vorhandenen Bestands" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "Bericht" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "Inventur-Berichtsdatei (intern generiert)" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "Anzahl der Teile" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "Benutzer, der diesen Inventurbericht angefordert hat" + +#: part/models.py:3130 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:3096 +#: part/models.py:3147 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:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "Benötigt" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3135 +#: part/models.py:3186 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:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3141 +#: part/models.py:3192 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:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "Einheit des Parameters" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "Wert" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "Stufe" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "Optional" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: part/models.py:3436 +#: part/models.py:3498 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:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "Geerbt" -#: part/models.py:3454 +#: part/models.py:3516 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:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:3460 +#: part/models.py:3522 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:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:3763 +#: part/models.py:3814 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:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:343 +#: part/serializers.py:326 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:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "Kategorieparameter kopieren" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" + +#: part/serializers.py:829 +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:835 +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:841 +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:846 +msgid "Generate Report" +msgstr "Bericht generieren" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "Teile aktualisieren" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "Inventur-Funktionalität ist nicht aktiviert" + +#: part/serializers.py:950 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "Benachrichtigungen über geringen Bestand" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "Gesamtstückzahl" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "Gesamt-Bestandswert min" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "Gesamt-Bestandswert max" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "Inventurbericht verfügbar" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "Ein neuer Inventurbericht steht zum Download zur Verfügung" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "Sie haben keine Berechtigung zum Bearbeiten der Stückliste." @@ -5680,7 +5797,7 @@ msgstr "Die Stückliste für %(part)s wurde zuletzt von %(checker)s am msgid "The BOM for %(part)s has not been validated." msgstr "Die Stückliste für %(part)s wurde noch nicht kontrolliert." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "Stücklisten-Aktionen" @@ -5688,85 +5805,89 @@ msgstr "Stücklisten-Aktionen" msgid "Delete Items" msgstr "Einträge löschen" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "Inventur für diese Teilekategorie durchführen" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "Sie haben Benachrichtigungen für diese Kategorie abonniert" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "Benachrichtigungen für diese Kategorie abonnieren" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "Kategorieaktionen" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "Kategorie bearbeiten" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "Kategorie bearbeiten" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "Kategorie löschen" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "Kategorie löschen" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "Oberste Teil-Kategorie" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Unter-Kategorien" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "Teile (inklusive Unter-Kategorien)" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "Neues Teil anlegen" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "Neues Teil" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "Optionen" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "Teil-Kategorie auswählen" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "Teil-Kategorie auswählen" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "Label drucken" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "Teilparameter" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "Teil-Kategorie anlegen" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "Neue Kategorie" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "Teil-Kategorie hinzufügen" @@ -5807,118 +5928,120 @@ msgstr "Terminierungsdaten aktualisieren" msgid "Refresh" msgstr "Neu laden" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "Inventurinformationen hinzufügen" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "Inventur" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "Teil Test-Vorlagen" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "Test Vorlage hinzufügen" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "Verkaufsauftragszuweisungen" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "Teile-Notizen" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "Teil Varianten" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "Neue Variante anlegen" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "neue Variante anlegen" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "Parameter hinzufügen" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Verknüpfte Teile" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "Verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Stückliste" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "Export-Aktionen" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "Stückliste exportieren" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "Stücklisten-Bericht drucken" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "Stückliste hochladen" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "Stückliste überprüfen" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "Stücklisten-Position hinzufügen" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "Baugruppen" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "Gefertigte Teile" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "Bauauftragszuweisungen" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "Zulieferer" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "Teil-Hersteller" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "Herstellerteile löschen" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "verknüpftes Teil" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "Testergebnis-Vorlage hinzufügen" @@ -5953,13 +6076,13 @@ msgstr "Teile-Importvorlage herunterladen" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "Format" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "Dateiformat auswählen" @@ -5981,7 +6104,7 @@ msgstr "Barcode abhängen" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "Label drucken" @@ -5991,7 +6114,7 @@ msgstr "Kosteninformationen ansehen" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "Bestands-Aktionen" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "Teil ist virtuell (kein physisches Teil)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "Inaktiv" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "Teildetails anzeigen" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "Dieses Teil ist eine Variante von %(link)s" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "Zu Bauaufträgen zugeordnet" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "Zur Bestellung zugeordnet" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "Herstellbar" @@ -6084,44 +6207,48 @@ msgstr "Herstellbar" msgid "Minimum stock level" msgstr "Minimaler Bestand" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "Preisspanne" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "letzte Seriennummer" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "Nach Seriennummer suchen" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "Teil-QR-Code" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "Barcode mit Teil verknüpfen" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "Berechnen" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "Verknüpftes Bild von diesem Teil entfernen" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "Keine passenden Bilder gefunden" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "Teildetails ausblenden" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "Zulieferer-Preise" @@ -6136,6 +6263,7 @@ msgstr "Stückpreis" #: 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:927 msgid "Total Cost" msgstr "Gesamtkosten" @@ -6176,11 +6304,27 @@ msgstr "Geplante Menge" msgid "Variants" msgstr "Varianten" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "Bestand" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "Bepreisung" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "Zeitplan" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "Testvorlagen" @@ -6196,11 +6340,11 @@ msgstr "Preisübersicht" msgid "Refresh Part Pricing" msgstr "Preis aktualisieren" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -6263,8 +6407,8 @@ msgstr "Verkaufspreise" msgid "Add Sell Price Break" msgstr "Verkaufspreisstaffel hinzufügen" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "Kein Bestand" @@ -6327,32 +6471,28 @@ msgstr "Unbekannte Datenbank" msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "Referenzen zuteilen" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "Teil {name} kann nicht importiert werden, da keine Kategorie zugewiesen ist" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "Teil-QR-Code" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "Teilbild auswählen" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "Teilbild aktualisiert" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "Teilbild nicht gefunden" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "Teilbepreisung" @@ -6503,16 +6643,16 @@ msgstr "Kein Autor gefunden" msgid "No date found" msgstr "Kein Datum gefunden" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "Plugin `{plg_name}` ist nicht kompatibel mit der aktuellen InvenTree Version {version.inventreeVersion()}!" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "Plugin benötigt mindestens Version {plg_i.MIN_VERSION}" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "Plugin benötigt maximal Version {plg_i.MAX_VERSION}" @@ -6549,27 +6689,27 @@ msgstr "Auswahleinstellungen" msgid "A setting with multiple choices" msgstr "Eine Einstellung mit mehreren Optionen" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "Quell-URL" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Quelle für das Paket - dies kann eine eigene Registry oder ein VCS-Pfad sein" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "Paket-Name" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Name für das Plugin-Paket - kann auch einen Versionstext enthalten" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "Plugin-Installation bestätigen" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Dies wird dieses Plugin sofort in die aktuelle Instanz installieren. Die Instanz wird sofort in Wartung gehen." @@ -6610,71 +6750,71 @@ msgstr "Bericht-Vorlage Beschreibung" msgid "Report revision number (auto-increments)" msgstr "Bericht Revisionsnummer (autom. erhöht)" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "Muster für die Erstellung von Berichtsdateinamen" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "Bericht-Vorlage ist ein" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Lagerartikel-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "einfügen Installiert in Tests" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "Test-Ergebnisse für Lagerartikel in Baugruppen einschließen" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "Bauauftrag Filter" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "Teil Filter" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "Bestellungs-Abfragefilter" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "Auftrags-Abfragefilter" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "Snippet" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "Ressource" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "Ressource-Beschreibung" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "Lagerartikel Test-Bericht" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "Seriennummer" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "Ergebnis" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "Verbaute Objekte" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "Seriennummer" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "Standort-ID" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "Ortsname" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "Lagerortpfad" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "Lagerartikel ID" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "Zuliefererteil-ID" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "Zulieferer ID" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "Lieferant" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "Kunden ID" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "verbaut in" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "Bauauftrag-ID" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "Auftrags-ID" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "Bestellungs-ID" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "Besitzer" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "Besitzer auswählen" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." - -#: stock/models.py:158 -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:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "Teile-Typ ('{pf}') muss {pe} sein" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" - -#: stock/models.py:592 -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:614 -msgid "Item cannot belong to itself" -msgstr "Teil kann nicht zu sich selbst gehören" - -#: stock/models.py:620 -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:634 -msgid "Build reference does not point to the same part object" -msgstr "Referenz verweist nicht auf das gleiche Teil" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "Eltern-Lagerartikel" - -#: stock/models.py:658 -msgid "Base part" -msgstr "Basis-Teil" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "Bestand-Lagerorte" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "Besitzer" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "Besitzer auswählen" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "Extern" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "Dies ist ein externer Lagerort" + +#: stock/models.py:170 +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:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "Teile-Typ ('{pf}') muss {pe} sein" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" + +#: stock/models.py:604 +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:626 +msgid "Item cannot belong to itself" +msgstr "Teil kann nicht zu sich selbst gehören" + +#: stock/models.py:632 +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:646 +msgid "Build reference does not point to the same part object" +msgstr "Referenz verweist nicht auf das gleiche Teil" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "Eltern-Lagerartikel" + +#: stock/models.py:670 +msgid "Base part" +msgstr "Basis-Teil" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses Lagerartikel ist gelagert in" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:763 +#: stock/models.py:775 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:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Lagerartikel-Notizen" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1329 +#: stock/models.py:1341 #, 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:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1615 +#: stock/models.py:1627 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:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "Test Notizen" @@ -7048,128 +7203,128 @@ msgstr "Test Notizen" msgid "Serial number is too large" msgstr "Seriennummer ist zu lang" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "Kaufpreis für diesen Lagerartikel" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, 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:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:489 +#: stock/serializers.py:483 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:500 +#: stock/serializers.py:494 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:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "Ziel Lagerort für zurückgegebene Artikel" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -7206,7 +7361,7 @@ msgstr "Testdaten hinzufügen" msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "Lagerartikel installieren" @@ -7214,7 +7369,7 @@ msgstr "Lagerartikel installieren" msgid "Delete all test results for this stock item" msgstr "Alle Testergebnisse für diesen Lagerartikel löschen" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "zu Lagerort einscannen" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "Druck Aktionen" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "Bestands-Anpassungs Aktionen" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "Bestand zählen" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "Bestand serialisieren" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "Bestand verschieben" @@ -7297,125 +7452,129 @@ msgstr "Lagerartikel bearbeiten" msgid "Delete stock item" msgstr "Lagerartikel löschen" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "Elternposition" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "Kein Hersteller ausgewählt" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern." -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "Nur Leserechte" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "Dieser Lagerartikel wird gerade hergestellt und kann nicht geändert werden." -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "Ändern des Lagerartikel in der Bauauftrag-Ansicht." -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "Dieser Lagerartikel hat nicht alle Tests bestanden" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "Dieser Lagerartikel ist einem Auftrag zugewiesen" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "Dieser Lagerartikel ist einem Bauauftrag zugewiesen" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "Diesesr Lagerartikel ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden." -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "vorherige Seite" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "Zur vorherigen Seriennummer wechseln" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "nächste Seite" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "Zur nächsten Seriennummer wechseln" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "Verfügbare Menge" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "Kein Lagerort gesetzt" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "Tests" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "abgelaufen" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Dieser Lagerartikel läuft am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "überfällig" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "Bestandsstatus bearbeiten" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "Lagerartikel-QR-Code" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "Barcode mit Lagerartikel verknüpfen" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "Wählen Sie eine der unten aufgeführten Teilvarianten aus." -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "Warnung" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "Lagerartikel umwandeln" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "zurück ins Lager" @@ -7427,74 +7586,77 @@ msgstr "Teile mit Seriennummern mit diesem BestandObjekt anlegen." msgid "Select quantity to serialize, and unique serial numbers." msgstr "Zu serialisierende Anzahl und eindeutige Seriennummern angeben." -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "Inventur für diesen Lagerort durchführen" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "Lagerort lokalisieren" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "Lagerartikel per Barcode-Scan zu diesem Lagerort hinzufügen" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "Lagerartikel einscannen" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "Lagerort hierher einscannen" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "Lagerort scannen" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "Lagerort-Aktionen" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "Lagerort bearbeiten" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "Lagerort löschen" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "Oberster Lagerstandort" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "Standortbesitzer" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-Lagerort kann nicht verändert werden." -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "Bestand-Lagerorte" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "Neuen Lagerort anlegen" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "Lagerort an diesen Ort eingescannt" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "QR-Code für diesen Lagerort" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "Barcode mit Lagerort verknüpfen" @@ -7514,10 +7676,6 @@ msgstr "Zuweisungen" msgid "Child Items" msgstr "Untergeordnete Objekte" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "QR-Code für diesen Lagerort" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Zugriff verweigert" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "Lösche alle gelesenen Benachrichtigungen" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "Benachrichtigung löschen" @@ -7769,8 +7927,16 @@ msgstr "Teil importieren" msgid "Part Parameter Templates" msgstr "Teil-Parametervorlage" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "Inventur-Einstellungen" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "Inventurberichte" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "Plugin-Einstellungen" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "Wenn Sie die folgenden Einstellungen ändern, müssen Sie InvenTree sofort neu starten. Ändern Sie dies nicht während der aktiven Nutzung." #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "Plugins" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "Stufe" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "Meldung" @@ -7931,71 +8097,71 @@ msgstr "Kein Wert angegeben" msgid "Edit setting" msgstr "Einstellungen ändern" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "Plugin-Einstellungen bearbeiten" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "Benachrichtigungs-Einstellungen bearbeiten" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "Allgemeine Einstellungen bearbeiten" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "Benutzereinstellungen bearbeiten" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "Kurs" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "Keine Kategorie-Parametervorlagen gefunden" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "Vorlage bearbeiten" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "Vorlage löschen" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "Kategorieparametervorlage anlegen" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "Kategorieparametervorlage löschen" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "Kategorieparametervorlage anlegen" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "Keine Teilparametervorlagen gefunden" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "ID" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "Teilparametervorlage anlegen" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "Teilparametervorlage bearbeiten" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "Alle Parameter, die diese Vorlage referenzieren, werden ebenfalls gelöscht" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" @@ -8041,7 +8207,7 @@ msgstr "Allgemeine Einstellungen" msgid "Server Configuration" msgstr "Serverkonfiguration" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "Kategorien" @@ -8514,11 +8680,11 @@ msgstr "Geben Sie das von der App generierte Token ein:" msgid "Verify" msgstr "Überprüfen" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "Link hinzufügen" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "Anhang hinzufügen" @@ -8526,7 +8692,7 @@ msgstr "Anhang hinzufügen" msgid "Delete selected attachments" msgstr "Markierte Anhänge löschen" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "Anhänge entfernen" @@ -8573,7 +8739,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:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "Benötigte Menge" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "Mindestmenge" @@ -8595,11 +8761,11 @@ msgstr "Mindestmenge" msgid "Expand all rows" msgstr "Alle Zeilen erweitern" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Keine Antwort" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "keine Antwort vom InvenTree Server" @@ -8611,27 +8777,27 @@ msgstr "Fehler 400: Fehlerhafte Anfrage" msgid "API request returned error code 400" msgstr "Fehler-Code 400 zurückgegeben" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Fehler 401: Nicht Angemeldet" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "Authentication Kredentials nicht angegeben" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Fehler 403: keine Berechtigung" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Fehlende Berechtigung für diese Aktion" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Fehler 404: Ressource nicht gefunden" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden" @@ -8643,11 +8809,11 @@ msgstr "Fehler 405: Methode nicht erlaubt" msgid "HTTP method not allowed at URL" msgstr "HTTP-Methode für diese URL nicht erlaubt" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Fehler 408: Zeitüberschreitung" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "Verbindungszeitüberschreitung bei der Datenanforderung" @@ -8659,27 +8825,27 @@ msgstr "Unbehandelter Fehler-Code" msgid "Error code" msgstr "Fehler-Code" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "Alle ausgewählten anhänge werden gelöscht" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "Keine Anhänge gefunden" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "Anhang bearbeiten" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "Hochladedatum" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "Anhang bearbeiten" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "Anhang löschen" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "Unbekannte Antwort von Server erhalten" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Ungültige Antwort von Server" @@ -8740,7 +8906,7 @@ msgstr "Dadurch wird der Link zu dem zugehörigen Barcode entfernt" msgid "Unlink" msgstr "Entfernen" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "Lagerartikel entfernen" @@ -8810,10 +8976,10 @@ msgstr "Zeilendaten anzeigen" msgid "Row Data" msgstr "Zeilendaten" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Schliessen" @@ -8886,122 +9052,122 @@ msgstr "Preisdaten einschließen" msgid "Include part pricing data in exported BOM" msgstr "Preisinformationen in Stücklisten-Export einschließen" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "Ersatzteil entfernen" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "Wählen Sie ein neues Ersatzteil aus und fügen Sie sie mit den folgenden Eingaben hinzu" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "Sind Sie sicher, dass Sie dieses Ersatzteil entfernen möchten?" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "Ersatzteil entfernen" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "Ersatzteil hinzufügen" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "Stücklisten Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "Ausgewählte Stücklistenpositionen löschen?" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "Stückliste für Bauteile laden" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "Varianten erlaubt" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "Ersatzteile" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "Stückliste anzeigen" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "Stücklisten-Bepreisung ist vollständig" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "Stücklisten-Bepreisung ist unvollständig" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "Keine Preisinformation verfügbar" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "Beinhaltet Variante und Ersatzbestand" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "Beinhaltet Variantenbestand" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "Enthält Ersatzbestand" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "Verbrauchsartikel" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "Stücklisten-Position kontrollieren" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "Diese Position wurde kontrolliert" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "Stücklisten-Position bearbeiten" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "benötigtes Teil" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "Geerbt von übergeordneter Stückliste" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "Bauauftrag fertigstellen" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "Nächste verfügbare Seriennummer" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "Letzte Seriennummer" @@ -9099,323 +9265,323 @@ msgstr "Sind Sie sicher, dass sie alle Lagerartikel von diesem Bauauftrag entfer msgid "Unallocate Stock Items" msgstr "Lagerartikel zurücknehmen" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "Endprodukte auswählen" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "Mindestens ein Endprodukt muss ausgewählt werden" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "Endprodukt" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "Endprodukte fertigstellen" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "Endprodukte entfernen" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "Keine Allokationen für Bauauftrag gefunden" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "Standort nicht angegeben" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "Keine aktiven Endprodukte gefunden" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "Bestand zuteilen" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "Keine nachverfolgten Stücklisten-Einträge für diesen Bauauftrag" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "Abgeschlossene Tests" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "Keine erforderlichen Tests für diesen Bauauftrag" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "Zuordnung bearbeiten" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "Zuordnung entfernen" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "Anzahl pro" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "Ausreichender Bestand verfügbar" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "Bestand bauen" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "Bestand zuweisen" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Teile auswählen" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "Sie müssen mindestens ein Teil auswählen" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "Alle Teile zugeordnet" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "Lagerartikel für Bauauftrag zuweisen" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "Keine passenden Lagerstandorte" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "Keine passenden Lagerbestände" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "Automatische Lagerzuordnung" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Lagerartikel werden automatisch diesem Bauauftrag zugewiesen, entsprechend den angegebenen Richtlinien" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Wenn ein Lagerort angegeben ist, wird der Lagerbestand nur von diesem Ort zugewiesen" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Wenn der Lagerbestand als austauschbar gilt, wird er vom ersten Standort zugewiesen, an dem er gefunden wird" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Wenn ein Ersatzbestand erlaubt ist, wird es dort verwendet, wo kein Vorrat des Primärteils gefunden werden kann" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "Lagerartikel zuordnen" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "Auswählen" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "Bauauftrag ist überfällig" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "Fortschritt" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "Keine Benutzerinformation" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "Keine Teile zugeordnet zu" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "Hersteller hinzufügen" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "Herstellerteil hinzufügen" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "Herstellerteil ändern" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "Zulieferer hinzufügen" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "Zuliefererteil hinzufügen" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "Alle ausgewählten Zulieferteile werden gelöscht" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "Zuliefererteil entfernen" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "Neue Firma hinzufügen" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "Teile geliefert" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "Hersteller-Teile" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "Keine Firmeninformation gefunden" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "Alle ausgewählten Herstellerrteile werden gelöscht" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "Herstellerteile löschen" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "Alle ausgewählten Parameter werden gelöscht" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "Parameter löschen" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "Vorlagenteil" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "Keine Zuliefererteile gefunden" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "Verfügbarkeit" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "Zuliefererteil bearbeiten" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "Zuliefererteil entfernen" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "Preisstaffel löschen" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "Preisstaffel bearbeiten" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "Keine Informationen zur Preisstaffel gefunden" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "Zuletzt aktualisiert" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "Preisstaffel bearbeiten" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "Preisstaffel löschen" @@ -9482,32 +9648,32 @@ msgstr "Dieses Formular offen lassen" msgid "Enter a valid number" msgstr "Gib eine gültige Nummer ein" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "Spalten auswählen" @@ -9519,7 +9685,7 @@ msgstr "JA" msgid "NO" msgstr "NEIN" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "Notiz aktualisiert" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "Label an den Drucker gesendet" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "Lagerartikel auswählen" @@ -9573,70 +9739,70 @@ msgstr "Drucker auswählen" msgid "Export to PDF" msgstr "Als PDF exportieren" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "Lagerartikel ausgewählt" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "Label-Vorlage auswählen" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "Abbrechen" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Abschicken" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "Formulartitel" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "Warte auf Server..." -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "Fehler-Informationen anzeigen" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "Akzeptieren" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "Lade Daten" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "ungültige Antwort vom Server" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "Formulardaten fehlen bei Serverantwort" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "Formulardaten fehlerhaft" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "JSON Antwort enthält keine Formulardaten" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "Fehler 400: Ungültige Anfrage" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "Fehler 400 von Server erhalten" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "Fehler bei Formulardaten-Anfrage" @@ -9670,759 +9836,758 @@ msgstr "Keine Nachrichten gefunden" msgid "Age" msgstr "Alter" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "Benachrichtigung" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "Als ungelesen markieren" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "Als gelesen markieren" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "Keine ungelesenen Benachrichtigungen" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "Benachrichtigungen erscheinen hier" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "Dieser Sendung wurden keine Artikel zugewiesen" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "Die folgenden Artikel werden verschickt" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "Sendung fertigstellen" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "Sendung bestätigen" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "Keine ausstehenden Sendungen gefunden" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "Keine Lagerartikel für offene Sendungen zugewiesen" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "Überspringen" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "Bestellung vervollständigen" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "Diese Bestellung als vollständig markieren?" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "Alle Einträge wurden erhalten" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "Diese Bestellung enthält Positionen, die nicht als empfangen markiert wurden." -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "Fertigstellen dieser Bestellung bedeutet, dass sie und ihre Positionen nicht länger bearbeitbar sind." -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "Bestellung abbrechen" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Sind Sie sicher, dass Sie diese Bestellung abbrechen möchten?" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "Diese Bestellung kann nicht storniert werden" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "Bestellung aufgeben" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "Nachdem diese Bestellung plaziert ist können die Positionen nicht länger bearbeitbar ist." -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "Dieser Auftrag enthält Positionen, die noch nicht abgeschlossen sind." -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "Auftrag stornieren" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar ist." -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "Sendung anlegen" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "Kunden hinzufügen" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "Auftrag anlegen" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "Auftrag bearbeiten" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "Bestellung zum Duplizieren auswählen" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "Positionen duplizieren" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "Alle Positionen der ausgewählten Bestellung duplizieren" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "Zusätzliche Zeilen duplizieren" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "Zusätzliche Positionen der ausgewählten Bestellung duplizieren" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "Bestellung bearbeiten" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "Duplizierungsoptionen" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "Bestellung exportieren" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "Mindestens ein kaufbares Teil muss ausgewählt werden" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "Zu bestellende Menge" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "Neues Zuliefererteil" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "Neue Bestellung" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "Zur Bestellung hinzufügen" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "Keine passenden Lieferantenteile" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "Keine passenden Bestellungen" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "Positionen auswählen" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "Mindestens eine Position muss ausgewählt werden" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "Losnummer hinzufügen" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "Seriennummern hinzufügen" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "Gelieferte Menge" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "Status" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "Bestellnummer" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "Bestellt" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "Empfang der Teile bestätigen" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "Bestellpositionen erhalten" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "Bestellung überfällig" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "Positionen" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "Position löschen" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "Keine Positionen gefunden" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "Summe" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "Gesamtstückzahl" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "Stück-Preis" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "Gesamtpreis" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "Diese Position ist überfällig" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "Position löschen" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "Zeile löschen" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "Zeile löschen" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "Ungültiger Kunde" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "Sendung fertigstellen" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "Sendung löschen" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "Sendung löschen" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "Keine passenden Sendungen gefunden" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "Sendungsreferenz" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "Nicht versandt" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "Nachverfolgen" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "Rechnung" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "Sendung hinzufügen" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "Bestandszuordnung bestätigen" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "Artikel zu Kundenauftrag zuweisen" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "Keine Allokationen für Verkaufsaufträge gefunden" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "Bestandszuordnung bearbeiten" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "Löschvorgang bestätigen" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "an Kunde versand" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "Lagerstandort nicht angegeben" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "Bestand kaufen" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "Preis berechnen" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "Stückpreis aktualisieren" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "Teileigenschaften" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "Erstellungsoptionen für Teile" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "Einstellungen für Teilkopien" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "Kategorieparameter kopieren" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "Icon (optional) - alle verfügbaren Icons einsehbar auf" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "Teil-Kategorie bearbeiten" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "Möchten Sie diese Kategorie wirklich löschen?" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "In übergeordnete Kategorie verschieben" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "Aktion für Teile in dieser Kategorie" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "Aktion für Unterkategorien" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "Teil hinzufügen" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "Ein weiteres Teil anlegen" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "Teil erfolgreich angelegt" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "Teil bearbeiten" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "Teil bearbeitet" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "Teil-Variante anlegen" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "Aktives Teil" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "Teil kann nicht gelöscht werden, da es derzeit aktiv ist" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "Alle Lagerartikel für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "Dieses Teil wird von allen Stücklisten entfernt" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Alle Hersteller- und Zuliefererinformationen für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "Teil löschen" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "Benachrichtigungen für dieses Teil abonnieren" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abgemeldet" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "Die Stückliste zu validieren markiert jede Zeile als gültig" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "Stückliste prüfen" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "überprüfte Stückliste" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "Stückliste kopieren" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" -msgstr "" +msgstr "Einheit" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "virtuelles Teil" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "Abonnierter Teil" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" -msgstr "Lagerartikel wurde in letzter Zeit nicht geprüft" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "Die Erstellung eines neuen Inventurberichtes planen." + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "Nach Fertigstellung steht der Inventurbericht zum Download zur Verfügung." + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" +msgstr "Inventurbericht generieren" #: templates/js/translated/part.js:752 -msgid "Update item" -msgstr "Element aktualisieren" +msgid "Stocktake report scheduled" +msgstr "Inventurbericht geplant" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "Element löschen" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "Keine Inventurinformationen verfügbar" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "Inventureintrag bearbeiten" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "Inventureintrag löschen" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "Kein Bestand" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "Zu Bauaufträgen zugeordnet" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "Zu Bestellungen zugeordnet" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "Listenansicht" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "Rasteransicht" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "Legen Sie die Teilkategorie für die ausgewählten Teile fest" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "Teil-Kategorie auswählen" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "Teil-Kategorie wählen" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "Kategorie erforderlich" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "Baumansicht" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "Unterkategorien laden" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "Testergebnis-Vorlage bearbeiten" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "Testergebnis-Vorlage löschen" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "Kein Datum angegeben" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "Das angegebene Datum liegt in der Vergangenheit" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "Spekulativ" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "Keine Zeitplanung für dieses Teil vorhanden" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "Fehler beim Abrufen der Zeitplanungsinformationen für dieses Teil" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "Geplante Lagermengen" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "Maximale Anzahl" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "Minimaler Lagerbestand" @@ -10434,49 +10599,49 @@ msgstr "Das Plugin wurde installiert" msgid "Error fetching currency data" msgstr "Fehler beim Abrufen der Währungsdaten" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "Keine Stücklisten-Daten verfügbar" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "Keine Zulieferer-Preise verfügbar" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "Keine Staffelpreisdaten verfügbar" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "${human_name} bearbeiten" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "${human_name} löschen" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "Keine Einkaufshistorie verfügbar" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "Kaufpreisverlauf" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "Keine Verkaufshistorie verfügbar" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "Verkaufspreisverlauf" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "Keine Variantendaten verfügbar" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "Variantenteil" @@ -10566,376 +10731,376 @@ msgstr "Lager-Serialisierung bestätigen" msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "Lagerartikel-Ort bearbeiten" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "Neuer Lagerstandort" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "Sind Sie sicher, dass Sie diesen Lagerort löschen wollen?" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "Zum übergeordneten Lagerbestand verschieben" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "Bestand-Lagerort löschen" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "Aktion für Lagerartikel in diesem Lagerort" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "Aktion für Unter-Lagerorte" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "Dieser Teil kann nicht serialisiert werden" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "Ausgangsmenge für diesen Lagerartikel eingeben" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "Lagerartikel dupliziert" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "Bestand duplizieren" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "Sind Sie sicher, dass Sie diesen Lagerartikel löschen wollen?" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "Lagerartikel löschen" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "Lagerartikel bearbeiten" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "Neuer Lagerartikel erstellt" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "Mehrere Lagerartikel erstellt" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "Seriennummer finden" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "Seriennummer eingeben" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "Eine Seriennummer eingeben" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "Keine passende Seriennummer" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "Mehrere Ergebnisse gefunden" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "Bestand Zuweisung bestätigen" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "Einem Kunden zuordnen" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "Achtung: Das Zusammenführen kann nicht rückgängig gemacht werden" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "Einige Informationen gehen verloren, wenn Artikel zusammengeführt werden" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "Lagerartikelverlauf wird für zusammengeführte Lagerartikel gelöscht" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "Lieferantenteil-Informationen werden für zusammengeführte Artikel gelöscht" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "Zusammenführung der Artikel bestätigen" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "Artikel zusammenführen" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "Bestand verschieben" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "Verschieben" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "Bestand zählen" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "Anzahl" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "Bestand entfernen" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "Entfernen" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "Hinzufügen" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "Bestand löschen" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "Bestandsanzahl angeben" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "Sie müssen mindestens einen Lagerartikel auswählen" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "Bestands-Anpassung bestätigen" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "ERFOLGREICH" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "FEHLGESCHLAGEN" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "KEIN ERGEBNIS" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "Test bestanden" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "Testergebnis hinzufügen" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "Keine Testergebnisse gefunden" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "Testdatum" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "Testergebnis löschen" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "In Arbeit" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "In Lagerartikel installiert" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "Auftrag zugewiesen" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "Kein Lagerort gesetzt" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "Lagerartikel wird produziert" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "Lagerartikel wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "Lagerartikel wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "Serialisierter Lagerartikel wurde zugewiesen" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "Lagerartikel wurde vollständig zugewiesen" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "Lagerartikel wurde teilweise zugewiesen" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "Lagerartikel in anderem Element verbaut" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "Lagerartikel ist abgelaufen" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "Lagerartikel läuft demnächst ab" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "Lagerartikel abgewiesen" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "Lagerartikel verloren" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "Lagerartikel zerstört" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerartikel" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "Untergeordnete Lagerorte laden" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "Details" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "Artikelinformationen nicht verfügbar" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "Lagerartikel existiert nicht mehr" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "Lagerartikel entfernen" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "Zu deinstallierende Lagerartikel auswählen" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "Einen weiteren Lagerartikel in dieses Teil installiert" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Der Lagerartikel ist auf ein Teil verknüpft das in der Stückliste für diesen Lagerartikel ist" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "Dieser Lagerartikel ist aktuell vorhanden" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "Teil zur Installation auswählen" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "Bestand an Varianten zulassen" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "Hat Preis" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "Unter-Lagerorte einschließen" @@ -10973,218 +11138,218 @@ msgstr "Unter-Lagerorte einschließen" msgid "Include locations" msgstr "Lagerorte einschließen" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "Abonniert" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:250 msgid "Is Serialized" msgstr "Hat Seriennummer" -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:257 msgid "Serial number GTE" msgstr "Seriennummer >=" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:258 msgid "Serial number greater than or equal to" msgstr "Seriennummer größer oder gleich" -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 msgid "Serial number LTE" msgstr "Seriennummer <=" -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:262 msgid "Serial number less than or equal to" msgstr "Seriennummern kleiner oder gleich" -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "Seriennummer" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "Losnummer" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "Aktive Teile" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "Bestand aktiver Teile anzeigen" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "Teil ist eine Baugruppe" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "Ist zugeordnet" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "Teil wurde zugeordnet" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "Lagerartikel ist zur Verwendung verfügbar" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "Bestand in Unter-Lagerorten einschließen" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "Zeige aufgebrauchte Lagerartikel" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "Zeige Objekte welche im Lager sind" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "In Arbeit" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "Elemente, die in Produktion sind, anzeigen" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "Varianten einschließen" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "Lagerartikel für Teil-Varianten einschließen" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "Installiert" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "Lagerartikel, die in anderen Elementen verbaut sind, anzeigen" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "zeige zu Kunden zugeordnete Einträge" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "Status" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "Hat Batch-Code" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "Nachverfolgt" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "Lagerbestand wird entweder per Batch-Code oder Seriennummer verfolgt" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "Hat Einkaufspreis" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "Bestand mit Einkaufspreis anzeigen" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "Ablaufdatum vor" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "Ablaufdatum nach" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "Zeige abgelaufene Lagerartikel" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "Bestand, der bald ablaufen, anzeigen" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "Test bestanden" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "Installierte Elemente einschließen" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "Bauauftrags-Status" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "Mir zugewiesen" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "Bestellstatus" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "ausstehend" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "Verfügbarer Lagerbestand" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "Hat IPN" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "Teil hat Interne Teilenummer" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "Auf Lager" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "Käuflich" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "Hat Inventureinträge" @@ -11513,51 +11678,51 @@ msgstr "Benutzer" msgid "Select which users are assigned to this group" msgstr "Welche Benutzer gehören zu dieser Gruppe" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "Folgende Benutzer gehören zu mehreren Gruppen:" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "Persöhnliche Informationen" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "Berechtigungen" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "wichtige Daten" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "Gruppe" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "Ansicht" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "Ändern" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index f772a35fc6..8770099f95 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -29,23 +29,23 @@ msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλμα msgid "Enter date" msgstr "Εισάγετε ημερομηνία" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Σημειώσεις" @@ -58,23 +58,23 @@ msgstr "Η τιμή '{name}' δεν εμφανίζεται σε μορφή μο msgid "Provided value does not match required pattern: " msgstr "Η παρεχόμενη τιμή δεν ταιριάζει με το απαιτούμενο απαραραίητη μοτίβο: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Εισάγετε κωδικό" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Εισάγετε νέο κωδικό πρόσβασης" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Επιβεβαιώστε τον κωδικό πρόσβασης" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Επιβεβαιώστε τον νέο κωδικό πρόσβασης" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Παλιός κωδικός πρόσβασης" @@ -130,7 +130,7 @@ msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s" msgid "Supplied URL is not a valid image file" msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" @@ -170,23 +170,23 @@ msgstr "Ο αριθμός μοναδικών σειριακών αριθμών ( msgid "Remove HTML tags from this value" msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισάγατε" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Λανθασμένο μοτίβο" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Δώσατε λάθος μορφή κλειδιού" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Λείπει το απαραίτητο κλειδί" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "Το πεδίο δεν μπορεί να είναι άδειο" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "Η αναφορά πρέπει να ταιριάζει με το απαιτούμενο μοτίβο" @@ -194,350 +194,363 @@ msgstr "Η αναφορά πρέπει να ταιριάζει με το απα msgid "Reference number is too large" msgstr "Ο αριθμός αναφοράς είναι πολύ μεγάλος" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Το αρχείο λείπει" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Συνημμένο" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Σχόλιο" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Χρήστης" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "ημερομηνία φόρτωσης" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Το όνομα αρχείου δεν μπορεί να είναι κενό" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Μη διαθέσιμη τοποθεσία συνημμένου" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Το όνομα αρχείου περιέχει μη έγκυρους χαρακτήρες '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Λείπει επέκταση ονόματος αρχείου" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Αρχείο με αυτό το όνομα υπάρχει ήδη" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Σφάλμα κατά τη μετονομασία" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Περιγραφή" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Περιγραφή (προαιρετική)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "γονέας" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Μονοπάτι" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Σφάλμα διακομιστή" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Όνομα αρχείου" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Μη έγκυρη τιμή" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Αρχείο Δεδομένων" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Επιλέξτε ένα αρχείο για ανέβασμα" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Μη υποστηριζόμενος τύπος αρχείου" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Το αρχείο είναι πολύ μεγάλο" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Δεν βρέθηκαν στήλες στο αρχείο" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Δεν παρασχέθηκαν σειρές δεδομένων" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Δεν δόθηκαν στήλες δεδομένων" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Λείπει απαιτούμενη στήλη: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Διπλή στήλη: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Τσέχικα" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Γερμανικά" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Ελληνικά" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Αγγλικά" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Ισπανικά" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Ισπανικά (Μεξικό)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Φαρσί / Περσικά" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Γαλλικά" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Εβραϊκά" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Ούγγρικα" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Ιταλικά" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Ιαπωνικά" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Κορεάτικα" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Dutch" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Νορβηγικά" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Πολωνικά" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Πορτογαλικά" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Πορτογαλικά (Βραζιλίας)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Ρωσικά" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Σουηδικά" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Ταϊλανδέζικα" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Τούρκικα" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Βιετναμέζικα" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Κινέζικα" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "Ο έλεγχος συστήματος για το Inventree απέτυχε" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "Σε εκκρεμότητα" @@ -579,8 +592,8 @@ msgstr "Χάθηκε" msgid "Returned" msgstr "Επιστράφηκε" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Αποστάλθηκε" @@ -664,7 +677,7 @@ msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχεί msgid "Split child item" msgstr "Διαχωρίστηκε θυγατρικό στοιχείο" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Έγινε συγχώνευση αποθεμάτων" @@ -672,7 +685,7 @@ msgstr "Έγινε συγχώνευση αποθεμάτων" msgid "Converted to variant" msgstr "Μετατράπηκε σε παραλλαγή" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Απεστάλη στον πελάτη" @@ -721,27 +734,27 @@ msgstr "Η μέση τιμή δεν πρέπει να υπερβαίνει το msgid "Invalid value for overage" msgstr "Μη έγκυρη τιμή για υπέρβαση" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Τροποποίηση πληροφοριών χρήστη" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Ορισμός Κωδικού Πρόσβασης" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Τα πεδία κωδικού πρόσβασης πρέπει να ταιριάζουν" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Δόθηκε λάθος κωδικός πρόσβασης" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Πληροφορίες συστήματος" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "Σχετικά με το InvenTree" @@ -749,44 +762,44 @@ msgstr "Σχετικά με το InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Δημιουργία Παραγγελιών" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Αναφορά" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Εξάρτημα" @@ -855,8 +869,8 @@ msgstr "Κωδικός Παραγγελίας Πωλήσεων" msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" @@ -896,21 +910,21 @@ msgstr "Κατάσταση Κατασκευής" msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Ημερομηνία ολοκλήρωσης στόχου" @@ -918,8 +932,8 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" @@ -927,7 +941,7 @@ msgstr "Ημερομηνία ολοκλήρωσης" msgid "completed by" msgstr "ολοκληρώθηκε από" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Εκδόθηκε από" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Υπεύθυνος" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" @@ -999,11 +1013,11 @@ msgstr "Το στοιχείο κατασκευής πρέπει να ορίζε msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "Το επιλεγμένο αντικείμενο αποθέματος δεν βρέθηκε στο BOM" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Κατασκευή" @@ -1025,18 +1039,18 @@ msgstr "Κατασκευή" msgid "Build to allocate parts" msgstr "Κατασκευή για εκχώρηση τμημάτων" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" @@ -1044,12 +1058,12 @@ msgstr "Στοιχείο Αποθέματος" msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Ποσότητα" @@ -1097,249 +1110,249 @@ msgstr "Εγκατάσταση σε" msgid "Destination stock item" msgstr "Αποθήκη προορισμού" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "Κατασκευή Εξόδου" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 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 462997ea3d..eb9978c36b 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:21\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -29,23 +29,23 @@ msgstr "Los detalles del error pueden encontrarse en el panel de administración msgid "Enter date" msgstr "Seleccionar una fecha" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Notas" @@ -58,23 +58,23 @@ msgstr "El valor '{name}' no aparece en formato de patrón" msgid "Provided value does not match required pattern: " msgstr "El valor proporcionado no coincide con el patrón requerido: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Introduce la contraseña" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Introduce una nueva contraseña" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Confirma la contraseña" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Confirma la nueva contraseña" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Contraseña anterior" @@ -130,7 +130,7 @@ msgstr "El servidor remoto devolvió una respuesta vacía" msgid "Supplied URL is not a valid image file" msgstr "La URL proporcionada no es un archivo de imagen válido" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -170,23 +170,23 @@ msgstr "El número de números de serie únicos ({s}) debe coincidir con la cant msgid "Remove HTML tags from this value" msgstr "Eliminar etiquetas HTML de este valor" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Patrón con formato incorrecto" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Clave de formato especificado desconocida" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Falta la clave de formato requerida" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "El campo de referencia no puede estar vacío" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "La referencia debe coincidir con el patrón requerido" @@ -194,350 +194,363 @@ msgstr "La referencia debe coincidir con el patrón requerido" msgid "Reference number is too large" msgstr "El número de referencia es demasiado grande" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Archivo no encontrado" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Falta enlace externo" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Archivo adjunto" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Enlace" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Enlace a URL externa" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Comentario" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Usuario" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "fecha de subida" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "El nombre del archivo no debe estar vacío" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Directorio de archivos adjuntos no válido" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "El nombre del archivo contiene el carácter no válido '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Falta el nombre de extensión del archivo" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Ya existe un archivo adjunto con este nombre" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Error al cambiar el nombre del archivo" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "superior" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Ruta" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Hash del Código de barras" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Datos del código de barras de terceros" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Hash del Código de barras" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Hash único de los datos de código de barras" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Error del servidor" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "Un error ha sido registrado por el servidor." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Debe ser un numero valido" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "Moneda" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Nombre de archivo" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Archivo de datos" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Archivo seleccionado para subir" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Tipo de archivo no soportado" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "El archivo es demasiado grande" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "No se encontraron columnas en el archivo" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "No hay filas de datos en el archivo" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "No se proporcionaron filas de datos" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "No se proporcionaron columnas de datos" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta la columna requerida: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Columna duplicada: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "URL del archivo de imagen remoto" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Checo" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Danés" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Alemán" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Griego" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Inglés" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Español" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Español (México)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Farsi / persa" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Francés" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Hebreo" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Húngaro" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japonés" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Holandés" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Noruego" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polaco" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugués" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Português (Brasil)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Ruso (Русский)" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Svenska" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Tailandés" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Chino (中文)" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "Las comprobaciones de estado del sistema InvenTree fallaron" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "Pendiente" @@ -579,8 +592,8 @@ msgstr "Perdido" msgid "Returned" msgstr "Devuelto" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Enviado" @@ -664,7 +677,7 @@ msgstr "Separar del elemento principal" msgid "Split child item" msgstr "Separar elemento secundario" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Artículos de stock combinados" @@ -672,7 +685,7 @@ msgstr "Artículos de stock combinados" msgid "Converted to variant" msgstr "Convertido a variante" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Enviado al cliente" @@ -721,27 +734,27 @@ msgstr "El excedente no debe superar el 100%" msgid "Invalid value for overage" msgstr "Valor no válido para sobrecarga" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Editar datos del usuario" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Configurar Contraseña" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Los campos de contraseña deben coincidir" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Contraseña incorrecta proporcionada" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Información del sistema" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "Acerca de InvenTree" @@ -749,44 +762,44 @@ msgstr "Acerca de InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La construcción debe cancelarse antes de que pueda ser eliminada" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Opción no válida para la construcción padre" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Petición de Ensamblado" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Peticiones de Ensamblado" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Opción no válida para la construcción padre" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Referencia de Orden de Ensamblado" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Referencia" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "Construcción de orden a la que se asigna esta versión" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Pieza" @@ -855,8 +869,8 @@ msgstr "Referencia de Pedido de Entrega" msgid "SalesOrder to which this build is allocated" msgstr "Pedido de Entrega a la que este ensamblaje se asigna" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Ubicación de la fuente" @@ -896,21 +910,21 @@ msgstr "Estado de la construcción" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Fecha de Creación" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Fecha límite de finalización" @@ -918,8 +932,8 @@ msgstr "Fecha límite de finalización" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización del ensamblado. El ensamblado estará vencido después de esta fecha." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Fecha de Finalización" @@ -927,7 +941,7 @@ msgstr "Fecha de Finalización" msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Responsable" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Enlaces Externo" @@ -999,11 +1013,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -1025,18 +1039,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "" @@ -1044,12 +1058,12 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Cantidad" @@ -1097,249 +1110,249 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Números de serie" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Ubicación" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Estado" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "Existencias sobreasignadas" -#: build/serializers.py:515 +#: build/serializers.py:516 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 stock asignados a la orden de ensamblado" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de stock han sido sobreasignados" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:531 +#: build/serializers.py:532 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:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "Acepta incompleto" -#: build/serializers.py:547 +#: build/serializers.py:548 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:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "Fecha Límite" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "Vencido" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Completado" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "Pedido de Entrega" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "Creado" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "Pedir Piezas" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Archivos adjuntos" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "Restringir mostrar 'acerca de'" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Nombre de empresa" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "Nombre interno de empresa" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "Moneda Predeterminada" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 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:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "Número de días antes de que el precio de la pieza se actualice automáticamente" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "Entregar Existencias Caducadas" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "Patrón para Referencias de Orden de Ensamblado" -#: common/models.py:1398 +#: common/models.py:1405 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:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "Patrón para la Referencia de los Pedidos de Entrega" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Petición de Entrega" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "Envío Predeterminado de las Peticiones de Entrega" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar la creación de envío predeterminado con pedidos de entrega" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "Editar Pedidos Completados" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir la edición de pedidos después de que hayan sido enviados o completados" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "Patrón para Referencias de Orden de Compra" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "Mostrar Lista de Materiales (BOMs) no validados" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 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:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -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:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" -msgstr "" +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:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" -msgstr "Buscar Pedidos de Entrega" - -#: common/models.py:1839 -msgid "Display sales orders in search preview window" -msgstr "Mostrar pedidos de entrega en la ventana de vista previa de búsqueda" - -#: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" -msgstr "Excluir Pedidos Inactivos" - -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" -msgstr "Excluir pedidos inactivos de la ventana de vista previa de búsqueda" - -#: common/models.py:1852 -msgid "Search Preview Results" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1844 +msgid "Search Stock" +msgstr "" + +#: common/models.py:1845 +msgid "Display stock items in search preview window" +msgstr "" + +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" +msgstr "" + +#: common/models.py:1852 +msgid "Exclude stock items which are not available from the search preview window" +msgstr "" + +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "Buscar Pedidos de Entrega" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "Mostrar pedidos de entrega en la ventana de vista previa de búsqueda" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "Excluir Pedidos Inactivos" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "Excluir pedidos inactivos de la ventana de vista previa de búsqueda" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "Formato de Fecha" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planificación de piezas" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "Mostrar información de programación de piezas" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "Precio" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Subir Archivo" @@ -3023,7 +3073,7 @@ msgstr "Subir Archivo" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "Descripción de la empresa" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "Sitio Web" @@ -3106,7 +3156,7 @@ msgstr "Punto de contacto" msgid "Link to external company information" msgstr "Enlace a información externa de la empresa" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Imagen" @@ -3138,229 +3188,219 @@ msgstr "es fabricante" msgid "Does this company manufacture parts?" msgstr "¿Esta empresa fabrica piezas?" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "Moneda" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "Moneda predeterminada utilizada para esta empresa" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "Pieza Base" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "Seleccionar pieza" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "Fabricante" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "Seleccionar fabricante" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "'Part Number' del Fabricante" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "'Part Number' del fabricante" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "URL para el enlace de parte del fabricante externo" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "Descripción de la pieza del fabricante" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "Pieza del Fabricante" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "Nombre del parámetro" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "Valor" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "Valor del parámetro" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "Unidades" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "Unidades de parámetro" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "La parte vinculada del fabricante debe hacer referencia a la misma pieza base" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "Proveedor" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "Seleccionar proveedor" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "Descripción de la pieza del proveedor" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "Nota" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "Empaquetado" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "Empaquetado de pieza" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "Moneda predeterminada utilizada para este proveedor" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "Código de Divisa" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "Empresa" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "Pieza Base" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "Seleccionar pieza" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "Fabricante" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "Seleccionar fabricante" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "'Part Number' del Fabricante" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "'Part Number' del fabricante" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "URL para el enlace de parte del fabricante externo" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "Descripción de la pieza del fabricante" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "Pieza del Fabricante" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "Nombre del parámetro" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "Valor" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "Valor del parámetro" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "Unidades" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "Unidades de parámetro" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "La parte vinculada del fabricante debe hacer referencia a la misma pieza base" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "Proveedor" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "Seleccionar proveedor" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "Descripción de la pieza del proveedor" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "Nota" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "Empaquetado" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "Empaquetado de pieza" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "Moneda predeterminada utilizada para este proveedor" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "Crear Orden de Compra" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "Editar información de la empresa" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "Modificar Empresa" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "Cliente" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "Eliminar imagen asociada a esta empresa" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "Subir Imagen" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Nueva Pieza del Proveedor" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "Pedir piezas" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nueva Pieza del Fabricante" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "Ordenes de Compra" @@ -3524,11 +3564,11 @@ msgstr "Nueva Orden de Compra" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "Pedidos de Entrega" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "Nuevo Pedido de Entrega" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "Stock Asignado" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Pedir pieza" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "Editar pieza del fabricante" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "Eliminar pieza del fabricante" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Proveedores" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "Eliminar piezas del proveedor" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parámetros" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "Artículos de Stock Asignados" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "Pieza del Proveedor" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "Acciones de piezas del proveedor" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Pedir Pieza" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "Editar Pieza del Proveedor" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "Duplicar Pieza del Proveedor" @@ -3717,7 +3757,7 @@ msgstr "Eliminar Pieza del Proveedor" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "Stock de Piezas del Proveedor" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "Pedidos de Piezas al Proveedor" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "Enlazar código de barras a Pieza del Proveedor" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Actualizar Disponibilidad de Piezas" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" -msgstr "" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" +msgstr "Artículos de Stock" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "Pedidos" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "Precio de Pieza del Proveedor" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "Precios" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "Artículos de Stock" - #: company/views.py:33 msgid "New Supplier" msgstr "Nuevo Proveedor" @@ -3828,10 +3848,6 @@ msgstr "Empresas" msgid "New Company" msgstr "Nueva Empresa" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "Código QR del artículo de Stock" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "Orden de Compra" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "Descripción del pedido" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "Enlace a página web externa" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "Usuario o grupo responsable de este pedido" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "Empresa a la que se están encargando los artículos" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "Referencia del Proveedor" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "Fecha Límite de Envío" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "Referencia de Cliente " -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "Código de referencia del pedido del cliente" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Fecha límite para la finalización del envío. El pedido estará vencido después de esta fecha." -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "Fecha de Envío" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "Referencia de artículo de línea" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "Precio por unidad" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "Precio de compra por unidad" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "Una pieza virtual no puede ser asignada a un pedido de entrega" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "Sólo las piezas entregables pueden ser asignadas a un pedido de entrega" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "Precio de venta por unidad" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "La petición de entrega no coincide con el envío" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de entrega" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de entrega" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "Precio de divisa" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Eliminar fila" @@ -4566,7 +4578,7 @@ msgstr "Artículos de la Orden de Compra" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "Añadir Artículo de Línea" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "Imprimir lista de empaquetado" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "Completar Envíos" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "Completar Pedido de Entrega" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "Este pedido de entrega no ha sido completamente asignado" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "Referencia del Cliente" @@ -4636,10 +4648,6 @@ msgstr "Referencia del Cliente" msgid "Completed Shipments" msgstr "Envíos Completados" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "Editar Pedido de Entrega" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Artículos de Pedidos de Entrega" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "Envíos Pendientes" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "Acciones" @@ -4681,174 +4689,175 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "ID de Pieza" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "Nombre de la Pieza" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "Descripción de la Pieza" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "En Stock" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "Usado En" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "Ruta de la Categoría" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Piezas" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "IPN de la Pieza" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "Pedidos de Entrega Salientes" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "Stock Disponible" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "Ubicación predeterminada para piezas de esta categoría" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "Las piezas no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas." - -#: part/models.py:128 -msgid "Default keywords" -msgstr "Palabras clave predeterminadas" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "Palabras clave por defecto para piezas en esta categoría" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "Icono" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "Icono (opcional)" - -#: part/models.py:153 -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 piezas sea estructural porque algunas piezas ya están asignadas!" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de Pieza" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Categorías de Piezas" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "Ubicación predeterminada para piezas de esta categoría" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "Las piezas no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas." + +#: part/models.py:133 +msgid "Default keywords" +msgstr "Palabras clave predeterminadas" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "Palabras clave por defecto para piezas en esta categoría" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "Icono" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "Icono (opcional)" + +#: part/models.py:158 +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 piezas sea estructural porque algunas piezas ya están asignadas!" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "Opción no válida para la pieza principal" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "La pieza '{p1}' se utiliza en la lista BOM para '{p2}' (recursivo)" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de piezas" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "¡No se pueden asignar piezas a las categorías de piezas estructurales!" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "Nombre de la pieza" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "¿Es esta pieza una 'pieza plantilla'?" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "¿Es esta pieza una variante de otra pieza?" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "Descripción de la pieza" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda de piezas" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "Categoría de pieza" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "'Part Number' Interno (IPN)" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "Revisión de la pieza o número de versión" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 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 pieza" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "¿Esta pieza tiene seguimiento de artículos únicos?" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta pieza a proveedores externos?" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "¿Se puede entregar esta pieza a los clientes?" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "Último Inventario" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "Entrega múltiple" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la pieza de proveedores externos" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la pieza de proveedores externos" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "Fecha" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 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:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "Descripción del parámetro" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "Pieza Superior" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "Seleccionar pieza superior" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "Opcional" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "Heredado" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "Permitir Variantes" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de este artículo de stock" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "Duplicar Pieza" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "Cantidad Total" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "Categoría de piezas de nivel superior" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Subcategorías" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "Piezas (incluyendo subcategorías)" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "Crear nueva pieza" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "Nueva Pieza" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "Parámetros de Pieza" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "Crear nueva categoría de piezas" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "Nueva Categoría" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "Crear Categoría para Piezas" @@ -5807,118 +5928,120 @@ msgstr "Actualizar datos de programación" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "Inventario" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "Plantillas de Prueba para Pieza" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "Asignaciones de Pedidos de Entrega" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "Notas de la Pieza" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "Variantes de la Pieza" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Piezas Relacionadas" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Lista de Materiales" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "Proveedores de Piezas" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "Imprimir Etiqueta" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "Acciones de stock" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "Inactivo" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "Mostrar Detalles de la Pieza" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "Esta pieza es una variante de %(link)s" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "Asignado a Pedidos" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "Precios del Proveedor" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "Cantidad Programada" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "Precios" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "Programación" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "Última Actualización" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "Concordar Referencias" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "Descripción de la plantilla de informe" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "Filtros de búsqueda de pedidos de entrega" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "Ruta de Ubicación" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "ID del Cliente" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "ID de Pedido de Entrega" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicación de Stock" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "Ubicaciones de Stock" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "El empaquetado de este elemento de stock está almacenado en" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "Pedido de Entrega de Destino" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "Precio de compra por unidad en el momento de la compra" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "Artículo de stock ha sido asignado a un pedido de entrega" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "El artículo de stock ha sido asignado a un cliente" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "Los números de serie no se pueden asignar a esta pieza" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "El artículo está asignado a un pedido de entrega" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "Cliente a quien asignar los elementos de stock" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "La empresa seleccionada no es un cliente" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "Permitir proveedores no coincidentes" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "Acciones de impresión" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "Contar stock" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "Transferir stock" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "Elemento Superior" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "Solo lectura" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "Este artículo de stock está asignado a la Petición de Entrega" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "Ningún inventario realizado" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "Código QR del artículo de Stock" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "Localizar ubicación de stock" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "Escanear artículos de stock en esta ubicación" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "Buscar Artículos en Stock" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "Buscar en Contenedor" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "Acciones de ubicación" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "Editar ubicación" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "Eliminar ubicación" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "Ubicación de stock superior" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sub-ubicaciones" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "Ubicaciones de Stock" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "Nueva ubicación" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "Agregar Enlace" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "Añadir Archivo Adjunto" @@ -8526,7 +8692,7 @@ msgstr "Añadir Archivo Adjunto" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "Ampliar todas las filas" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "Fecha de Subida" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "Mostrar datos de fila" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "Añadir nueva Empresa" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "No se encontró información de la empresa" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "Última actualización" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "Seleccionar Columnas" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "Cancelar" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "Cancelar Pedido de Entrega" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "Añadir Cliente" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "Crear Pedido de Entrega" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "Editar Pedido de Entrega" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "Artículos" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "Total" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "Cantidad Total" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "Precio Unitario" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "Precio Total" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "No se encontraron pedidos de entrega" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "Cliente Inválido" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "Referencia de Envío" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "Asignar Artículos de Stock a Pedido de Entrega" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "No se encontraron asignaciones de pedidos de entrega" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "Enviado al cliente" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "Actualizar Precio por Unidad" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "Añadir Categoría de Pieza" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "Categoría superior de pieza" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "Icono (opcional) - Explora todos los iconos disponibles en" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "Crear Pieza" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "Crear otra pieza después de esta" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "Pieza creada con éxito" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "Stock bajo" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "Existencias no disponibles" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "Sin Stock" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "Asignado a pedidos" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "Mostrar como lista" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "Mostrar como cuadrícula" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "Mostrar como árbol" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "Cargar Subcategorías" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "No hay información de precios disponible para esta pieza" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "Error obteniendo información de programación de esta pieza" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "Asignar Stock al Cliente" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "Asignado al Pedido de Entrega" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "Artículo de stock asignado al pedido de entrega" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "Artículo de stock asignado al cliente" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "El cliente ya no existe" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "Incluir sub-ubicación" @@ -10973,218 +11138,218 @@ msgstr "Incluir sub-ubicación" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "Incluir subcategorias" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "Mostrar artículos que han sido asignados a un cliente" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "Incluir piezas en subcategorías" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "En stock" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 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 6e6749b1ca..47930c99ad 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -29,23 +29,23 @@ msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا msgid "Enter date" msgstr "تاریخ را وارد کنید" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "یادداشت" @@ -58,23 +58,23 @@ msgstr "مقدار '{name}' در قالب الگو ظاهر قرار نمی گی msgid "Provided value does not match required pattern: " msgstr "مقدار ارائه شده با الگوی مورد نیاز مطابقت ندارد: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "رمز عبور را وارد کنید" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "گذرواژه جدید را وارد کنید" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "تأیید کلمه‌ی عبور" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "گذرواژه جدید را تایید کنید" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "رمز عبور قدیمی" @@ -130,7 +130,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "" @@ -170,23 +170,23 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "" @@ -194,350 +194,363 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "فایل‌های داده" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "فایل را برای بارگذاری انتخاب کنید" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "این نوع فایل پشتیبانی نمی‌شود" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "حجم فایل خیلی بزرگ است" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "هیچ ستونی در فایل یافت نشد" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "هیچ ردیف داده ای در فایل یافت نشد" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "هیچ ردیف داده ای ارائه نشده است" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "هیچ ستون داده ای ارائه نشده است" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "ستون مورد نیاز وجود ندارد: \"{name}\"" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "ستون تکراری: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "آدرس اینترنتی" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "آدرس فایل تصویری از راه دور" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "" @@ -579,8 +592,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "" @@ -664,7 +677,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "" @@ -672,7 +685,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "" @@ -721,27 +734,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "" @@ -749,44 +762,44 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "" + #: build/models.py:155 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "" @@ -855,8 +869,8 @@ msgstr "مرجع سفارش فروش" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "منبع محل" @@ -896,21 +910,21 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "" @@ -918,8 +932,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "" @@ -927,7 +941,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" @@ -999,11 +1013,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -1025,18 +1039,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "" @@ -1044,12 +1058,12 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "" @@ -1097,249 +1110,249 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 3f1f761fe4..6e6bccea43 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:03\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:21\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -29,23 +29,23 @@ msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'admin msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Notes" @@ -58,23 +58,23 @@ msgstr "La valeur '{name}' n'apparaît pas dans le format du modèle" msgid "Provided value does not match required pattern: " msgstr "La valeur fournie ne correspond pas au modèle requis : " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Entrer le mot de passe" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Entrer le nouveau mot de passe" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Confirmez le mot de passe" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Confirmer le nouveau mot de passe" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Ancien mot de passe" @@ -130,7 +130,7 @@ msgstr "Le serveur distant a renvoyé une réponse vide" msgid "Supplied URL is not a valid image file" msgstr "L'URL fournie n'est pas un fichier image valide" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -170,23 +170,23 @@ msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la qu msgid "Remove HTML tags from this value" msgstr "Retirer les balises HTML de cette valeur" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Modèle mal formaté" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Clé de format inconnu spécifiée" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Clé de format requise manquante" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "Le champ de référence ne peut pas être vide" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "La référence doit correspondre au modèle requis" @@ -194,350 +194,363 @@ msgstr "La référence doit correspondre au modèle requis" msgid "Reference number is too large" msgstr "Le numéro de référence est trop grand" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Fichier manquant" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Pièce jointe" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Lien" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Lien vers une url externe" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Commentaire" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Utilisateur" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "date de chargement" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Le nom de fichier ne doit pas être vide" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Répertoire de pièce jointe invalide" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Le nom de fichier contient le caractère illégal '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Extension manquante du nom de fichier" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Une pièce jointe avec ce nom de fichier existe déjà" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Erreur lors du renommage du fichier" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Description" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "parent" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Chemin d'accès" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Données du code-barres" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Données de code-barres tierces" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Hash du code-barre" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Hachage unique des données du code-barres" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Code-barres existant trouvé" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Erreur serveur" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "Devise" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Nom du fichier" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Fichier de données" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Sélectionnez le fichier de données à envoyer" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Format de fichier non supporté" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Fichier trop volumineux" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Pas de colonnes trouvées dans le fichier" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Par de lignes de données trouvées dans le fichier" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Pas de lignes de données fournies" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Pas de colonne de données fournie" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonne requise manquante : {name}" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "URL du fichier image distant" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Tchèque" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Danois" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Grec" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Espagnol" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Espagnol (Mexique)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Farsi / Perse" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Français" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Hébreu" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Hongrois" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Italien" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japonais" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Coréen" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Néerlandais" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norvégien" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugais" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portugais (Brésilien)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Russe" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "Slovénien" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Suédois" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Thaïlandais" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Turc" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnamien" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Chinois" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "Échec des contrôles de santé du système" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "En attente" @@ -579,8 +592,8 @@ msgstr "Perdu" msgid "Returned" msgstr "Retourné" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Expédié" @@ -664,7 +677,7 @@ msgstr "Séparer de l'élément parent" msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Articles de stock fusionnés" @@ -672,7 +685,7 @@ msgstr "Articles de stock fusionnés" msgid "Converted to variant" msgstr "Converti en variante" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Envoyé au client" @@ -721,27 +734,27 @@ msgstr "Le surplus ne doit pas dépasser 100%" msgid "Invalid value for overage" msgstr "Valeur invalide pour le dépassement" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Modifier les informations utilisateur" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Définir le mot de passe" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Les mots de passe doivent correspondre" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Mot de passe incorrect" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Informations système" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "À propos d'InvenTree" @@ -749,44 +762,44 @@ msgstr "À propos d'InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Choix invalide pour la fabrication parente" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Ordres de Fabrication" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Choix invalide pour la fabrication parente" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Référence" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Pièce" @@ -855,8 +869,8 @@ 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:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Emplacement d'origine" @@ -896,21 +910,21 @@ msgstr "État de la construction" msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Date d'achèvement cible" @@ -918,8 +932,8 @@ msgstr "Date d'achèvement cible" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Date d'achèvement" @@ -927,7 +941,7 @@ msgstr "Date d'achèvement" msgid "completed by" msgstr "achevé par" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Émis par" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Responsable" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Lien Externe" @@ -999,11 +1013,11 @@ msgstr "L'élément de construction doit spécifier une sortie de construction, msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "L'article du stock sélectionné n'a pas été trouvé dans la BOM" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Assemblage" @@ -1025,18 +1039,18 @@ msgstr "Assemblage" msgid "Build to allocate parts" msgstr "Construction à laquelle allouer des pièces" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Article en stock" @@ -1044,12 +1058,12 @@ msgstr "Article en stock" msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Stock d'origine de l'article" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Quantité" @@ -1097,249 +1110,249 @@ msgstr "Installer dans" msgid "Destination stock item" msgstr "Stock de destination de l'article" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "L'ordre de production ne correspond pas à l'ordre parent" -#: build/serializers.py:154 +#: build/serializers.py:161 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:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "Cet ordre de production a déjà été produit" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "Cet ordre de production n'est pas complètement attribué" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:218 +#: build/serializers.py:219 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:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Numéros de série" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:247 +#: build/serializers.py:248 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:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 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:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Emplacement" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "État" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:384 +#: build/serializers.py:385 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:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "Supprimer le stock alloué" -#: build/serializers.py:454 +#: build/serializers.py:455 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:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "Retirer les sorties incomplètes" -#: build/serializers.py:461 +#: build/serializers.py:462 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:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "Accepter comme consommé par cet ordre de construction" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "Désaffecter avant de terminer cette commande de fabrication" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "Stock suralloué" -#: build/serializers.py:515 +#: build/serializers.py:516 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:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "Certains articles de stock ont été suralloués" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:531 +#: build/serializers.py:532 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:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:547 +#: build/serializers.py:548 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:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "La quantité nécessaire n'a pas encore été complétée" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "Article du BOM" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:614 +#: build/serializers.py:615 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:655 +#: build/serializers.py:665 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:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:734 +#: build/serializers.py:735 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:741 +#: build/serializers.py:742 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:746 +#: build/serializers.py:747 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:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" -#: build/serializers.py:825 +#: build/serializers.py:826 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:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "Exclure les articles de stock de cet emplacement sélectionné" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "Stock interchangeable" -#: build/serializers.py:840 +#: build/serializers.py:841 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:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "Stock de substitution" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "Autoriser l'allocation de pièces de remplacement" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "Objets Optionnels" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "Date Cible" @@ -1445,29 +1458,29 @@ msgstr "Cette construction était due le %(target)s" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "En retard" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Terminé" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "Commandes" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "Émis par" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "Priorité" @@ -1498,8 +1511,8 @@ msgstr "Stock d'origine" msgid "Stock can be taken from any available location." msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible." -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "Destination" @@ -1511,21 +1524,21 @@ msgstr "Stockage de destination non défini" msgid "Allocated Parts" msgstr "Pièces allouées" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "Lot" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "Créé le" @@ -1545,7 +1558,7 @@ msgstr "Commandes de constructions filles" msgid "Allocate Stock to Build" msgstr "Allouer le stock à la construction" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "Désallouer le stock" @@ -1576,7 +1589,7 @@ msgstr "Commander les pièces requises" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "Commander des pièces" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "Supprimer les sorties" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Actions d'impression" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "Imprimer les étiquettes" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "Sorties de Construction terminées" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Pieces jointes" @@ -1666,7 +1681,7 @@ msgstr "Allocation terminée" msgid "All untracked stock items have been allocated" msgstr "Tous les articles de stock non suivis ont été alloués" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "Nouvel ordre de construction" @@ -1723,1274 +1738,1309 @@ msgstr "{name.title()} Fichier" msgid "Select {name} file to upload" msgstr "Sélectionner le fichier {name} à uploader" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "Mise à jour" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "Date de la dernière mise à jour" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "Valeur du paramètre" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "La valeur choisie n'est pas une option valide" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "La valeur doit être une valeur booléenne" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "La valeur doit être un nombre entier" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "Pas de groupe" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "Un domaine vide n'est pas autorisé." -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nom de domaine invalide : {domain}" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/models.py:885 +#: common/models.py:892 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:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "Nom de l'instance du serveur" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "Limiter l'affichage de `about`" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "Afficher la modale `about` uniquement aux super-utilisateurs" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Nom de la société" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "Nom de société interne" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "URL de base" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "Devise par défaut" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "Sélectionnez la devise de base pour les calculs de prix" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:936 +#: common/models.py:943 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:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "Limite du volume de téléchargement" -#: common/models.py:943 +#: common/models.py:950 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:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "Agent utilisateur utilisé pour télécharger depuis l'URL" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "Confirmation requise" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "Exiger une confirmation explicite de l’utilisateur pour certaines actions." -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "Profondeur de l'arborescence" -#: common/models.py:968 +#: common/models.py:975 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:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "Backup automatique" -#: common/models.py:978 +#: common/models.py:985 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:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "Jours entre chaque sauvegarde" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "Spécifiez le nombre de jours entre les sauvegardes automatique" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "Supprimer les anciennes tâches" -#: common/models.py:995 +#: common/models.py:1002 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:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "Supprimer les logs d'erreurs" -#: common/models.py:1006 +#: common/models.py:1013 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:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "Supprimer les notifications" -#: common/models.py:1017 +#: common/models.py:1024 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:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "Activer le support du scanner de code-barres" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "Délai d'entrée du code-barres" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "Délai de traitement du code-barres" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "Prise en charge de la webcam code-barres" -#: common/models.py:1046 +#: common/models.py:1053 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:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1053 +#: common/models.py:1060 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:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:1065 +#: common/models.py:1072 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:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "Copier les données de la pièce" -#: common/models.py:1072 +#: common/models.py:1079 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:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:1079 +#: common/models.py:1086 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:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:1086 +#: common/models.py:1093 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:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:1093 +#: common/models.py:1100 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:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "Modèle" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "Assemblage" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "Composant" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "Vendable" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "Traçable" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "Stock initial" -#: common/models.py:1163 +#: common/models.py:1170 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:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" -#: common/models.py:1170 +#: common/models.py:1177 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:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "Format d'affichage du nom de la pièce" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "Format pour afficher le nom de la pièce" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "Icône de catégorie par défaut" -#: common/models.py:1185 +#: common/models.py:1192 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:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "Décimales de tarification" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "Nombre de décimales à afficher lors du rendu des données de prix" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/models.py:1202 +#: common/models.py:1209 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:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/models.py:1209 +#: common/models.py:1216 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:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/models.py:1216 +#: common/models.py:1223 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:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/models.py:1223 +#: common/models.py:1230 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:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/models.py:1241 +#: common/models.py:1248 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:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "Temps de reconstruction des prix" -#: common/models.py:1248 +#: common/models.py:1255 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:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "jours" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/models.py:1266 +#: common/models.py:1273 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:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/models.py:1280 +#: common/models.py:1287 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:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "Activer les rapports de test" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "Activer la génération de rapports de test" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "Joindre des rapports de test" -#: common/models.py:1322 +#: common/models.py:1329 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:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/models.py:1329 +#: common/models.py:1336 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:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/models.py:1343 +#: common/models.py:1350 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:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/models.py:1350 +#: common/models.py:1357 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:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/models.py:1370 +#: common/models.py:1377 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:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1385 +#: common/models.py:1392 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:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1392 +#: common/models.py:1399 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:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1398 +#: common/models.py:1405 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:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1405 +#: common/models.py:1412 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:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1412 +#: common/models.py:1419 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:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1419 +#: common/models.py:1426 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:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1426 +#: common/models.py:1433 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:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1433 +#: common/models.py:1440 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:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1441 +#: common/models.py:1448 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:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1448 +#: common/models.py:1455 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:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1462 +#: common/models.py:1469 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:1468 +#: common/models.py:1475 msgid "Email required" msgstr "Email requis" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1476 +#: common/models.py:1483 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:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1490 +#: common/models.py:1497 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:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Restreindre l'inscription à certains domaines (séparés par des virgules, commence par @)" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:1504 +#: common/models.py:1511 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:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:1518 +#: common/models.py:1525 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:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "Vérifier les signatures du plugin" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "Vérifier et afficher les signatures des plugins" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:1615 +#: common/models.py:1663 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:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "Nombre de composants récents" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "Nombre de pièces récentes à afficher sur la page d'index" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "Afficher les listes de matériaux non validées" -#: common/models.py:1636 +#: common/models.py:1684 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:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1643 +#: common/models.py:1691 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:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "Compte de stock récent" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "Nombre d'éléments de stock récents à afficher sur la page d'index" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:1671 +#: common/models.py:1719 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:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:1678 +#: common/models.py:1726 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:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:1685 +#: common/models.py:1733 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:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:1741 +#: common/models.py:1789 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:1747 +#: common/models.py:1795 +msgid "Default label printer" +msgstr "" + +#: common/models.py:1796 +msgid "Configure which label printer should be selected by default" +msgstr "" + +#: common/models.py:1802 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:1748 +#: common/models.py:1803 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:1754 +#: common/models.py:1809 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:1755 +#: common/models.py:1810 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:1761 +#: common/models.py:1816 msgid "Seach Supplier Parts" msgstr "Chercher des pièces fournisseur" -#: common/models.py:1762 +#: common/models.py:1817 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:1768 +#: common/models.py:1823 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:1769 +#: common/models.py:1824 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:1775 +#: common/models.py:1830 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:1776 +#: common/models.py:1831 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:1782 +#: common/models.py:1837 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:1783 +#: common/models.py:1838 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:1789 +#: common/models.py:1844 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:1790 +#: common/models.py:1845 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:1796 +#: common/models.py:1851 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:1797 +#: common/models.py:1852 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:1803 +#: common/models.py:1858 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:1804 +#: common/models.py:1859 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:1810 +#: common/models.py:1865 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:1811 +#: common/models.py:1866 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1817 +#: common/models.py:1872 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:1818 +#: common/models.py:1873 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:1824 +#: common/models.py:1879 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:1825 +#: common/models.py:1880 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:1831 +#: common/models.py:1886 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:1832 +#: common/models.py:1887 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:1838 +#: common/models.py:1893 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1839 +#: common/models.py:1894 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1845 +#: common/models.py:1900 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1901 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1852 +#: common/models.py:1907 msgid "Search Preview Results" msgstr "" -#: common/models.py:1853 +#: common/models.py:1908 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1859 +#: common/models.py:1914 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1860 +#: common/models.py:1915 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1866 +#: common/models.py:1921 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1867 +#: common/models.py:1922 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1873 +#: common/models.py:1928 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:1874 +#: common/models.py:1929 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:1880 +#: common/models.py:1935 msgid "Date Format" msgstr "Format de date" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "Prix" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "Actif" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "Jeton" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "ID message" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "Hôte" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "Entête" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "Corps" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" -msgstr "" +msgstr "Id" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" -msgstr "" +msgstr "Titre" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Auteur" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" -msgstr "" +msgstr "Résumé" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" -msgstr "" +msgstr "Cette nouvelle a-t-elle été lue ?" #: common/notifications.py:294 #, python-brace-format @@ -3011,11 +3061,11 @@ msgstr "Des articles d'un bon de commande ont été reçus" #: common/notifications.py:416 msgid "Error raised by plugin" -msgstr "" +msgstr "Erreur déclenchée par le plugin" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Téléverser un fichier" @@ -3023,7 +3073,7 @@ msgstr "Téléverser un fichier" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "Description de la société" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "Site web" @@ -3075,11 +3125,11 @@ msgstr "Adresse" #: company/models.py:116 msgid "Company address" -msgstr "" +msgstr "Adresse de l'entreprise" #: company/models.py:119 msgid "Phone number" -msgstr "" +msgstr "Numéro de téléphone" #: company/models.py:120 msgid "Contact phone number" @@ -3096,7 +3146,7 @@ msgstr "Adresse e-mail de contact" #: company/models.py:126 company/templates/company/company_base.html:140 msgid "Contact" -msgstr "" +msgstr "Contact" #: company/models.py:127 msgid "Point of contact" @@ -3106,13 +3156,13 @@ msgstr "Point de contact" msgid "Link to external company information" msgstr "Lien externe vers les informations de l'entreprise" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" -msgstr "" +msgstr "Image" #: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" -msgstr "" +msgstr "Notes de l'entreprise" #: company/models.py:145 msgid "is customer" @@ -3138,229 +3188,219 @@ msgstr "est fabricant" msgid "Does this company manufacture parts?" msgstr "Cette entreprise fabrique-t-elle des pièces?" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "Devise" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "Fabricant" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "Sélectionner un fabricant" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "Pièces du fabricant" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "Nom du paramètre" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "Valeur" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "Valeur du paramètre" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "Unités" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "Unités du paramètre" - -#: company/models.py:456 -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:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "Fournisseur" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "Sélectionner un fournisseur" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "SKU" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "Unité de gestion des stocks des fournisseurs" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "Sélectionner un fabricant" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "Lien de la pièce du fournisseur externe" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "Description de la pièce du fournisseur" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "Note" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "coût de base" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "Frais minimums (par exemple frais de stock)" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "Conditionnement" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "Conditionnement de l'article" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "Nombre de paquet" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "Nombre d'unités fournies dans un seul paquet" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "plusieurs" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "Commande multiple" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "Disponible" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "Quantité disponible auprès du fournisseur" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "Disponibilité mise à jour" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "Date de dernière mise à jour des données de disponibilité" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "Devise par défaut utilisée pour ce fournisseur" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "Code Devise" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "Société" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "Fabricant" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "Sélectionner un fabricant" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "Pièces du fabricant" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "Nom du paramètre" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "Valeur" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "Valeur du paramètre" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "Unités" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "Unités du paramètre" + +#: company/models.py:475 +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:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "Fournisseur" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "Sélectionner un fournisseur" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "SKU" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "Unité de gestion des stocks des fournisseurs" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "Sélectionner un fabricant" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "Lien de la pièce du fournisseur externe" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "Description de la pièce du fournisseur" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "Note" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "coût de base" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "Frais minimums (par exemple frais de stock)" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "Conditionnement" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "Conditionnement de l'article" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "Nombre de paquet" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "Nombre d'unités fournies dans un seul paquet" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "plusieurs" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "Commande multiple" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "Disponible" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "Quantité disponible auprès du fournisseur" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "Disponibilité mise à jour" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "Date de dernière mise à jour des données de disponibilité" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "Devise par défaut utilisée pour ce fournisseur" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "Créer une commande d'achat" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "Éditer les informations sur la société" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "Editer la société" @@ -3401,14 +3441,14 @@ 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:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "Client" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "Téléphone" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "Supprimer l'image" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "Supprimer l'image associée de cette entreprise" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Supprimer" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "Charger une image" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "Télécharger une image" @@ -3458,13 +3498,13 @@ msgstr "Créer une nouvelle pièce fournisseur" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Nouvelle pièce fournisseur" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "Commander des composants" @@ -3487,7 +3527,7 @@ msgstr "Pièces du fabricant" msgid "Create new manufacturer part" msgstr "Créer une nouvelle pièce de fabricant" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nouvelle pièce de fabricant" @@ -3501,11 +3541,11 @@ msgstr "Stock fournisseur" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "Commandes d'achat" @@ -3524,11 +3564,11 @@ msgstr "Nouvelle commande achat" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "Ventes" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "Nouvelle commande de vente" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "Stock affecté" @@ -3558,17 +3598,17 @@ msgstr "Fabricants" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Article de la commande" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "Modifier la pièce du fabricant" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "Supprimer la pièce de fabricant" @@ -3583,34 +3623,34 @@ msgstr "Aucune information sur le fabricant disponible" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Fournisseurs" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "Supprimer les pièces du fournisseur" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "Supprimer" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Paramètres" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "Supprimer les paramètres" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Ajouter un paramètre" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "Articles en stock assignés" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "Pièce fournisseur" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "Actions de code-barres" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "Afficher le QR Code" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "Délier le code-barre" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "Lier le code-barre" @@ -3685,7 +3725,7 @@ msgstr "Actions de la pièce du fournisseur" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Commander un composant" @@ -3696,13 +3736,13 @@ msgstr "Disponibilité de la mise à jour" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "Modifier la pièce du fournisseur" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "Dupliquer la pièce du fournisseur" @@ -3717,7 +3757,7 @@ msgstr "Supprimer la pièce du fournisseur" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "Identifiant du code-barres" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "Aucune information de fournisseur disponible" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "Stock de pièces du fournisseur" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "Créer un nouvel article de stock" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "Nouvel article de stock" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "Commandes de pièces du fournisseur" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "Information sur les prix" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "Ajouter un prix de rupture" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "Lier le code-barres à la pièce du fournisseur" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Mettre à jour la disponibilité des pièces" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" -msgstr "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" +msgstr "Éléments en stock" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "Commandes" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "Prix de la pièce du fournisseur" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "Tarif" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "Éléments en stock" - #: company/views.py:33 msgid "New Supplier" msgstr "Nouveau Fournisseur" @@ -3828,10 +3848,6 @@ msgstr "Entreprises" msgid "New Company" msgstr "Nouvelle Entreprise" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "Code QR de l'article en stock" - #: label/models.py:102 msgid "Label name" msgstr "Nom de l'étiquette" @@ -3848,7 +3864,7 @@ msgstr "Étiquette" msgid "Label template file" msgstr "Fichier de modèle d'étiquette" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "Activé" @@ -3872,7 +3888,7 @@ msgstr "Hauteur [mm]" msgid "Label height, specified in mm" msgstr "Hauteur de l'étiquette, spécifiée en mm" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "Modèle de nom de fichier" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules)," #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "Filtres" @@ -3897,447 +3913,443 @@ msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virg msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Filtres de requêtes de pièces (valeurs de paires clé=valeur séparées par des virgules)" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "Description de la commande" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "Créé par" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "Notes de commande" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" -msgstr "" +msgstr "Référence de la commande" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" -msgstr "" +msgstr "Statut de la commande d'achat" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" -msgstr "" +msgstr "Société de laquelle les articles sont commandés" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" -msgstr "" +msgstr "Référence du fournisseur" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" -msgstr "" +msgstr "Code de référence de la commande fournisseur" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "reçu par" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "Date de livraison cible" -#: order/models.py:287 +#: order/models.py:286 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:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "expédié par" -#: order/models.py:747 +#: order/models.py:751 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:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "Seule une commande en attente peut être marquée comme terminée" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 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:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "Contexte" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "Commande" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "Reçu" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "Ligne" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "Article" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "Devise *" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 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:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "Champ d'identifiant unique" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:518 +#: order/serializers.py:511 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:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 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:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" @@ -4505,10 +4517,10 @@ msgstr "Dupliquer la sélection" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Supprimer la ligne" @@ -4566,7 +4578,7 @@ msgstr "Articles de la commande d'achat" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "Expéditions en attente" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "Révision" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "En Commande" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Composantes" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "Description du composant" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "Catégorie" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "Date" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "Requis" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "Données" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "Supprimer l'élément" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "Modifier la catégorie" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "Modifier la catégorie" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "Supprimer la catégorie" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "Supprimer la catégorie" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "Composantes (incluant sous-catégories)" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "Nouvelle catégorie" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "Actualiser" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "Prise d'inventaire" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "Fabricants de composants" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "Sélectionner un format de fichier" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "Impression étiquette" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "Dernier numéro de série" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "Rechercher un numéro de série" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "Calculer" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "Stock" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "Tarif" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "Tester le modèle" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "Base de données inconnue" msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "L'extension `{plg_name}` n'est pas compatible avec la version actuelle d'InvenTree {version.inventreeVersion()} !" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "Filtres de composants" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "Extrait " -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "Elément" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "Numéro de série" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "Résultat" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "Numéro de série" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "Propriétaire" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "Sélectionner un propriétaire" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -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:592 -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:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "Propriétaire" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "Sélectionner un propriétaire" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +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:604 +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:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 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:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Les numéros de série existent déja : {exists}" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 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:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "Cet article de stock est sérialisé - il a un numéro de série unique et la quantité ne peut pas être ajustée." -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "page précédente" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "Accéder au numéro de série précédent" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "Accéder au numéro de série suivant" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "Code QR de l'article en stock" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "Lier le code-barres à l'article de stock" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "Sélectionner la quantité à sérialiser et les numéros de série uniques." -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Autorisation refusée" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "Paramètres des Extensions" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "Extensions" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "Aucune valeur définie" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "Paramètres Globaux" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "Catégories" @@ -8514,11 +8680,11 @@ msgstr "Entrer un token généré par l'application :" msgid "Verify" msgstr "Vérifier" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "Ajouter un lien" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "Ajouter une pièce jointe" @@ -8526,7 +8692,7 @@ msgstr "Ajouter une pièce jointe" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "Quantité requise" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Aucune réponse" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "Aucune réponse du serveur InvenTree" @@ -8611,27 +8777,27 @@ msgstr "Erreur 400: Mauvaise requête" msgid "API request returned error code 400" msgstr "La requête de l'API a retourné le code d'erreur 400" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Erreur 401: non authentifié" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "Informations d’authentification non fournies" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Erreur 403: Permission refusée" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Vous n'avez pas les autorisations requises pour accéder à cette fonction" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Erreur 404: Ressource introuvable" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "La ressource demandée n'a pas pu être trouvée sur le serveur" @@ -8643,11 +8809,11 @@ msgstr "Erreur 405: Méthode non autorisée" msgid "HTTP method not allowed at URL" msgstr "Méthode HTTP non autorisée à l'adresse URL" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Erreur 408: Délai dépassé" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "Délai de connexion dépassé lors de la demande de données depuis le serveur" @@ -8659,27 +8825,27 @@ msgstr "Code d'erreur non géré" msgid "Error code" msgstr "Code d’erreur" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "Aucune pièce jointe trouvée" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "Modifier la pièce jointe" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "Date d'upload" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "Modifier la pièce jointe" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "Supprimer la pièce jointe" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "Réponse inconnue du serveur" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Réponse du serveur invalide" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "Délier" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "Supprimer l'article de stock" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "Données de la rangée" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "Prochain numéro de série disponible" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "Dernier numéro de série" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "Commander des stocks" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "Pas d'informations sur l'utilisateur" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "Composantes fournies" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "Composantes fabriquées" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "Sélectionner imprimante" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "Annuler" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "Référence de commande" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "Commandé" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "Commande en retard" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "Livré au client" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "Acheter du stock" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "Calculer le prix" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "Attributs de la pièce" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "Options de création de pièce" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "Options de duplication de pièces" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "Ajouter une catégorie de pièce" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "Composant créé avec succès" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "Modifier la pièce" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "Pièce modifiée" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "Créer une variante de pièce" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "Stock bas" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "Pièce traçable" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "Pièce virtuelle" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "Pièce vendable" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "Aucune variante trouvée" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "Aucune pièce trouvée" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "Aucune catégorie" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "Afficher sous forme de liste" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "Afficher sous forme de grille" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "Afficher sous forme d'arborescence" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "Modifier le résultat du test" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "Supprimer le résultat du test" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "Le plugin a été installé" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "Trouver un numéro de série" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "Entrer le numéro de série" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "Entrer un numéro de série" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "Aucun numéro de série correspondant" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "Plus d'un résultat correspondant trouvé" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "Confirmer l'assignation de stock" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "Assigner le stock au client" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "Attention : l'opération de fusion est irréversible" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "Certaines informations seront perdues lors de la fusion des articles en stock" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "L'historique des transactions de stock sera supprimé pour les éléments fusionnés" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "Les informations sur la pièce du fournisseur seront supprimées pour les éléments fusionnés" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "Confirmer la fusion de l'article en stock" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "Fusionner les articles en stock" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "Transférer le stock" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "Transférer" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "Compter le stock" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "Compter" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "Supprimer du stock" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "Supprimer" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "Ajouter du stock" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "Ajouter" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "Supprimer le stock" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "La quantité ne peut pas être ajustée pour un stock sérialisé" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "Spécifiez la quantité du stock" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "Vous devez sélectionner au moins un article en stock disponible" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "RÉUSSI" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "ÉCHEC" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "AUCUN RÉSULTAT" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "Ajouter un résultat de test" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "Aucun résultat de test trouvé" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "Date du test" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "En production" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "Article en stock installé dans un autre article en stock" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "Assigné à une commande de vente" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "Aucun emplacement de stock défini" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "L'article de stock est en production" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "L'article en stock a été assigné à une commande de vente" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "L'article en stock a été assigné à un client" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "L'article de stock sérialisé a été alloué" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "L'article de stock a été complètement alloué" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "L'article de stock a été partiellement alloué" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "L'article en stock a été installé dans un autre article" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "L'article en stock a expiré" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "L'article en stock va bientôt expirer" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "L'article de stock a été rejeté" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "L'article de stock est perdu" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "L'article de stock est détruit" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "Epuisé" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "Pièce de fournisseur non précisée" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "Aucun article de stock ne correspond à la requête" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "Définir l'état du stock" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "Sélectionner le code de statut" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "Le code de statut doit être sélectionné" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "Détails" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "L'emplacement n'existe plus" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "La commande d'achat n'existe plus" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "Le client n'existe plus" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "L'article de stock n'existe plus" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "Ajouté" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "Supprimé" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "Inclure les sous-emplacements" @@ -10973,218 +11138,218 @@ msgstr "Inclure les sous-emplacements" msgid "Include locations" msgstr "Inclure les emplacements" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "Inclure les sous-catégories" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:250 msgid "Is Serialized" msgstr "A un numéro de série" -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:257 msgid "Serial number GTE" msgstr "Numéro de série PGE" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:258 msgid "Serial number greater than or equal to" msgstr "Numéro de série supérieur ou égal à" -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 msgid "Serial number LTE" msgstr "Numéro de série PPE" -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:262 msgid "Serial number less than or equal to" msgstr "Numéro de série inférieur ou égal à" -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "Numéro de série" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "Code de lot" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "Pièces actives" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "Afficher le stock pour les pièces actives" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "La pièce est un assemblage" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "Est alloué" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "L'élément a été alloué" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "Le stock est disponible pour utilisation" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "Afficher les articles de stock qui sont installés dans un autre article" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "Afficher les articles qui ont été assignés à un client" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "État du stock" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "A un prix d'achat" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "Afficher les articles de stock qui ont un prix d'achat défini" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "Afficher les articles de stock qui ont expiré" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "Afficher le stock qui est proche de l'expiration" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "État de la construction" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "Assigné à moi" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "État de la commande" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "En suspens" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "Inclure les pièces des sous-catégories" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "Afficher les pièces actives" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "A un IPN" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "La pièce a un numéro de pièce interne" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "Achetable" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "Utilisateurs" msgid "Select which users are assigned to this group" msgstr "Sélectionner quels utilisateurs sont assignés à ce groupe" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "Les utilisateurs suivants sont membres de plusieurs groupes:" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "Informations personnelles" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "Droits" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "Dates importantes" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "Droit défini" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "Groupe" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "Vue" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "Droit de voir des éléments" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "Droit d'ajouter des éléments" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "Modifier" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "Droit de modifier des élément" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 8172aa9fd2..80aa49ac48 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -29,23 +29,23 @@ msgstr "" msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "" @@ -58,23 +58,23 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "הכנס סיסמה" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "הכנס סיסמה חדשה" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "אישור סיסמה" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "אשר סיסמה חדשה" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "" @@ -130,7 +130,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "" @@ -170,23 +170,23 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "" @@ -194,350 +194,363 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "קובץ חסר" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "קובץ מצורף" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "קישור" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "קישור חיצוני" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "הערה" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "משתמש" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "תאריך העלאה" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "חובה למלא שם קובץ" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "תיקיית קובץ שגויה" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "שם הקובץ מכיל תו '{c}' שאינו חוקי" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "שגיאה בשינוי שם פריט" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "שם" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "תיאור" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "תיאור (לא חובה)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "מקור" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "שם קובץ" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "גרמנית" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "יוונית" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "אנגלית" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "ספרדית" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "ספרדית (מקסיקנית)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "צרפתית" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "עברית" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "איטלקית" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "יפנית" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "קוריאנית" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "הולנדית" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "נורווגית" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "פולנית" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "רוסית" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "שוודית" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "תאילנדית" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "טורקית" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "ווייטנאמית" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "סינית" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "בהמתנה" @@ -579,8 +592,8 @@ msgstr "אבד" msgid "Returned" msgstr "הוחזר" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "נשלח" @@ -664,7 +677,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "" @@ -672,7 +685,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "נשלח ללקוח" @@ -721,27 +734,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "ערוך מידע אודות המשתמש" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "הגדר סיסמא" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "הסיסמאות מוכרחות להיות תואמות" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "מידע אודות המערכת" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "" @@ -749,44 +762,44 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "" + #: build/models.py:155 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "מקט" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "רכיב" @@ -855,8 +869,8 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "" @@ -896,21 +910,21 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "" @@ -918,8 +932,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "" @@ -927,7 +941,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" @@ -999,11 +1013,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -1025,18 +1039,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "" @@ -1044,12 +1058,12 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "כמות" @@ -1097,249 +1110,249 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "מספרים סידוריים" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 52a3bcc918..2c0f9445de 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:03\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:21\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -29,23 +29,23 @@ msgstr "A hiba részleteit megtalálod az admin panelen" msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Megjegyzések" @@ -58,23 +58,23 @@ msgstr "A(z) '{name}' érték nem a szükséges minta szerinti" msgid "Provided value does not match required pattern: " msgstr "A megadott érték nem felel meg a szükséges mintának: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Jelszó megadása" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Új jelszó megadása" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Jelszó megerősítése" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Új jelszó megerősítése" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Régi jelszó" @@ -130,7 +130,7 @@ msgstr "A kiszolgáló üres választ adott" msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" @@ -170,23 +170,23 @@ msgstr "A megadott számú egyedi sorozatszám ({s}) meg kell egyezzen a darabsz msgid "Remove HTML tags from this value" msgstr "HTML tag-ek eltávolítása ebből az értékből" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Helytelenül formázott minta" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Ismeretlen formátum kulcs lett megadva" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Hiányzó formátum kulcs" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "Az azonosító mező nem lehet üres" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "Az azonosítónak egyeznie kell a mintával" @@ -194,350 +194,363 @@ msgstr "Az azonosítónak egyeznie kell a mintával" msgid "Reference number is too large" msgstr "Azonosító szám túl nagy" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Hiányzó fájl" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Melléklet" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Link" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link külső URL-re" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Megjegyzés" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Felhasználó" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "feltöltés dátuma" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "A fájlnév nem lehet üres" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Érvénytelen melléklet mappa" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Fájlnévben érvénytelen karakter van '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Fájlnév kiterjesztése hiányzik" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Ilyen fájlnévvel már létezik melléklet" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Hiba a fájl átnevezésekor" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Név" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Leírás" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Leírás (opcionális)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "szülő" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Elérési út" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Vonalkód adat" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Harmadik féltől származó vonalkód adat" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Vonalkód hash" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Egyedi vonalkód hash" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Létező vonalkód" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Kiszolgálóhiba" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "Pénznem" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "Válassz pénznemet a lehetőségek közül" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Fájlnév" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Adat fájl" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Fájl kiválasztása feltöltéshez" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Nem támogatott fájltípus" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Fájl túl nagy" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Nem találhatók oszlopok a fájlban" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Nincsenek adatsorok a fájlban" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Nincs adatsor megadva" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Nincs adat oszlop megadva" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Szükséges oszlop hiányzik: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "A távoli kép URL-je" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Cseh" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Dán" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Német" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Görög" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Angol" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Spanyol (Mexikói)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Fárszi/Perzsa" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Francia" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Héber" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Magyar" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Olasz" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japán" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Koreai" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Holland" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norvég" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Lengyel" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugál" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portugál (Brazíliai)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Orosz" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "Szlovén" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Svéd" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Tháj" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Török" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnámi" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Kínai" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "Függőben" @@ -579,8 +592,8 @@ msgstr "Elveszett" msgid "Returned" msgstr "Visszaküldve" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Kiszállítva" @@ -664,7 +677,7 @@ msgstr "Szülő tételből szétválasztva" msgid "Split child item" msgstr "Szétválasztott gyermek tétel" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Összevont készlet tétel" @@ -672,7 +685,7 @@ msgstr "Összevont készlet tétel" msgid "Converted to variant" msgstr "Alkatrészváltozattá alakítva" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Vevőnek elküldve" @@ -721,27 +734,27 @@ msgstr "Túlszállítás nem lehet több mint 100%" msgid "Invalid value for overage" msgstr "Érvénytelen érték a túlszállításra" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Felhasználói információ módosítása" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Jelszó beállítása" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "A jelszavaknak egyeznie kell" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Rossz jelszó lett megadva" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Rendszerinformáció" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "Verzió információk" @@ -749,44 +762,44 @@ msgstr "Verzió információk" 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/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Hibás választás a szülő gyártásra" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Gyártási utasítás" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Gyártási utasítások" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Hibás választás a szülő gyártásra" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Azonosító" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Alkatrész" @@ -855,8 +869,8 @@ 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:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Forrás hely" @@ -896,21 +910,21 @@ msgstr "Gyártási állapot" msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Befejezés cél dátuma" @@ -918,8 +932,8 @@ msgstr "Befejezés cél dátuma" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Elkészítés dátuma" @@ -927,7 +941,7 @@ msgstr "Elkészítés dátuma" msgid "completed by" msgstr "elkészítette" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Kiállította" @@ -936,12 +950,12 @@ 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:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Felelős" @@ -952,8 +966,8 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Külső link" @@ -999,11 +1013,11 @@ msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "Kiválasztott készlet tétel nem található az alkatrészjegyzékben" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Gyártás" @@ -1025,18 +1039,18 @@ msgstr "Gyártás" msgid "Build to allocate parts" msgstr "Gyártás amihez készletet foglaljunk" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Készlet tétel" @@ -1044,12 +1058,12 @@ msgstr "Készlet tétel" msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Forrás készlet tétel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Mennyiség" @@ -1097,250 +1110,250 @@ msgstr "Beépítés ebbe" msgid "Destination stock item" msgstr "Cél készlet tétel" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:150 +#: build/serializers.py:157 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:154 +#: build/serializers.py:161 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:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "Ez a gyártási kimenet már elkészült" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/serializers.py:215 +#: build/serializers.py:216 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:218 +#: build/serializers.py:219 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:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:247 +#: build/serializers.py:248 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:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 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:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Hely" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Állapot" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:384 +#: build/serializers.py:385 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:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "Lefoglalt készlet levonása" -#: build/serializers.py:454 +#: build/serializers.py:455 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:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "Gyártásban fel lett használva" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "Foglalás felszabadítása a készre jelentés előtt" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "Túlfoglalt készlet" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hogyan kezeljük az gyártáshoz rendelt extra készletet" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "Pár készlet tétel túl lett foglalva" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:531 +#: build/serializers.py:532 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:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:547 +#: build/serializers.py:548 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:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Szükséges gyártási mennyiség nem lett elérve" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:614 +#: build/serializers.py:615 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:655 +#: build/serializers.py:665 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:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:734 +#: build/serializers.py:735 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:741 +#: build/serializers.py:742 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:746 +#: build/serializers.py:747 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:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:825 +#: build/serializers.py:826 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:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:834 +#: build/serializers.py:835 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:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:840 +#: build/serializers.py:841 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:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "Opcionális tételek" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "Opcionális tételek lefoglalása a gyártáshoz" @@ -1427,13 +1440,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Még nincs lefoglalva a szükséges készlet" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "Cél dátum" @@ -1446,29 +1459,29 @@ msgstr "Ez a gyártás %(target)s-n volt esedékes" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "Késésben" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Kész" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "Vevői rendelés" @@ -1479,7 +1492,7 @@ msgid "Issued By" msgstr "Kiállította" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "Prioritás" @@ -1499,8 +1512,8 @@ msgstr "Készlet forrás" msgid "Stock can be taken from any available location." msgstr "Készlet bármely rendelkezésre álló helyről felhasználható." -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "Cél" @@ -1512,21 +1525,21 @@ msgstr "A cél hely nincs megadva" msgid "Allocated Parts" msgstr "Lefoglalt alkatrészek" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "Batch" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "Létrehozva" @@ -1546,7 +1559,7 @@ msgstr "Alárendelt gyártások" msgid "Allocate Stock to Build" msgstr "Készlet foglalása gyártáshoz" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "Készlet felszabadítása" @@ -1577,7 +1590,7 @@ msgstr "Szükséges alkatrészek rendelése" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "Alkatrész rendelés" @@ -1630,12 +1643,12 @@ msgid "Delete outputs" msgstr "Kimenetek törlése" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Nyomtatási műveletek" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "Címke nyomtatása" @@ -1644,13 +1657,15 @@ msgid "Completed Build Outputs" msgstr "Befejezett gyártási kimenetek" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Mellékletek" @@ -1667,7 +1682,7 @@ msgstr "Lefoglalás kész" msgid "All untracked stock items have been allocated" msgstr "A szükséges készlet már mind le lett foglalva" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "Új gyártási utasítás" @@ -1724,1272 +1739,1307 @@ msgstr "{name.title()} Fájl" msgid "Select {name} file to upload" msgstr "{name} fájl kiválasztása feltöltéshez" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "Frissítve" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "Legutóbbi frissítés időpontja" -#: common/models.py:495 +#: common/models.py:496 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:497 +#: common/models.py:498 msgid "Settings value" msgstr "Beállítás értéke" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "A kiválasztott érték nem egy érvényes lehetőség" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "Az érték bináris kell legyen" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "Az érték egész szám kell legyen" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "Nincs csoport" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "Üres domain nem engedélyezett." -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Érvénytelen domain név: {domain}" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/models.py:885 +#: common/models.py:892 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:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "Példány név használata" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Cég neve" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "Belső cégnév" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "Kiindulási URL" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "Válassz alap pénznemet az ár számításokhoz" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/models.py:936 +#: common/models.py:943 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:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "Letöltési méret korlát" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "Maximum megengedett letöltési mérete a távoli képeknek" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "Felhasznált User-agent az URL-ről letöltéshez" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "Megerősítés igénylése" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "Kérjen felhasználói megerősítést bizonyos műveletekhez" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "Fa mélység" -#: common/models.py:968 +#: common/models.py:975 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:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "Automatikus biztonsági mentés" -#: common/models.py:978 +#: common/models.py:985 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:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "Biztonsági mentések közti napok" -#: common/models.py:985 +#: common/models.py:992 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:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "Régi feladatok törlése" -#: common/models.py:995 +#: common/models.py:1002 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:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "Hibanapló törlése" -#: common/models.py:1006 +#: common/models.py:1013 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:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "Értesítések törlése" -#: common/models.py:1017 +#: common/models.py:1024 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:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "Vonalkód olvasó engedélyezése" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "Vonalkód beadási késleltetés" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "Vonalkód beadáskor a feldolgozás késleltetési ideje" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "Webkamerás vonalkód olvasás" -#: common/models.py:1046 +#: common/models.py:1053 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:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrész esetén is" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:1065 +#: common/models.py:1072 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:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:1072 +#: common/models.py:1079 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:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:1079 +#: common/models.py:1086 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:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:1086 +#: common/models.py:1093 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:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:1093 +#: common/models.py:1100 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:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "Sablon" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "Gyártmány" -#: common/models.py:1107 +#: common/models.py:1114 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:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "Összetevő" -#: common/models.py:1114 +#: common/models.py:1121 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:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "Követésre kötelezett" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:1149 +#: common/models.py:1156 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:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "Kezdeti készlet adatok" -#: common/models.py:1163 +#: common/models.py:1170 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:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" -#: common/models.py:1170 +#: common/models.py:1177 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:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "Alkatrész kategória alapértelmezett ikon" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek száma" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek száma az árak megjelenítésekor" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/models.py:1202 +#: common/models.py:1209 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:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/models.py:1209 +#: common/models.py:1216 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:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/models.py:1216 +#: common/models.py:1223 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:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/models.py:1223 +#: common/models.py:1230 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:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/models.py:1234 +#: common/models.py:1241 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:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/models.py:1241 +#: common/models.py:1248 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:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "Ár újraszámítás ideje" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "nap" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/models.py:1266 +#: common/models.py:1273 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:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/models.py:1280 +#: common/models.py:1287 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:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "Teszt riportok engedélyezése" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "Teszt riportok hozzáadása" -#: common/models.py:1322 +#: common/models.py:1329 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:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/models.py:1329 +#: common/models.py:1336 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:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/models.py:1343 +#: common/models.py:1350 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:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1350 +#: common/models.py:1357 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:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1370 +#: common/models.py:1377 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:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1398 +#: common/models.py:1405 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:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1405 +#: common/models.py:1412 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:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1412 +#: common/models.py:1419 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:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1419 +#: common/models.py:1426 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:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1426 +#: common/models.py:1433 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:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1433 +#: common/models.py:1440 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:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1448 +#: common/models.py:1455 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:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1462 +#: common/models.py:1469 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:1468 +#: common/models.py:1475 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1476 +#: common/models.py:1483 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:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1483 +#: common/models.py:1490 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:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1490 +#: common/models.py:1497 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:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Ezekről a domain-ekről a regisztráció tiltása (vesszővel elválasztva, @-el kezdve)" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1504 +#: common/models.py:1511 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:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1518 +#: common/models.py:1525 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:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "Plugin aláírások ellenőrzése" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "Pluginok aláírásainak ellenőrzése és megjelenítése" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1534 +#: common/models.py:1541 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:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1558 +#: common/models.py:1565 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:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1566 +#: common/models.py:1573 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:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "Leltár funkció" + +#: common/models.py:1581 +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:1587 +msgid "Automatic Stocktake Period" +msgstr "Automatikus leltár időpontja" + +#: common/models.py:1588 +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:1597 +msgid "Delete Old Reports" +msgstr "Régi jelentések törlése" + +#: common/models.py:1598 +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:1615 common/models.py:1980 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:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1615 +#: common/models.py:1663 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:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "Legfrissebb alkatrész szám" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "Főoldalon megjelenítendő legújabb alkatrészek" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1636 +#: common/models.py:1684 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:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1643 +#: common/models.py:1691 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:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "Legfrissebb készlet mennyiség" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1671 +#: common/models.py:1719 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:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1699 +#: common/models.py:1747 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:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1727 +#: common/models.py:1775 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:1733 +#: common/models.py:1781 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1741 +#: common/models.py:1789 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:1747 +#: common/models.py:1795 +msgid "Default label printer" +msgstr "" + +#: common/models.py:1796 +msgid "Configure which label printer should be selected by default" +msgstr "" + +#: common/models.py:1802 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1748 +#: common/models.py:1803 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:1754 +#: common/models.py:1809 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1755 +#: common/models.py:1810 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1761 +#: common/models.py:1816 msgid "Seach Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:1762 +#: common/models.py:1817 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:1768 +#: common/models.py:1823 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:1769 +#: common/models.py:1824 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:1775 +#: common/models.py:1830 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1776 +#: common/models.py:1831 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:1782 +#: common/models.py:1837 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1783 +#: common/models.py:1838 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:1789 +#: common/models.py:1844 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1790 +#: common/models.py:1845 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:1796 +#: common/models.py:1851 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:1797 +#: common/models.py:1852 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:1803 +#: common/models.py:1858 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1804 +#: common/models.py:1859 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1810 +#: common/models.py:1865 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1811 +#: common/models.py:1866 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1817 +#: common/models.py:1872 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:1818 +#: common/models.py:1873 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:1824 +#: common/models.py:1879 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1825 +#: common/models.py:1880 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:1831 +#: common/models.py:1886 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:1832 +#: common/models.py:1887 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:1838 +#: common/models.py:1893 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:1839 +#: common/models.py:1894 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:1845 +#: common/models.py:1900 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:1846 +#: common/models.py:1901 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:1852 +#: common/models.py:1907 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:1853 +#: common/models.py:1908 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:1859 +#: common/models.py:1914 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:1860 +#: common/models.py:1915 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:1866 +#: common/models.py:1921 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:1867 +#: common/models.py:1922 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:1873 +#: common/models.py:1928 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:1874 +#: common/models.py:1929 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:1880 +#: common/models.py:1935 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:1903 -msgid "Display part stocktake information" -msgstr "Alkatrész leltározási információk megjelenítése" +#: common/models.py:1958 +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:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:1910 +#: common/models.py:1965 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:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "Ár" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "Aktív" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "Token" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "Titok" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "Fejléc" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "Törzs" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "Id" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "Cím" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "Közzétéve" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Szerző" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "Elolvasva" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "Elolvasva?" @@ -3016,7 +3066,7 @@ msgstr "Plugin hiba" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Fájl feltöltése" @@ -3024,7 +3074,7 @@ msgstr "Fájl feltöltése" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Mezők egyeztetése" @@ -3062,7 +3112,7 @@ msgstr "A cég leírása" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "Weboldal" @@ -3107,7 +3157,7 @@ msgstr "Kapcsolattartó" msgid "Link to external company information" msgstr "Link a külső céginformációhoz" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Kép" @@ -3139,229 +3189,219 @@ msgstr "gyártó-e" msgid "Does this company manufacture parts?" msgstr "Gyárt ez a cég alkatrészeket?" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "Pénznem" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "Kiindulási alkatrész" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "Válassz alkatrészt" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "Gyártó" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "Gyártó kiválasztása" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "MPN" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "Gyártói cikkszám" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "URL link a gyártói alkatrészhez" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "Gyártói alkatrész leírása" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "Gyártói alkatrész" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "Paraméter neve" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "Érték" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "Paraméter értéke" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "Mértékegységek" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "Paraméter mértékegység" - -#: company/models.py:456 -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:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "Beszállító" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "Beszállító kiválasztása" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "SKU" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "Beszállítói cikkszám" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "Gyártói alkatrész kiválasztása" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "URL link a beszállítói alkatrészhez" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "Beszállítói alkatrész leírása" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "Megjegyzés" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "alap költség" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "Minimális díj (pl. tárolási díj)" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "Csomagolás" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "Alkatrész csomagolás" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "Csomagolási mennyiség" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "Egy csomagban lévő mennyiség" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "többszörös" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "Többszörös rendelés" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "Elérhető" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "Beszállítónál elérhető mennyiség" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "Elérhetőség frissítve" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "Utolsó elérhetőségi adat frissítés" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "Beszállító által használt alapértelmezett pénznem" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "Pénznem kódja" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "Cég" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "Kiindulási alkatrész" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "Válassz alkatrészt" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "Gyártó" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "Gyártó kiválasztása" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "MPN" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "Gyártói cikkszám" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "URL link a gyártói alkatrészhez" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "Gyártói alkatrész leírása" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "Gyártói alkatrész" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "Paraméter neve" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "Érték" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "Paraméter értéke" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "Mértékegységek" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "Paraméter mértékegység" + +#: company/models.py:475 +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:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "Beszállító" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "Beszállító kiválasztása" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "SKU" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "Beszállítói cikkszám" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "Gyártói alkatrész kiválasztása" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "URL link a beszállítói alkatrészhez" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "Beszállítói alkatrész leírása" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "Megjegyzés" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "alap költség" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "Minimális díj (pl. tárolási díj)" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "Csomagolás" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "Alkatrész csomagolás" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "Csomagolási mennyiség" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "Egy csomagban lévő mennyiség" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "többszörös" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "Többszörös rendelés" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "Elérhető" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "Beszállítónál elérhető mennyiség" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "Elérhetőség frissítve" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "Utolsó elérhetőségi adat frissítés" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "Beszállító által használt alapértelmezett pénznem" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "Beszerzési rendelés létrehozása" @@ -3374,7 +3414,7 @@ msgid "Edit company information" msgstr "Cég adatainak szerkesztése" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "Cég szerkesztése" @@ -3402,14 +3442,14 @@ 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:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "Vevő" @@ -3422,7 +3462,7 @@ msgid "Phone" msgstr "Telefonszám" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "Kép eltávolítása" @@ -3431,19 +3471,19 @@ msgid "Remove associated image from this company" msgstr "Céghez rendelt kép eltávolítása" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Törlés" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "Kép feltöltése" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "Kép letöltése" @@ -3459,13 +3499,13 @@ msgstr "Új beszállítói alkatrész létrehozása" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Új beszállítói alkatrész" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "Alkatrész rendelés" @@ -3488,7 +3528,7 @@ msgstr "Gyártói alkatrészek" msgid "Create new manufacturer part" msgstr "Új gyártói alkatrész létrehozása" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Új gyártói alkatrész" @@ -3502,11 +3542,11 @@ msgstr "Beszállítói készlet" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "Beszerzési rendelések" @@ -3525,11 +3565,11 @@ msgstr "Új beszerzési rendelés" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "Vevői rendelések" @@ -3544,7 +3584,7 @@ msgid "New Sales Order" msgstr "Új vevői rendelés" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "Hozzárendelt készlet" @@ -3559,17 +3599,17 @@ msgstr "Gyártók" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Alkatrész rendelés" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "Gyártói alkatrész szerkesztése" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "Gyártói alkatrész törlése" @@ -3584,34 +3624,34 @@ msgstr "Nincs elérhető gyártói információ" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Beszállítók" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "Beszállítói alkatrész törlése" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "Törlés" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Paraméterek" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3622,7 +3662,7 @@ msgid "Delete parameters" msgstr "Paraméterek törlése" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Paraméter hozzáadása" @@ -3643,30 +3683,30 @@ msgid "Assigned Stock Items" msgstr "Hozzárendelt készlet tételek" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "Beszállítói alkatrész" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "Vonalkód műveletek" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "QR kód megjelenítése" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3675,7 +3715,7 @@ msgstr "Vonalkód leválasztása" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "Vonalkód hozzárendelése" @@ -3686,7 +3726,7 @@ msgstr "Beszállítói alkatrész műveletek" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Alkatrész rendelése" @@ -3697,13 +3737,13 @@ msgstr "Elérhetőség frissítése" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "Beszállítói alkatrész szerkesztése" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "Beszállítói alkatrész másolása" @@ -3718,7 +3758,7 @@ msgstr "Beszállítói alkatrész törlése" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "Vonalkód azonosító" @@ -3727,23 +3767,21 @@ msgid "No supplier information available" msgstr "Nincs elérhető beszállítói információ" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "Beszállítói készlet" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "Új készlet tétel létrehozása" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "Új készlet tétel" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "Beszállítói alkatrész rendelések" @@ -3752,58 +3790,40 @@ msgid "Pricing Information" msgstr "Árinformációk" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "Ársáv hozzáadása" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "Beszállítói alkatrész QR kód" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" -msgstr "Készlet" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" +msgstr "Készlet tételek" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "Rendelések" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "Beszállító alkatrész árazás" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "Árazás" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "Készlet tételek" - #: company/views.py:33 msgid "New Supplier" msgstr "Új beszállító" @@ -3829,10 +3849,6 @@ msgstr "Cégek" msgid "New Company" msgstr "Új cég" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "Készlet tétel QR kódja" - #: label/models.py:102 msgid "Label name" msgstr "Címke neve" @@ -3849,7 +3865,7 @@ msgstr "Címke" msgid "Label template file" msgstr "Címke sablon fájl" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "Engedélyezve" @@ -3873,7 +3889,7 @@ msgstr "Magasság [mm]" msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "Fájlnév minta" @@ -3886,7 +3902,7 @@ 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:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "Szűrők" @@ -3898,447 +3914,443 @@ msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "Ismeretlen" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "Rendelés leírása" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "Készítette" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "Rendelés jegyzetek" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "érkeztette" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "Várható beérkezés" -#: order/models.py:287 +#: order/models.py:286 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:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:332 +#: order/models.py:331 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:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:666 +#: order/models.py:670 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:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Cél dátum a rendelés teljesítéséhez. Ez után számít majd késettnek." -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "szállította" -#: order/models.py:747 +#: order/models.py:751 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:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "Csak függő rendelés jelölhető késznek" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 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:757 +#: order/models.py:761 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:935 +#: order/models.py:938 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:948 +#: order/models.py:951 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:966 +#: order/models.py:968 msgid "Context" msgstr "Kontextus" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "törölve" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "Rendelés" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1063 +#: order/models.py:1065 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:1129 +#: order/models.py:1131 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:1134 +#: order/models.py:1136 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:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "Szállítmány megjegyzései" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1407 +#: order/models.py:1409 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:1409 +#: order/models.py:1411 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:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 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:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "Sor" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "Tétel" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "Pénznem" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 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:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:357 +#: order/serializers.py:375 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:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "Egyedi azonosító mező" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:518 +#: order/serializers.py:511 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:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" @@ -4506,10 +4518,10 @@ msgstr "Kijelöltek másolása" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Sor törlése" @@ -4567,7 +4579,7 @@ msgstr "Beszerzési rendelés tételei" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "Sortétel hozzáadása" @@ -4613,12 +4625,12 @@ msgid "Print packing list" msgstr "Csomagolási lista nyomtatása" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "Függő szállítmányok kiszállítása" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "Vevői rendelés befejezése, minden kiszállítva" @@ -4627,7 +4639,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "Ehhez a vevői rendeléshez nincs minden alkatrész lefoglalva" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "Vevői azonosító" @@ -4637,10 +4649,6 @@ msgstr "Vevői azonosító" msgid "Completed Shipments" msgstr "Kész szállítmányok" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "Vevői rendelés szerkesztése" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Vevői rendelés tételek" @@ -4651,8 +4659,8 @@ msgid "Pending Shipments" msgstr "Függő szállítmányok" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "Műveletek" @@ -4682,174 +4690,175 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "Alkatrész neve" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "IPN" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "Változat" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Kulcsszavak" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "Kategória ID" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "Kategória neve" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "Alapértelmezett készlethely ID" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Minimális készlet" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "Készleten" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "Rendelve" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "Felhasználva ebben" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "Lefoglalva" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "Gyártásban" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "Maximum költség" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "Szülő ID" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "Szülő neve" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 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:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Alkatrészek" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "Alkatrészjegyzék szint" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "Alkatrészjegyzék tétel ID" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "Minimum ár" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "Maximum ár" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "Érvényes" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "Alapértelmezett hely" @@ -4858,810 +4867,918 @@ msgid "Total Stock" msgstr "Teljes készlet" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "Elérhető készlet" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "Szerkezeti" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz." - -#: part/models.py:128 -msgid "Default keywords" -msgstr "Alapértelmezett kulcsszavak" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "Ikon" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "Ikon (opcionális)" - -#: part/models.py:153 -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:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "Szerkezeti" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz." + +#: part/models.py:133 +msgid "Default keywords" +msgstr "Alapértelmezett kulcsszavak" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "Ikon" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "Ikon (opcionális)" + +#: part/models.py:158 +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:466 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, 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:641 +#: part/models.py:610 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:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrész beállításokban" -#: part/models.py:777 +#: part/models.py:746 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:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "Alkatrész leírása" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "Kategória" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "Lejárati idő (napban) ennek az alkatrésznek a készleteire" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "Gyártható-e ez az alkatrész más alkatrészekből?" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "Alkatrész megjegyzések" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "Felhasználó aki felelős ezért az alkatrészért" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "Tételszám" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "Egyedi készlet tételek száma a leltárkor" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "Dátum" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "Minimum készlet érték" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "Becsült minimum raktárkészlet érték" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "Maximum készlet érték" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "Becsült maximum raktárkészlet érték" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "Riport" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "Leltár riport fájl (generált)" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "Alkatrész szám" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "Leltározott alkatrészek száma" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "Felhasználó aki a leltár riportot kérte" + +#: part/models.py:3130 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:3096 +#: part/models.py:3147 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:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "Kötelező" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3135 +#: part/models.py:3186 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:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3141 +#: part/models.py:3192 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:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "Paraméter mértékegysége" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "Adat" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "Szint" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "Opcionális" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "Fogyóeszköz" -#: part/models.py:3436 +#: part/models.py:3498 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:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:3441 +#: part/models.py:3503 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:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "Örökölt" -#: part/models.py:3454 +#: part/models.py:3516 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:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:3460 +#: part/models.py:3522 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:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 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:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:3705 +#: part/models.py:3756 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:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "1.rész" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "2.rész" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:343 +#: part/serializers.py:326 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:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:359 +#: part/serializers.py:342 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:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "Kategória paraméterek másolása" + +#: part/serializers.py:624 +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:829 +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:835 +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:841 +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:846 +msgid "Generate Report" +msgstr "Riport létrehozása" + +#: part/serializers.py:847 +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:852 +msgid "Update Parts" +msgstr "Alaktrészek frissítése" + +#: part/serializers.py:853 +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:861 +msgid "Stocktake functionality is not enabled" +msgstr "Leltár funkció nincs engedélyezve" + +#: part/serializers.py:950 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1122 +#: part/serializers.py:1244 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:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1128 +#: part/serializers.py:1250 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:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1140 +#: part/serializers.py:1262 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:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1181 +#: part/serializers.py:1303 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:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "Alacsony készlet értesítés" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "Teljes mennyiség" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "Teljes költség min" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "Teljes költség max" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "Leltár riport rendelkezésre áll" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "Egy új leltár riport készen áll a letöltésre" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "Nincs jogosultságod az alkatrészjegyzék szerkesztéséhez." @@ -5681,7 +5798,7 @@ msgstr "A %(part)s alkatrészhez tartozó alkatrészjegyzéket utoljár msgid "The BOM for %(part)s has not been validated." msgstr "A %(part)s alkatrészhez tartozó alkatrészjegyzék még nincs jóváhagyva." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "Alkatrészjegyzék műveletek" @@ -5689,85 +5806,89 @@ msgstr "Alkatrészjegyzék műveletek" msgid "Delete Items" msgstr "Tételek törlése" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "Alkatrész kategória leltározása" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "Értesítések beállítva erre a kategóriára" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "Értesítések kérése erre a kategóriára" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "Kategória műveletek" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "Kategória szerkesztése" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "Kategória szerkesztése" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "Kategória törlése" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "Kategória törlése" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "Legfelső szintű alkatrész kategória" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alkategóriák" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "Alkatrészek száma (alkategóriákkal együtt)" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "Alkatrész létrehozása" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "Új alkatrész" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "Opciók" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "Kategória beállítása" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "Kategória beállítása" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "Címkék nyomtatása" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "Alkatrész paraméterek" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "Alkatrész kategória létrehozása" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "Új kategória" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "Alkatrész kategória létrehozása" @@ -5808,118 +5929,120 @@ msgstr "Ütemezési adatok frissítése" msgid "Refresh" msgstr "Frissítés" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "Leltár információ hozzáadása" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "Leltár" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "Alkatrész teszt sablonok" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "Teszt sablon hozzáadása" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "Vevői rendeléshez foglalások" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "Alkatrész megjegyzések" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "Alkatrész változatok" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "Új változat létrehozása" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "Új változat" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "Paraméter hozzáadása" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Kapcsolódó alkatrészek" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "Kapcsolódó hozzáadása" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Alkatrészjegyzék" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "Exportálási műveletek" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "Alkatrészjegyzék exportálása" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "Alkatrészjegyzék riport nyomtatása" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "Alkatrészjegyzék feltöltése" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "Alkatrészjegyzék jóváhagyása" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "Alkatrészjegyzék tétel hozzáadása" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "Gyártmányok" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "Alkatrész gyártások" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "Gyártáshoz foglalások" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "Alkatrész beszállítók" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "Alkatrész gyártók" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "Gyártói alkatrészek törlése" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "Kapcsolódó alkatrész" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "Kapcsolódó alkatrész hozzáadása" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "Teszt eredmény sablon hozzáadása" @@ -5954,13 +6077,13 @@ msgstr "Alkatrész import sablon letöltése" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "Formátum" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "Fájlfomátum kiválasztása" @@ -5982,7 +6105,7 @@ msgstr "Vonalkód leválasztása" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "Címke nyomtatása" @@ -5992,7 +6115,7 @@ msgstr "Árinformációk megjelenítése" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "Készlet műveletek" @@ -6050,15 +6173,15 @@ msgid "Part is virtual (not a physical part)" msgstr "Virtuális (nem kézzelfogható alkatrész)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "Inaktív" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "Alkatrész részletei" @@ -6068,16 +6191,16 @@ msgid "This part is a variant of %(link)s" msgstr "Ez az alkatrész egy változata a %(link)s alkatrésznek" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "Gyártáshoz lefoglalva" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "Vevő rendeléshez lefoglalva" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "Gyártható" @@ -6085,44 +6208,48 @@ msgstr "Gyártható" msgid "Minimum stock level" msgstr "Minimális készlet" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "Ártartomány" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "Legutolsó sorozatszám" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "Sorozatszámra keresés" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "Alkatrész QR kódja" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "Vonalkód hozzárendelése az alkatrészhez" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "Számítás" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "Alkatrészhez rendelt kép eltávolítása" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "Nincs egyező kép" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "Részletek elrejtése" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "Beszállítói ár" @@ -6137,6 +6264,7 @@ msgstr "Egység költség" #: 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:927 msgid "Total Cost" msgstr "Teljes költség" @@ -6177,11 +6305,27 @@ msgstr "Ütemezett mennyiség" msgid "Variants" msgstr "Változatok" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "Készlet" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "Árazás" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "Ütemezés" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "Teszt sablonok" @@ -6197,11 +6341,11 @@ msgstr "Ár áttekintés" msgid "Refresh Part Pricing" msgstr "Árazás frissítése" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -6264,8 +6408,8 @@ msgstr "Eladási ár" msgid "Add Sell Price Break" msgstr "Eladási ársáv hozzáadása" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "Nincs készlet" @@ -6328,32 +6472,28 @@ msgstr "Ismeretlen adatbázis" msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "Azonosítók egyeztetése" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "A(z) {name} alkatrész nem importálható, nincs kategória hozzárendelve" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "Alkatrész QR kódja" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "Válassz képet az alkatrészhez" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "Alkatrész képe frissítve" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "Az alkatrész képe nem található" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "Alkatrész árak" @@ -6504,16 +6644,16 @@ msgstr "Nincs szerző" msgid "No date found" msgstr "Nincs dátum" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "A {plg_name} plugin nem kompatibilis az aktuális applikáció verzióval {version.inventreeVersion()}!" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "A pluginhoz minimum {plg_i.MIN_VERSION} verzió kell" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "A pluginhoz maximum {plg_i.MAX_VERSION} verzió kell" @@ -6550,27 +6690,27 @@ msgstr "Választás beállításai" msgid "A setting with multiple choices" msgstr "Egy beállítás több választási lehetőséggel" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "Forrás URL" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Csomag forrása - ez lehet egy registry vagy VCS útvonal" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "Csomag neve" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Plugin csomag neve - verzió megjelölést is tartalmazhat" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "Bővítmény telepítésének megerősítése" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Ez telepíti ezt a plugint az aktuális példányra. A példány karbantartási módba megy." @@ -6611,71 +6751,71 @@ msgstr "Riport sablon leírása" msgid "Report revision number (auto-increments)" msgstr "Riport verziószáma (automatikusan nő)" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "Minta a riport fájlnevek előállításához" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "Riport sablon engedélyezve" -#: report/models.py:281 +#: report/models.py:280 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:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "Beépített tesztekkel együtt" -#: report/models.py:290 +#: report/models.py:289 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:337 +#: report/models.py:336 msgid "Build Filters" msgstr "Gyártás szűrők" -#: report/models.py:338 +#: report/models.py:337 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:377 +#: report/models.py:376 msgid "Part Filters" msgstr "Alkatrész szűrők" -#: report/models.py:378 +#: report/models.py:377 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:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "Megrendelés lekérdezés szűrők" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "Vevő rendelés lekérdezés szűrők" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "Részlet" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "Eszköz" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "Asset fájl leírása" @@ -6696,12 +6836,12 @@ msgid "Stock Item Test Report" msgstr "Készlet tétel teszt riport" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "Sorozatszám" @@ -6710,12 +6850,12 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "Teszt" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "Eredmény" @@ -6733,315 +6873,330 @@ msgid "Installed Items" msgstr "Beépített tételek" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "Sorozatszám" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "Hely ID" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "Hely neve" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "Hely elérési út" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "Készlet tétel ID" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "Beszállítói cikkszám" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "Beszállító ID" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "Beszállító neve" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "Vevő ID" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "Beépítve ebbe" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "Gyártás ID" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "Vevői rendelés ID" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "Vevői rendelés azonosító" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "Lejárati dátum" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "Tulajdonos" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "Tulajdonos kiválasztása" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." - -#: stock/models.py:158 -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:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "A alkatrész típus ('{pf}') {pe} kell legyen" - -#: stock/models.py:591 stock/models.py:600 -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:592 -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:614 -msgid "Item cannot belong to itself" -msgstr "A tétel nem tartozhat saját magához" - -#: stock/models.py:620 -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:634 -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:648 -msgid "Parent Stock Item" -msgstr "Szülő készlet tétel" - -#: stock/models.py:658 -msgid "Base part" -msgstr "Kiindulási alkatrész" - -#: stock/models.py:666 -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:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "Készlethelyek" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "Tulajdonos" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "Tulajdonos kiválasztása" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +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:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "A alkatrész típus ('{pf}') {pe} kell legyen" + +#: stock/models.py:603 stock/models.py:612 +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:604 +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:626 +msgid "Item cannot belong to itself" +msgstr "A tétel nem tartozhat saját magához" + +#: stock/models.py:632 +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:646 +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:660 +msgid "Parent Stock Item" +msgstr "Szülő készlet tétel" + +#: stock/models.py:670 +msgid "Base part" +msgstr "Kiindulási alkatrész" + +#: stock/models.py:678 +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:688 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:683 +#: stock/models.py:695 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:692 +#: stock/models.py:704 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:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:763 +#: stock/models.py:775 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:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Készlet tétel megjegyzések" -#: stock/models.py:799 +#: stock/models.py:811 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:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1329 +#: stock/models.py:1341 #, 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:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Ezek a sorozatszámok már léteznek: {exists}" -#: stock/models.py:1412 +#: stock/models.py:1424 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:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1442 +#: stock/models.py:1454 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:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1615 +#: stock/models.py:1627 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:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "Teszt neve" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "Tesztek megjegyzései" @@ -7049,128 +7204,128 @@ msgstr "Tesztek megjegyzései" msgid "Serial number is too large" msgstr "Szériaszám túl nagy" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "Beszerzési ára ennek a készlet tételnek" -#: stock/serializers.py:286 +#: stock/serializers.py:280 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:298 +#: stock/serializers.py:292 #, 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:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "Válassz alkatrészt amire konvertáljuk a készletet" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "Különböző állapotú készletek összevonásának engedélyezése" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -7207,7 +7362,7 @@ msgstr "Teszt adatok hozzáadása" msgid "Installed Stock Items" msgstr "Beépített készlet tételek" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" @@ -7215,7 +7370,7 @@ msgstr "Készlet tétel beépítése" msgid "Delete all test results for this stock item" msgstr "Készlet tétel összes teszt eredményének törlése" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" @@ -7228,7 +7383,7 @@ msgid "Scan to Location" msgstr "Áthelyezés kódolvasással" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "Nyomtatási műveletek" @@ -7237,7 +7392,7 @@ msgid "Stock adjustment actions" msgstr "Készlet módosítási műveletek" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "Leltározás" @@ -7254,7 +7409,7 @@ msgid "Serialize stock" msgstr "Sorozatszámok előállítása" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "Készlet áthelyezése" @@ -7298,125 +7453,129 @@ msgstr "Készlet tétel szerkesztése" msgid "Delete stock item" msgstr "Készlet tétel törlése" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "Szülő tétel" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "Nincs beállítva gyártó" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Úgytűnik nem vagy ennek a tételnek a tulajdonosa. Ezt így nem tudod módosítani." -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "Csak olvasható" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "Ez a készlet tétel éppen gyártás alatt van és itt még nem szerkeszthető." -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "A tétel szerkesztése most csak a gyártási nézetből lehetséges." -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "Ez a készlet tétel nem felelt meg az összes szükséges teszten" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "Foglalva ehhez a vevői rendeléshez" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "Foglalva ehhez a gyártási utasításhoz" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "Ez a készlet tétel egyedi követésre kötelezett - egyedi sorozatszámmal rendelkezik így a mennyiség nem módosítható." -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "előző oldal" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "Menj az előző sorozatszámhoz" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "követkető oldal" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "Menj a következő sorozatszámhoz" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "Elérhető mennyiség" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "Nincs beállítva hely" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "Tesztek" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "Lejárt" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejár %(item.expiry_date)s-n" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "Állott" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "Még nem volt leltározva" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "Készlet állapot szerkesztése" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "Készlet tétel QR kódja" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "Vonalkód hozzárendelése a készlet tételhez" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "Válassz a lenti alkatrész változatok közül" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "Figyelem" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "Ez a művelet nem vonható vissza könnyen" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "Készlet tétel konvertálása" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "Visszavétel készletre" @@ -7428,74 +7587,77 @@ msgstr "Sorszámozott készletek létrehozása ebből a készlet tételből." msgid "Select quantity to serialize, and unique serial numbers." msgstr "Válassz mennyiséget és egyedi sorozatszámokat a sorozatszámozáshoz." -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "Készlethely leltározása" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "Készlet hely keresése" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "Készlet bevételezése erre a helyre" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "Készlet vonalkódok beolvasása" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "Készlet tároló bevételezése erre a helyre" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "Tároló vonalkód beolvasása" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "Hely műveletek" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "Hely szerkesztése" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "Hely törlése" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "Legfelső szintű készlet hely" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "Hely tulajdonosa" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Úgytűnik nem vagy ennek a készlethelynek a tulajdonosa. Ezt így nem tudod módosítani." -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alhelyek" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "Készlethelyek" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "Új készlet hely létrehozása" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "Új hely" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "Készlet tároló bevételezve erre a helyre" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "Készlet hely QR kódja" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "Vonalkód hozzárendelése a készlet helyhez" @@ -7515,10 +7677,6 @@ msgstr "Foglalások" msgid "Child Items" msgstr "Gyermek tételek" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "Készlet hely QR kódja" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Hozzáférés megtagadva" @@ -7673,7 +7831,7 @@ msgid "Delete all read notifications" msgstr "Olvasott értesítések törlése" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "Értesítés törlése" @@ -7770,8 +7928,16 @@ msgstr "Alkatrész importálása" msgid "Part Parameter Templates" msgstr "Alkatrész paraméter sablonok" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "Leltár beállítások" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "Leltár riportok" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "Plugin beállítások" @@ -7780,7 +7946,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "Az alábbi beállítások módosításához a kiszolgáló azonnali újraindítása szükséges. Aktív használat közben ne változtass ezeken." #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "Pluginok" @@ -7815,7 +7981,7 @@ msgid "Stage" msgstr "Szakasz" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "Üzenet" @@ -7932,71 +8098,71 @@ msgstr "Nincsenek értékek" msgid "Edit setting" msgstr "Beállítások módosítása" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "Plugin beállítások módosítása" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "Értesítési beállítások szerkesztése" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "Általános beállítások szerkesztése" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "Felhasználói beállítások szerkesztése" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "Arány" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "Nincs kategória paraméter sablon" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "Sablon szerkesztése" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "Sablon törlése" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "Kategória paraméter sablon létrehozása" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "Kategória paraméter sablon törlése" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "Kategória paraméter sablon létrehozása" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "Nincs alkatrész paraméter sablon" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "Azonosító" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "Alkatrész paraméter sablon létrehozása" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "Alkatrész paraméter sablon módosítása" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "Az összes erre a sablonra hivatkozó paraméter is törlésre kerül" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "Alkatrész paraméter sablon törlése" @@ -8042,7 +8208,7 @@ msgstr "Általános beállítások" msgid "Server Configuration" msgstr "Kiszolgáló konfiguráció" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "Kategóriák" @@ -8515,11 +8681,11 @@ msgstr "Írd be az app által létrehozott tokent:" msgid "Verify" msgstr "Ellenőrzés" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "Link hozzáadása" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "Melléklet hozzáadása" @@ -8527,7 +8693,7 @@ msgstr "Melléklet hozzáadása" msgid "Delete selected attachments" msgstr "Kiválasztott mellékletek törlése" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "Mellékletek törlése" @@ -8574,7 +8740,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:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "Szükséges mennyiség" @@ -8588,7 +8754,7 @@ msgid "Click on the following link to view this part" msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "Minimum mennyiség" @@ -8596,11 +8762,11 @@ msgstr "Minimum mennyiség" msgid "Expand all rows" msgstr "Sorok kinyitása" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Nincs válasz" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "Nincs válasz az InvenTree kiszolgálótól" @@ -8612,27 +8778,27 @@ msgstr "Error 400: Rossz kérelem" msgid "API request returned error code 400" msgstr "Az API kérelem 400-as hibakódot adott vissza" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Error 401: Nincs hitelesítve" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "Hitelesítési adatok nem lettek megadva" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Error 403: Hozzáférés megtagadva" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Nincs meg a szükséges jogosultságod, hogy elérd ezt a funkciót" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Error 404: Erőforrás nem található" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "A kért erőforrás nem található a kiszolgálón" @@ -8644,11 +8810,11 @@ msgstr "Error 405: Metódus nincs engedélyezve" msgid "HTTP method not allowed at URL" msgstr "HTTP metódus nincs engedélyezve ezen az URL-n" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Error 408: Időtúllépés" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "Időtúllépés a kiszolgálótól való adatlekérés közben" @@ -8660,27 +8826,27 @@ msgstr "Nem kezelt hibakód" msgid "Error code" msgstr "Hiba kód" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "Az összes kijelölt melléklet törlésre kerül" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "Nem találhatók mellékletek" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "Melléklet szerkesztése" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "Feltöltés dátuma" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "Melléklet szerkesztése" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "Melléklet törlése" @@ -8717,7 +8883,7 @@ msgid "Unknown response from server" msgstr "Ismeretlen válasz a kiszolgálótól" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Érvénytelen válasz a szervertől" @@ -8741,7 +8907,7 @@ msgstr "Ez törli a vonalkód hozzárendelést" msgid "Unlink" msgstr "Leválasztás" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "Készlet tétel törlése" @@ -8811,10 +8977,10 @@ msgstr "Sor adatok mutatása" msgid "Row Data" msgstr "Sor adat" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Bezárás" @@ -8887,122 +9053,122 @@ msgstr "Ár adatokkal együtt" msgid "Include part pricing data in exported BOM" msgstr "Ár adatok megjelenítése az exportált alkatrészjegyzékben" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "Helyettesítő alkatrész törlése" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "Válassz és adj hozzá új helyettesítő alkatrészt a lenti mezőben" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "Biztosan törölni akarod ezt a helyettesítő alkatrész hozzárendelést?" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "Helyettesítő alkatrész törlése" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "Helyettesítő hozzáadása" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "Alkatrészjegyzék tétel helyettesítők szerkesztése" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "Az összes kijelölt alkatrészjegyzék tétel törlésre kerül" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "Töröljük a kiválasztott alkatrészjegyzék tételeket?" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "Alkatrészjegyzék betöltése az al-gyártmányhoz" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "Vannak helyettesítők" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "Helyettesítõk" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "Alkatrészjegyzék megtekintése" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "Alkatrészjegyzék árazása teljes" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "Alkatrészjegyzék árazása nem teljes" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "Nincsenek árak" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "Fogyóeszköz tétel" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "Alkatrészjegyzék tétel jóváhagyása" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "Ez a sor jóvá lett hagyva" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "Helyettesítő alkatrészek szerkesztése" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "Alkatrészjegyzék tétel szerkesztése" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "Alkatrészjegyzék tétel törlése" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "Szükséges alkatrész" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "Örökölve a szülő alkatrészjegyzéktől" @@ -9047,12 +9213,12 @@ msgid "Complete Build Order" msgstr "Gyártási utasítás befejezése" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "Következő szabad sorozatszám" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "Legutolsó sorozatszám" @@ -9100,323 +9266,323 @@ msgstr "Biztosan szeretnéd a már lefoglalt készlet tételeket felszabadítani msgid "Unallocate Stock Items" msgstr "Készlet tételek felszabadítása" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "Gyártási kimenetek kiválasztása" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "Legalább egy gyártási kimenetet ki kell választani" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "Kimenet" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "Gyártási kimenetek befejezése" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "Gyártási kimenetek törlése" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "Nincs gyártási utasításhoz történő foglalás" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "Hely nincs megadva" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "Nem található aktív gyártási kimenet" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "Lefoglalt készlet" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "Nincsenek követett alkatrészjegyzék tételek ehhez a gyártáshoz" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "Befejezett tesztek" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "Nincsenek szükséges tesztek ehhez a gyártáshoz" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "Foglalás szerkesztése" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "Foglalás törlése" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "Vannak helyettesítő alkatrészek" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "Szükséges/db" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "Nincs elegendő" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "Van elegendő" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "Gyártási készlet" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "Készlet rendelés" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "Lefoglalt készlet" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Kiválasztott alkatrészek" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "Legalább egy alkatrész választása szükséges a foglaláshoz" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "Minden alkatrész lefoglalva" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "Minden kiválasztott alkatrész teljesen lefoglalva" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "Készlet foglalása a gyártási utasításhoz" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "Nincs egyező készlethely" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "Nincs egyező készlet" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "Automatikus készlet foglalás" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "A készlet automatikusan lefoglalásra kerül ehhez a gyártási utasításhoz, a következő feltételek szerint" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Ha egy készlet hely meg van adva, akkor készlet csak arról a helyről lesz foglalva" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Ha a készlet helyettesíthetőnek minősül, akkor az első rendelkezésre álló helyről lesz lefoglalva" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Ha a helyettesítő készlet engedélyezve van, akkor ott az lesz használva ha az elsődleges alkatrésznek nincs készlete" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "Készlet tételek foglalása" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "Kiválaszt" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "Gyártás késésben van" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "Haladás" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "Nincs felhasználói információ" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "Nincs lefoglalt alkatrész ehhez" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "Gyártó hozzáadása" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "Gyártói alkatrész hozzáadása" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "Gyártói alkatrész szerkesztése" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "Beszállító hozzáadása" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "Beszállítói alkatrész hozzáadása" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "Az összes kiválasztott beszállítói alkatrész törölve lesz" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "Beszállítói alkatrészek törlése" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "Új cég hozzáadása" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "Beszállított alkatrészek" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "Gyártott alkatrészek" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "Nem található céginformáció" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "Az összes kijelölt gyártói alkatrész törlésre kerül" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "Gyártói alkatrészek törlése" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "Az összes kijelölt paraméter törlésre kerül" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "Paraméterek törlése" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "Nincs gyártói alkatrész" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "Sablon alkatrész" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "Gyártmány alkatrész" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "Nem található paraméter" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "Nincs beszállítói alkatrész" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "Elérhetőség" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "Beszállítói alkatrész szerkesztése" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "Beszállítói alkatrész törlése" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "Ársáv törlése" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "Ársáv szerkesztése" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "Nincs ársáv információ" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "Utoljára módosítva" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "Ársáv szerkesztése" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "Ársáv törlése" @@ -9483,32 +9649,32 @@ msgstr "Form nyitva tartása" msgid "Enter a valid number" msgstr "Adj meg egy érvényes számot" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Form hibák vannak" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "Nincs eredmény" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "Oszlopok kiválasztása" @@ -9520,7 +9686,7 @@ msgstr "IGEN" msgid "NO" msgstr "NEM" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "Megjegyzések frissítve" @@ -9529,7 +9695,7 @@ msgid "Labels sent to printer" msgstr "Címkék nyomtatónak elküldve" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "Készlet tételek kiválasztása" @@ -9574,70 +9740,70 @@ msgstr "Nyomtató kiválasztása" msgid "Export to PDF" msgstr "Exportálás PDF-be" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "kiválasztott készlet tételek" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "Címke sablon kiválasztása" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "Mégsem" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Küldés" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "Form megnevezése" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "Várakozás a kiszolgálóra..." -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "Hibainformációk megjelenítése" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "Elfogadás" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "Adatok betöltése" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "Rossz válasz a kiszolgálótól" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "Űrlap adat hiányzik a kiszolgálótól kapott válaszban" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "Form adat küldési hiba" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "JSON válasz hiányzó form adatok" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "Error 400: Rossz kérelem" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "A kiszolgáló 400-as hibakódot adott vissza" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "Form adat lekérése sikertelen" @@ -9671,759 +9837,758 @@ msgstr "Nem találhatók hírek" msgid "Age" msgstr "Életkor" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "Értesítés" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "Megjelölés olvasatlanként" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "Megjelölés olvasottként" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "Nincs olvasatlan értesítés" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "Az értesítések itt fognak megjelenni" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "Ehhez a szállítmányhoz nincs készlet hozzárendelve" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "A következő készlet tételek ki lesznek szállítva" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "Függő szállítmányok kiszállítása" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "Szállítmány megerősítése" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "Nincs függő szállítmány" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "A függő a szállítmányokhoz nincs készlet hozzárendelve" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "Kihagyás" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "Beszerzési rendelés befejezése" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "Rendelés befejezettnek jelölése?" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "Minden sortétel megérkezett" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem érkeztek be." -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "A rendelés befejezésével jelölésével annak adatai és sortételei a továbbiakban már nem lesznek szerkeszthetők." -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "Beszerzési rendelés törlése" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Biztosan törölni szeretnéd ezt a beszerzési rendelést?" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "Ezt a beszerzési rendelést nem lehet törölni" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "Beszerzési rendelés kiküldése" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "A beszerzési rendelés kiküldése után annak sortételei a továbbiakban már nem lesznek szerkeszthetők." -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem teljesítettek." -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "Vevő rendelés törlése" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "A rendelés törlésével annak adatai a továbbiakban már nem lesznek szerkeszthetők." -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "Szállítmány létrehozása" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "Vevő hozzáadása" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "Vevői rendelés létrehozása" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "Vevői rendelés szerkesztése" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "Válaszd ki a lemásolandó beszerzési rendelést" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "Sortételek másolása" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "Összes sortétel másolása a kiválasztott rendelésből" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "Egyéb tételek másolása" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "Összes egyéb tétel másolása a kiválasztott rendelésből" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "Beszerzési rendelés szerkesztése" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "Másolási opciók" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "Rendelés exportálása" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "Legalább egy beszerezhető alkatrészt ki kell választani" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "Rendelendő mennyiség" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "Új beszállítói alkatrész" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "Új beszerzési rendelés" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "Hozzáadás beszerzési rendeléshez" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "Nincsenek egyező beszállítói alkatrészek" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "Nincsenek egyező beszerzési rendelések" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "Sortételek kiválasztása" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "Legalább egy sortételt ki kell választani" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "Batch kód hozzáadása" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "Sorozatszám hozzáadása" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "Beérkezett mennyiség" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "Érkező mennyiség" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "Készlet állapota" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "Rendelési kód" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "Megrendelve" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "Érkező mennyiség" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "Bevételezés megerősítése" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "Beszerzési rendelés tételeinek bevételezése" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "Rendelés késésben" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "Tételek" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "Sortétel másolása" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "Sortétel törlése" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "Nem találhatók sortételek" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "Összesen" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "Teljes mennyiség" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "Egységár" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "Teljes ár" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "Sortétel bevételezése" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "Sortétel másolása" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "Sortétel törlése" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "Sor másolása" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "Sor törlése" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "Sor másolása" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "Sor törlése" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "Nincs egyező sor" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "Nem található vevői rendelés" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "Érvénytelen vevő" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "Szállítmány kiszállítása" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "Nincs egyező szállímány" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "Szállítmány azonosító" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "Nincs kiszállítva" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "Nyomkövetés" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "Számla" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "Szállítmány hozzáadása" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "Készlet foglalás megerősítése" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "Készlet foglalása a vevői rendeléshez" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "Nincs vevői rendeléshez történő foglalás" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "Törlési művelet megerősítése" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "Vevőnek kiszállítva" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "Készlethely nincs megadva" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "Készletrendelés" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "Árszámítás" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "Nem törölhető mivel a tételek ki lettek szállítva" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "Nem törölhető mivel tételek vannak lefoglalva" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "Egységár módosítása" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "Nincs egyező sortétel" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "Nincsenek egyező sorok" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "Alkatrész tulajdonságok" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "Alkatrész létrehozási opciók" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "Alkatrész másolási opciók" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "Alkatrész kategória hozzáadása" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "Kategória paraméterek másolása" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "Ikon (opcionális) - Az összes ikon felfedezése itt" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "Alkatrész kategória szerkesztése" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "Biztos hogy törölni szeretnéd ezt az alkatrész kategóriát?" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "Áthelyezés fentebbi kategóriába" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "Alkatrész kategória törlése" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "A kategóriában lévő alkatrészek kezelése" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "Alkategóriák kezelése" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "Alkatrész létrehozása" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "Új alkatrész létrehozása ez után" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "Alkatrész sikeresen létrehozva" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "Alkatrész módosítva" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "Alkatrész változat létrehozása" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "Aktív alkatrész" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "Alkatrész nem törölhető mivel még aktív" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "Ezen alkatrész törlése nem vonható vissza" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "Ennek az alkatrésznek a teljes készlete törölve lesz" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "Ez az alkatrész minden alkatrészjegyzékből törölve lesz" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Ehhez az alkatrészhez rendelt minden beszállítói és gyártói információ törölve lesz" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "Alkatrész törlése" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "Értesítések kérése erre a tételre" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "Értesítések letiltva erre a tételre" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "Az alkatrészjegyzék jóváhagyása minden sortételt jóvá fog hagyni" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "Alkatrészjegyzék jóváhagyása" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "Alkatrészjegyzék jóvá lett hagyva" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "Alkatrészjegyzék másolása" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "Alacsony készlet" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "Nincs szabad" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "Mértékegység" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "Virtuális alkatrész" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "Értesítésre beállított alkatrész" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "Értékesíthető alkatrész" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" -msgstr "A készlet tétel mostanában nem volt ellenőrizve" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "Új leltár riport ütemezése." + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "Amint elkészül, az új leltár riport letölthető lesz." + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" +msgstr "Leltár riport létrehozása" #: templates/js/translated/part.js:752 -msgid "Update item" -msgstr "Tétel frissítése" +msgid "Stocktake report scheduled" +msgstr "Leltár riport beütemezve" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "Tétel törlése" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "Nincs elérhető leltár előzmény" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "Leltár bejegyzés szerkesztése" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "Leltár bejegyzés törlése" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "Nincs több változat" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "Nincs alkatrész" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "Nincs kategória" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "Nincs készlet" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "Gyártáshoz lefoglalva" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "Vevő rendeléshez lefoglalva" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "Megjelenítés listaként" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "Megjelenítés rácsnézetként" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "Kategória beállítása a kiválasztott alkatrészekhez" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "Alkatrész kategória beállítása" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "Alkatrész kategória kiválasztása" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "Kategória megadása kötelező" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "Megjelenítés fában" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "Alkategóriák betöltése" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "Ez a teszt a szülő alkatrészhez lett felvéve" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "Nincs megadva dátum" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "A megadott dátum a múltban van" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "Spekulatív" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "Hiba az alkatrész ütemezési információinak betöltésekor" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "Minimum mennyiség" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "Minimális készlet" @@ -10435,49 +10600,49 @@ msgstr "A plugin telepítve lett" msgid "Error fetching currency data" msgstr "Pénznem adatok lekérdezése sikertelen" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "Nincs alkatrészjegyzék infomáció" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "Nincs beszállítói árinfomáció" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "Nincsenek ársáv adatok" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "${human_name} szerkesztése" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "${human_name} törlése" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "Nincsenek beszerzési ár előzmények" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "Beszerzési ár előzmények" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "Nincsenek eladási ár előzmények" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "Eladási ár előzmények" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "Nincs alkatrészváltozat infomáció" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "Alkatrészváltozat" @@ -10567,376 +10732,376 @@ msgstr "Készlet sorozatszámozás megerősítése" msgid "Parent stock location" msgstr "Felsőbb szintű készlet hely" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "Készlet hely szerkesztése" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "Új készlet hely" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "Biztosan törölni szeretnéd ezt a készlet helyet?" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "Szülő készlet helyre mozgatás" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "Készlethely törlése" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "Műveletek az ezen a helyen lévő tételekhez" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "Műveletek az al-helyekhez" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "Ezt az alkatrészt nem lehet sorozatszámozni" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "Készlet tétel lemásolva" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "Készlet tétel másolása" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "Biztosan törölni szeretnéd ezt a készlet tételt?" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "Készlet tétel törlése" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "Készlet tétel szerkesztése" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "Készlet tétel létrehozva" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "Több készlet tétel létre lett hozva" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "Sorozatszám keresése" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "Sorozatszám megadása" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "Adj meg egy sorozatszámot" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "Nincs egyező sorozatszám" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "Több egyező eredmény is van" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "Készlet hozzárendelés jóváhagyása" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "Készlet vevőhöz rendelése" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "Figyelem: az összevonási művelet nem vonható vissza" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "Némi információ elveszik a készlet összevonás során" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "A készlettörténet törölve lesz az összevont tételeknél" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "A beszállítói alkatrész információk törlődnek az összevont tételeknél" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "Készlet összevonás megerősítése" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "Készlet tételek összevonása" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "Készlet áthelyezése" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "Áthelyezés" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "Leltározás" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "Mennyiség" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "Készlet csökkentése" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "Kivesz" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "Készlet növelése" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "Hozzáad" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "Készlet törlése" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosítható" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "Készlet mennyiség megadása" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "Ki kell választanod legalább egy rendelkezésre álló készlet tételt" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "Készlet módosítás jóváhagyása" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "SIKER" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "SIKERTELEN" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "NINCS EREDMÉNY" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "Teszt sikeres" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "Teszt eredmény hozzáadása" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "Nincs teszt eredmény" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "Teszt dátuma" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "Gyártásban" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "Beépítve készlet tételbe" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "Vevő rendeléshez hozzárendelve" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "Nincs hely megadva" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "Készlet tétel gyártás alatt" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "Készlet tétel teljes egészében lefoglalva" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "Készlet tétel részben lefoglalva" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "Készlet tétel beépítve egy másikba" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "Készlet tétel lejárt" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "Készlet tétel hamarosan lejár" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "Készlet tétel elutasítva" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "Készlet tétel elveszett" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "Készlet tétel megsemmisült" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "Készlet állapot beállítása" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "Státuszkód kiválasztása" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "Státuszkódot ki kell választani" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "Alhelyek betöltése" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "Másik tétel beépítése ebbe a készlet tételbe" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "A készlet tétel jelenleg elérhető készleten" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "A készlet tétel még nem épült be egy másik tételbe" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" @@ -10961,12 +11126,12 @@ msgid "Allow Variant Stock" msgstr "Készlet változatok engedélyezése" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "Van árazás" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "Alhelyekkel együtt" @@ -10974,218 +11139,218 @@ msgstr "Alhelyekkel együtt" msgid "Include locations" msgstr "Helyekkel együtt" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "Alkategóriákkal együtt" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "Értesítés beállítva" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:250 msgid "Is Serialized" msgstr "Sorozatszámos" -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:257 msgid "Serial number GTE" msgstr "Sorozatszám >=" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:258 msgid "Serial number greater than or equal to" msgstr "Sorozatszám nagyobb vagy egyenlő mint" -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 msgid "Serial number LTE" msgstr "Sorozatszám <=" -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:262 msgid "Serial number less than or equal to" msgstr "Sorozatszám kisebb vagy egyenlő mint" -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "Sorozatszám" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "Batch kód" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "Aktív alkatrész" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "Aktív alkatrészek készletének megjelenítése" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "Az alkatrész egy gyártmány" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "Lefoglalt" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "Az tétel lefoglalásra került" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "Felhasználható készlet" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "Alhelyeken lévő készlettel együtt" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "Kimerült készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "Készleten lévő tételek megjelenítése" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "Gyártásban" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "Gyártásban lévő tételek megjelenítése" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "Változatokkal együtt" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "Alkatrészváltozatok készletével együtt" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "Beépítve" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "Másik tételbe beépült tételek mutatása" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "Készlet tételek melyek hozzá vannak rendelve egy vevőhöz" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "Készlet állapota" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "Van batch kódja" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "Követett" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "Követett készlet tétel sorozatszámmal vagy batch kóddal" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "Van beszerzési ára" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "Beszerzési árral rendelkező készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "Lejárat előtt" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "Lejárat után" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "Lejárt készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "Hamarosan lejáró készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "Teszten megfelelt" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "Beépített tételekkel együtt" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "Gyártási állapot" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "Hozzám rendelt" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "Rendelés állapota" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "Kintlévő" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "Alkategóriákkal együtt" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "Aktív alkatrészek megjelenítése" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "Elérhető" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "Van IPN-je" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "Van belső cikkszáma" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "Készleten" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "Beszerezhető" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "Volt leltár" @@ -11513,51 +11678,51 @@ msgstr "Felhasználók" msgid "Select which users are assigned to this group" msgstr "Válaszd ki mely felhasználók tartoznak ehhez a csoporthoz" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "A kövekező felhasználók több csoportnak is tagjai:" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "Személyes adatok" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "Jogosultságok" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "Fontos dátumok" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "Jogosultságok" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "Csoport" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "Nézet" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "Jogosultság tételek megtekintéséhez" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "Jogosultság tételek hozzáadásához" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "Módosítás" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "Jogosultság tételek szerkesztéséhez" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 4677b45eaf..060eea57de 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -29,23 +29,23 @@ msgstr "" msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Catatan" @@ -58,23 +58,23 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Masukkan sandi" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Masukkan kata sandi baru" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Konfirmasikan kata sandi" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Konfirmasi sandi baru" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Kata sandi lama" @@ -130,7 +130,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "URL yang diberikan bukan file gambar yang valid" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" @@ -170,23 +170,23 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "" @@ -194,350 +194,363 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "File tidak ditemukan" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Lampiran" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Komentar" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Pengguna" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "tanggal diunggah" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Nama file tidak boleh kosong" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Direktori lampiran tidak valid" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Nama file mengandung karakter yang tidak diperkenankan '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Nama file tidak memiliki ekstensi" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Lampiran dengan nama file ini sudah ada" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Kesalahan merubah nama file" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Nama" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Keterangan" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Keterangan (opsional)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "induk" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Direktori" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Data Barcode" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Data barcode pihak ketiga" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Barcode Hash" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Hash unik data barcode" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Sudah ada barcode yang sama" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Terjadi Kesalahan Server" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Nama File" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Nilai tidak valid" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "File data" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Pilih file untuk diunggah" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Jenis file tidak didukung" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Ukuran file terlalu besar" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Tidak ditemukan kolom dalam file" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Tidak ditemukan barisan data dalam file" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Tidak ada barisan data tersedia" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Tidak ada kolom data tersedia" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Kolom yang diperlukan kurang: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Kolom duplikat: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "URL file gambar external" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Ceko" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Denmark" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Jerman" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Yunani" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Inggris" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Spanyol (Meksiko)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Farsi / Persia" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Perancis" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Ibrani" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Hungaria" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Itali" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Jepang" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Korea" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Belanda" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norwegia" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polandia" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugis" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portugis (Brasil)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Rusia" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Swedia" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Thai" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Turki" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnam" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Cina" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "" @@ -579,8 +592,8 @@ msgstr "Hilang" msgid "Returned" msgstr "Dikembalikan" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Dikirim" @@ -664,7 +677,7 @@ msgstr "Dipisah dari item induk" msgid "Split child item" msgstr "Pisah item dari barang induk" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Stok item digabungkan" @@ -672,7 +685,7 @@ msgstr "Stok item digabungkan" msgid "Converted to variant" msgstr "Dikonversi ke variasi" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Terkirim ke pelanggan" @@ -721,27 +734,27 @@ msgstr "Kelebihan tidak boleh melebihi 100%" msgid "Invalid value for overage" msgstr "Nilai kelebihan tidak valid" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Ubah Informasi User" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Atur Kata Sandi" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Bidang kata sandi tidak cocok" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Kata sandi yang salah" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Informasi Sistem" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "Tentang InvenTree" @@ -749,44 +762,44 @@ msgstr "Tentang InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Pilihan produksi induk tidak valid" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Order Produksi" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Order Produksi" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Pilihan produksi induk tidak valid" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Referensi" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Bagian" @@ -855,8 +869,8 @@ msgstr "Referensi Order Penjualan" msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Lokasi Sumber" @@ -896,21 +910,21 @@ msgstr "Status pembuatan" msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Tanggal Pembuatan" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Target tanggal selesai" @@ -918,8 +932,8 @@ msgstr "Target tanggal selesai" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Tanggal selesai" @@ -927,7 +941,7 @@ msgstr "Tanggal selesai" msgid "completed by" msgstr "diselesaikan oleh" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Diserahkan oleh" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Penanggung Jawab" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Tautan eksternal" @@ -999,11 +1013,11 @@ msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "Item stok yang dipilih tidak ditemukan dalam daftar barang order" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Produksi" @@ -1025,18 +1039,18 @@ msgstr "Produksi" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Stok Item" @@ -1044,12 +1058,12 @@ msgstr "Stok Item" msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Sumber stok item" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Jumlah" @@ -1097,249 +1110,249 @@ msgstr "Pasang ke" msgid "Destination stock item" msgstr "Tujuan stok item" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "Hasil Produksi" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "Hasil produksi tidak sesuai dengan produksi induk" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "Hasil bagian tidak sesuai dengan bagian dalam order produksi" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "Hasil produksi ini sudah diselesaikan" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "Hasil produksi tidak dialokasikan sepenuhnya" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" -#: build/serializers.py:218 +#: build/serializers.py:219 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:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Nomor Seri" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "Alokasikan nomor seri secara otomatis" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Lokasi" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Status" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "Terima Alokasi Tidak Lengkap" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "Terima Tidak Teralokasikan" -#: build/serializers.py:531 +#: build/serializers.py:532 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:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" -#: build/serializers.py:547 +#: build/serializers.py:548 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:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Jumlah produksi yang diperlukan masih belum cukup" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "Item tagihan material" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "Hasil produksi" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" -#: build/serializers.py:655 +#: build/serializers.py:665 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:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak" -#: build/serializers.py:741 +#: build/serializers.py:742 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:746 +#: build/serializers.py:747 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:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" -#: build/serializers.py:825 +#: build/serializers.py:826 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:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "Lokasi tidak termasuk" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "Jangan ambil stok item dari lokasi yang dipilih" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "Stok bergantian" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "Stok pengganti" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "Izinkan alokasi bagian pengganti" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 70653b9131..f4b41da539 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-15 21:25\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:21\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -29,23 +29,23 @@ msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministra msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Note" @@ -58,23 +58,23 @@ msgstr "Il valore '{name}' non è nel formato del pattern" msgid "Provided value does not match required pattern: " msgstr "Il valore fornito non corrisponde al modello richiesto: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Inserire la password" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Inserire una nuova password" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Conferma la password" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Conferma la nuova password" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Vecchia password" @@ -130,7 +130,7 @@ msgstr "Il server remoto ha restituito una risposta vuota" msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" @@ -170,23 +170,23 @@ msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quant msgid "Remove HTML tags from this value" msgstr "Rimuovi i tag HTML da questo valore" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Schema formattato impropriamente" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Formato chiave sconosciuta" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Formato chiave mancante" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "Il campo di riferimento non può essere vuoto" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "Il campo deve corrispondere al modello richiesto" @@ -194,350 +194,363 @@ msgstr "Il campo deve corrispondere al modello richiesto" msgid "Reference number is too large" msgstr "Numero di riferimento troppo grande" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "File mancante" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Allegato" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link a URL esterno" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Commento" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Utente" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "data caricamento" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Il nome del file non deve essere vuoto" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Directory allegati non valida" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Il nome del file contiene caratteri non validi '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Nome file estensione mancante" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Esiste già un allegato con questo nome di file" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Errore nella rinominazione del file" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "genitore" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Percorso" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Dati del Codice a Barre" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Dati Codice a Barre applicazioni di terze parti" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Codice a Barre" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Codice univoco del codice a barre" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Trovato codice a barre esistente" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Errore del server" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "Valuta" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "Selezionare la valuta dalle opzioni disponibili" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Nome del file" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "File dati" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Seleziona un file per il caricamento" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Formato file non supportato" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "File troppo grande" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Nessun colonna trovata nel file" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Nessuna riga di dati trovata nel file" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Nessun dato fornito" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Nessuna colonna di dati fornita" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonna richiesta mancante: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "URL del file immagine remota" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Ceco" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Danese" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Tedesco" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Greco" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Inglese" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Spagnolo" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Spagnolo (Messicano)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Farsi / Persiano" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Francese" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Ebraico" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Ungherese" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Giapponese" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Olandese" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norvegese" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polacco" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portoghese" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portoghese (Brasile)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "Sloveno" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Svedese" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Thailandese" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Cinese" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "Controlli di sistema InvenTree falliti" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "In attesa" @@ -579,8 +592,8 @@ msgstr "Perso" msgid "Returned" msgstr "Reso" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Spedito" @@ -664,7 +677,7 @@ msgstr "Diviso dall'elemento genitore" msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Elemento stock raggruppato" @@ -672,7 +685,7 @@ msgstr "Elemento stock raggruppato" msgid "Converted to variant" msgstr "Convertito in variante" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Inviato al cliente" @@ -721,27 +734,27 @@ msgstr "L'eccesso non deve superare il 100%" msgid "Invalid value for overage" msgstr "Valore non valido per eccedenza" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Modifica informazioni utente" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Imposta Password" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Le password devono coincidere" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Password inserita non corretta" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Informazioni sistema" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "Informazioni Su InvenTree" @@ -749,44 +762,44 @@ msgstr "Informazioni Su InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Scelta non valida per la produzione genitore" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Ordini di Produzione" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Scelta non valida per la produzione genitore" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Riferimento" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Articolo" @@ -855,8 +869,8 @@ 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:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Posizione Di Origine" @@ -896,21 +910,21 @@ msgstr "Stato Produzione" msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Data completamento obiettivo" @@ -918,8 +932,8 @@ msgstr "Data completamento obiettivo" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Data di completamento" @@ -927,7 +941,7 @@ msgstr "Data di completamento" msgid "completed by" msgstr "Completato da" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Rilasciato da" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Responsabile" @@ -952,8 +966,8 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Collegamento esterno" @@ -999,11 +1013,11 @@ msgstr "L'elemento di compilazione deve specificare un output poiché la parte p 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:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "Articolo in giacenza selezionato non trovato nel BOM" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Produzione" @@ -1025,18 +1039,18 @@ msgstr "Produzione" msgid "Build to allocate parts" msgstr "Costruisci per allocare gli articoli" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Articoli in magazzino" @@ -1044,12 +1058,12 @@ msgstr "Articoli in magazzino" msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Origine giacenza articolo" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Quantità" @@ -1097,249 +1110,249 @@ msgstr "Installa in" msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "Genera Output" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "L'output generato non corrisponde alla produzione principale" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "L'output non corrisponde alle parti dell'ordine di produzione" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "Questa produzione è stata già completata" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "Questo output non è stato completamente assegnato" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "Quantità totale richiesta per articoli rintracciabili" -#: build/serializers.py:218 +#: build/serializers.py:219 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:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Codice Seriale" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "Numeri di Serie Assegnazione automatica" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 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:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Posizione" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Stato" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "Accetta Assegnazione Incompleta" -#: build/serializers.py:384 +#: build/serializers.py:385 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:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "Rimuovi Giacenze Allocate" -#: build/serializers.py:454 +#: build/serializers.py:455 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:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "Rimuovi Output Incompleti" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "Elimina gli output di produzione che non sono stati completati" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "Accetta come consumato da questo ordine di produzione" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "Non assegnare prima di aver completato questo ordine di produzione" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "Giacenza in eccesso assegnata" -#: build/serializers.py:515 +#: build/serializers.py:516 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:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "Accetta Non Assegnato" -#: build/serializers.py:531 +#: build/serializers.py:532 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:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "Accetta Incompleta" -#: build/serializers.py:547 +#: build/serializers.py:548 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:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "La quantità di produzione richiesta non è stata completata" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "Genera Output" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "L'output di produzione deve puntare alla stessa produzione" -#: build/serializers.py:655 +#: build/serializers.py:665 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:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:734 +#: build/serializers.py:735 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:741 +#: build/serializers.py:742 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:746 +#: build/serializers.py:747 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:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:825 +#: build/serializers.py:826 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:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "Escludi Ubicazione" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "Escludi gli elementi stock da questa ubicazione selezionata" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "Scorte Intercambiabili" -#: build/serializers.py:840 +#: build/serializers.py:841 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:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "Sostituisci Giacenze" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "Consenti l'allocazione delle parti sostitutive" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "Articoli Opzionali" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione" @@ -1426,13 +1439,13 @@ 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:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "Data scadenza" @@ -1445,29 +1458,29 @@ msgstr "Questa produzione era in scadenza il %(target)s" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "In ritardo" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Completato" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "Ordini di Vendita" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "Inviato da" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "Priorità" @@ -1498,8 +1511,8 @@ 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:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "Destinazione" @@ -1511,21 +1524,21 @@ msgstr "Posizione di destinazione non specificata" msgid "Allocated Parts" msgstr "Articoli Assegnati" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "Lotto" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "Creato" @@ -1545,7 +1558,7 @@ msgstr "Ordine di Produzione Subordinato" msgid "Allocate Stock to Build" msgstr "Assegna Scorte alla Produzione" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "Scorte Non Assegnate" @@ -1576,7 +1589,7 @@ msgstr "Ordina articoli richiesti" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "Ordine Articoli" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "Cancella l'output" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Azioni di stampa" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "Stampa etichette" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "Produzioni Completate" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Allegati" @@ -1666,7 +1681,7 @@ msgstr "Assegnazione Completa" msgid "All untracked stock items have been allocated" msgstr "Tutte le giacenze non tracciate sono state assegnate" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "Nuovo Ordine di Produzione" @@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} File" msgid "Select {name} file to upload" msgstr "Seleziona il file {name} da caricare" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "Aggiornato" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "Orario dell'ultimo aggiornamento" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole)" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "Valore impostazioni" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "Il valore specificato non è un opzione valida" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "Il valore deve essere un valore booleano" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "Il valore deve essere un intero" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "Nessun gruppo" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "Un dominio vuoto non è consentito." -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nome dominio non valido: {domain}" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/models.py:885 +#: common/models.py:892 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:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "Nome Istanza Del Server" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "Limita visualizzazione `Informazioni`" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "Mostra la modalità `Informazioni` solo ai superusers" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Nome azienda" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "URL Base" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "Selezionare la valuta di base per i calcoli dei prezzi" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/models.py:936 +#: common/models.py:943 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:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "Limite Dimensione Download" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "Dimensione massima consentita per il download dell'immagine remota" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "User-agent utilizzato per scaricare dall'URL" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "Richiesta conferma" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "Richiede una conferma esplicita dell'utente per una determinata azione." -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "Profondità livelli" -#: common/models.py:968 +#: common/models.py:975 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:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "Backup automatico" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "Abilita il backup automatico di database e file multimediali" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" -msgstr "Giorni tra il backup" +msgstr "Giorni tra i backup" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "Definisci i giorni intercorrenti tra un backup automatico e l'altro" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "Cancella le vecchie sessioni" -#: common/models.py:995 +#: common/models.py:1002 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:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "Elimina Log Degli Errori" -#: common/models.py:1006 +#: common/models.py:1013 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:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "Cancella Notifiche" -#: common/models.py:1017 +#: common/models.py:1024 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:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "Abilita supporto scanner codici a barre" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "Codice a barre inserito scaduto" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "Tempo di ritardo di elaborazione codice a barre" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "Codice a Barre Supporto Webcam" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "Consenti la scansione del codice a barre tramite webcam nel browser" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:1065 +#: common/models.py:1072 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:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:1072 +#: common/models.py:1079 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:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:1079 +#: common/models.py:1086 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:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "Copia I Dati dell'Articolo Test" -#: common/models.py:1086 +#: common/models.py:1093 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:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "Modello" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "Assemblaggio" -#: common/models.py:1107 +#: common/models.py:1114 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:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "Componente" -#: common/models.py:1114 +#: common/models.py:1121 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:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "Vendibile" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "Tracciabile" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "Dati iniziali dello stock" -#: common/models.py:1163 +#: common/models.py:1170 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:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" -#: common/models.py:1170 +#: common/models.py:1177 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:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "Icona predefinita Categoria Articolo" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "Prezzi Decimali" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "Numero di cifre decimali da visualizzare quando si visualizzano i dati dei prezzi" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/models.py:1202 +#: common/models.py:1209 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:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/models.py:1209 +#: common/models.py:1216 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:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/models.py:1216 +#: common/models.py:1223 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:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/models.py:1223 +#: common/models.py:1230 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:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/models.py:1241 +#: common/models.py:1248 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:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "Tempo di Riproduzione Prezzi" -#: common/models.py:1248 +#: common/models.py:1255 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:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "giorni" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/models.py:1266 +#: common/models.py:1273 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:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/models.py:1280 +#: common/models.py:1287 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:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "Abilita Rapporto di Prova" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "Allega Rapporto di Prova" -#: common/models.py:1322 +#: common/models.py:1329 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:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/models.py:1329 +#: common/models.py:1336 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:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina il comportamento predefinito quando un elemento stock è esaurito" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/models.py:1350 +#: common/models.py:1357 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:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/models.py:1370 +#: common/models.py:1377 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:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1385 +#: common/models.py:1392 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:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1419 +#: common/models.py:1426 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:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1433 +#: common/models.py:1440 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:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1462 +#: common/models.py:1469 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:1468 +#: common/models.py:1475 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1476 +#: common/models.py:1483 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:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:1483 +#: common/models.py:1490 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:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:1490 +#: common/models.py:1497 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:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Limita la registrazione a determinati domini (separati da virgola, che cominciano con @)" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:1504 +#: common/models.py:1511 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:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:1518 +#: common/models.py:1525 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:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "Controlla le firme del plugin" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "Controlla e mostra le firme per i plugin" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "Funzionalità Dell'Inventario" + +#: common/models.py:1581 +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:1587 +msgid "Automatic Stocktake Period" +msgstr "Inventario periodico automatico" + +#: common/models.py:1588 +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:1597 +msgid "Delete Old Reports" +msgstr "Cancella Vecchi Report" + +#: common/models.py:1598 +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:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "Conteggio Ultimi Articoli" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "Numero di articoli da visualizzare sulla pagina indice" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "Mostra distinta base non convalidata" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "Recente Conteggio Giacenze" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "Numero di giacenze recenti da visualizzare sulla pagina indice" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:1671 +#: common/models.py:1719 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:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1741 +#: common/models.py:1789 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:1747 +#: common/models.py:1795 +msgid "Default label printer" +msgstr "" + +#: common/models.py:1796 +msgid "Configure which label printer should be selected by default" +msgstr "" + +#: common/models.py:1802 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1748 +#: common/models.py:1803 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:1754 +#: common/models.py:1809 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:1755 +#: common/models.py:1810 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:1761 +#: common/models.py:1816 msgid "Seach Supplier Parts" msgstr "Trova Articoli del Fornitore" -#: common/models.py:1762 +#: common/models.py:1817 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:1768 +#: common/models.py:1823 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:1769 +#: common/models.py:1824 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:1775 +#: common/models.py:1830 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:1776 +#: common/models.py:1831 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:1782 +#: common/models.py:1837 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:1783 +#: common/models.py:1838 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:1789 +#: common/models.py:1844 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:1790 +#: common/models.py:1845 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:1796 +#: common/models.py:1851 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:1797 +#: common/models.py:1852 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:1803 +#: common/models.py:1858 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:1804 +#: common/models.py:1859 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:1810 +#: common/models.py:1865 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:1811 +#: common/models.py:1866 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:1817 +#: common/models.py:1872 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:1818 +#: common/models.py:1873 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:1824 +#: common/models.py:1879 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:1825 +#: common/models.py:1880 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:1831 +#: common/models.py:1886 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:1832 +#: common/models.py:1887 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:1838 +#: common/models.py:1893 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:1839 +#: common/models.py:1894 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:1845 +#: common/models.py:1900 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:1846 +#: common/models.py:1901 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:1852 +#: common/models.py:1907 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:1853 +#: common/models.py:1908 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:1859 +#: common/models.py:1914 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:1860 +#: common/models.py:1915 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:1866 +#: common/models.py:1921 msgid "Escape Key Closes Forms" -msgstr "Il tasto Escape chiude i moduli" +msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:1867 +#: common/models.py:1922 msgid "Use the escape key to close modal forms" -msgstr "Utilizzare il tasto di escape per chiudere i moduli modali" +msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:1873 +#: common/models.py:1928 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:1874 +#: common/models.py:1929 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:1880 +#: common/models.py:1935 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:1903 -msgid "Display part stocktake information" -msgstr "Mostra informazioni inventario prodotto" +#: common/models.py:1958 +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:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:1910 +#: common/models.py:1965 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:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "Prezzo" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "Attivo" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "Token" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "Segreto" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "Host" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "Intestazione" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "Contenuto" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "Id" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "Titolo" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "Pubblicato" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autore" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "Letto" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" @@ -3015,7 +3065,7 @@ msgstr "Errore generato dal plugin" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Carica file" @@ -3023,7 +3073,7 @@ msgstr "Carica file" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Abbina Campi" @@ -3061,7 +3111,7 @@ msgstr "Descrizione dell'azienda" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "Sito Web" @@ -3106,7 +3156,7 @@ msgstr "Punto di contatto" msgid "Link to external company information" msgstr "Collegamento alle informazioni aziendali esterne" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Immagine" @@ -3138,229 +3188,219 @@ msgstr "è un produttore" msgid "Does this company manufacture parts?" msgstr "Questa azienda produce articoli?" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "Valuta" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "Valuta predefinita utilizzata per questa azienda" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "Articolo di base" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "Seleziona articolo" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "Produttore" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "Seleziona Produttore" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "Codice articolo produttore (MPN)" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "Codice articolo produttore" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "URL dell'articolo del fornitore" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "Descrizione articolo costruttore" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "Codice articolo produttore" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "Nome parametro" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "Valore" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "Valore del parametro" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "Unità" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "Unità parametri" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "Fornitore" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "Seleziona fornitore" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "SKU" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "Unità di giacenza magazzino fornitore" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "Selezionare un produttore" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "URL dell'articolo del fornitore" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "Descrizione articolo fornitore" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "Nota" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "costo base" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "Onere minimo (ad esempio tassa di stoccaggio)" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "Confezionamento" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "Imballaggio del pezzo" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "Quantità Confezione" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "Quantità unitaria contenuta in una singola confezione" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "multiplo" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "Ordine multiplo" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "Disponibile" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "Quantità disponibile dal fornitore" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "Disponibilità Aggiornata" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "Valuta predefinita utilizzata per questo fornitore" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "Codice valuta" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "Azienda" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "Articolo di base" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "Seleziona articolo" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "Produttore" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "Seleziona Produttore" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "Codice articolo produttore (MPN)" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "Codice articolo produttore" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "URL dell'articolo del fornitore" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "Descrizione articolo costruttore" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "Codice articolo produttore" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "Nome parametro" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "Valore" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "Valore del parametro" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "Unità" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "Unità parametri" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "Fornitore" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "Seleziona fornitore" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "SKU" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "Unità di giacenza magazzino fornitore" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "Selezionare un produttore" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "URL dell'articolo del fornitore" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "Descrizione articolo fornitore" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "Nota" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "costo base" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "Onere minimo (ad esempio tassa di stoccaggio)" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "Confezionamento" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "Imballaggio del pezzo" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "Quantità Confezione" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "Quantità unitaria contenuta in una singola confezione" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "multiplo" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "Ordine multiplo" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "Disponibile" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "Quantità disponibile dal fornitore" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "Disponibilità Aggiornata" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "Valuta predefinita utilizzata per questo fornitore" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "Crea ordine d'acquisto" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "Modifica le informazioni dell'azienda" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "Modifica azienda" @@ -3401,14 +3441,14 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "Cliente" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "Telefono" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "Rimuovi immagine" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "Rimuovi l'immagine associata a questa azienda" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Rimuovi" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "Carica immagine" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "Download Immagine" @@ -3458,13 +3498,13 @@ msgstr "Crea nuovo fornitore" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Nuovo fornitore articolo" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "Articoli ordinati" @@ -3487,7 +3527,7 @@ msgstr "Articoli Produttore" msgid "Create new manufacturer part" msgstr "Crea nuovo articolo produttore" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nuovo Produttore Articoli" @@ -3501,11 +3541,11 @@ msgstr "Giacenza Fornitore" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "Ordine di acquisto" @@ -3524,11 +3564,11 @@ msgstr "Nuovo Ordine di Acquisto" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "Ordini di Vendita" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "Nuovo Ordine di Vendita" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "Assegna Giacenza" @@ -3558,17 +3598,17 @@ msgstr "Produttori" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Articoli ordinati" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "Modifica articolo produttore" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "Cancella articolo produttore" @@ -3583,34 +3623,34 @@ msgstr "Nessuna informazione sul produttore disponibile" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Fornitori" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "Elimina articolo fornitore" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "Elimina" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parametri" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "Elimina il parametro" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Aggiungi parametro" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "Elementi in Giacenza Impegnati" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "Articolo Fornitore" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "Azioni Barcode" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "Mostra QR Code" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "Scollega Codice a Barre" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "Collega Codice a Barre" @@ -3685,7 +3725,7 @@ msgstr "Azioni Articolo Fornitore" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Ordine Articolo" @@ -3696,13 +3736,13 @@ msgstr "Aggiorna Disponibilità" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "Modifica fornitore articolo" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "Duplica Articoli Fornitore" @@ -3717,7 +3757,7 @@ msgstr "Elimina Articolo Fornitore" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "Codice a Barre Identificativo" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "Nessuna informazione sul fornitore disponibile" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "Fornitore articolo in giacenza" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "Crea nuova allocazione magazzino" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "Ordini articoli fornitore" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "Informazioni Prezzi" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "Aggiungi riduzione prezzo" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "Codice Articolo Fornitore QR" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "Collega Codice a Barre con l'Articolo Fornitore" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Aggiorna Disponibilità Articolo" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" -msgstr "Magazzino" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" +msgstr "Articoli in magazzino" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "Ordini" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "Prezzo articolo del fornitore" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "Prezzi" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "Articoli in magazzino" - #: company/views.py:33 msgid "New Supplier" msgstr "Nuovo Fornitore" @@ -3828,10 +3848,6 @@ msgstr "Aziende" msgid "New Company" msgstr "Nuova Azienda" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "Stock Item QR Code" - #: label/models.py:102 msgid "Label name" msgstr "Nome etichetta" @@ -3848,7 +3864,7 @@ msgstr "Etichetta" msgid "Label template file" msgstr "File modello etichetta" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "Abilitato" @@ -3872,7 +3888,7 @@ msgstr "Altezza [mm]" msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "Formato del nome file" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori)," #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "Filtri" @@ -3897,447 +3913,443 @@ msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Articolo Filtri di ricerca (elenco separato da virgole key=coppia di valori)" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "Sconosciuto" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "Descrizione ordine" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "Creato Da" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "Note ordine" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "ricevuto da" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "Data di consegna programmata" -#: order/models.py:287 +#: order/models.py:286 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:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Data di completamento dell'ordine. Dopo tale data l'ordine sarà in ritardo." -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "spedito da" -#: order/models.py:747 +#: order/models.py:751 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:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "Solo un ordine in sospeso può essere contrassegnato come completato" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 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:757 +#: order/models.py:761 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:935 +#: order/models.py:938 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:948 +#: order/models.py:951 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:966 +#: order/models.py:968 msgid "Context" msgstr "Contesto" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "eliminato" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "Ordine" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "Ricevuto" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1129 +#: order/models.py:1131 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:1134 +#: order/models.py:1136 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:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "Note di spedizione" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1407 +#: order/models.py:1409 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:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "Linea" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "Elemento" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "Valuta prezzo" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "L'ordine non è aperto" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "Campo identificativo univoco" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "I seguenti numeri di serie sono già assegnati" @@ -4505,10 +4517,10 @@ msgstr "Duplica selezionati" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Elimina riga" @@ -4566,7 +4578,7 @@ msgstr "Elementi D'Ordine D'Acquisto" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "Aggiungi Elemento Riga" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "Stampa lista d'imballaggio" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "Spedizioni Completate" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "Completa Ordine Di Vendita" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "Questo Ordine di Vendita non è stato assegnato completamente" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "Riferimento Cliente" @@ -4636,10 +4648,6 @@ msgstr "Riferimento Cliente" msgid "Completed Shipments" msgstr "Spedizioni Completate" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "Modifica Ordine di Vendita" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Elementi Ordine di Vendita" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "Spedizione in sospeso" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "Azioni" @@ -4681,174 +4689,175 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "Nome Articolo" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "Revisione" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Parole Chiave" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "Id Categoria" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "Nome Categoria" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "Posizione Predefinita ID" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Scorta Minima" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "In magazzino" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "Ordinato" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "Utilizzato In" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "Allocato" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "In Costruzione" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "Costo Massimo" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "ID principale" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "Nome Principale" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Articoli" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "Livello Distinta Base" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "ID Elemento Distinta Base" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "IPN Articolo" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "Ordine D'Acquisto In Arrivo" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "Ordine di Vendita in Uscita" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "Giacenza prodotta dall'Ordine di Costruzione" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "Giacenza richiesta per l'Ordine di Produzione" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "Valido" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "Posizione Predefinita" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "Giacenze Totali" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "Disponibilità in magazzino" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "Posizione predefinita per gli articoli di questa categoria" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "Strutturale" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate." - -#: part/models.py:128 -msgid "Default keywords" -msgstr "Keywords predefinite" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "Parole chiave predefinite per gli articoli in questa categoria" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "Icona" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "Icona (facoltativa)" - -#: part/models.py:153 -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:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "Posizione predefinita per gli articoli di questa categoria" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "Strutturale" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate." + +#: part/models.py:133 +msgid "Default keywords" +msgstr "Keywords predefinite" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "Parole chiave predefinite per gli articoli in questa categoria" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "Icona" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "Icona (facoltativa)" + +#: part/models.py:158 +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:466 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, 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:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "È Template" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "Variante Di" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "Descrizione articolo" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "Categoria" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "Scadenza (in giorni) per gli articoli in giacenza di questo pezzo" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "È una parte virtuale, come un prodotto software o una licenza?" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "Note Articolo" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "Utente responsabile di questo articolo" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "Contatore Elemento" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "Numero di scorte individuali al momento dell'inventario" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "Data" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "Costo Minimo Scorta" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "Costo minimo stimato di magazzino a disposizione" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "Costo Massimo Scorte" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "Costo massimo stimato di magazzino a disposizione" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "Report" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "File Report Inventario (generato internamente)" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "Conteggio Articolo" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "Numero di articoli oggetto d'inventario" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "Utente che ha richiesto questo report inventario" + +#: part/models.py:3130 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:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "Una prova con questo nome esiste già per questo articolo" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "Richiesto" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3135 +#: part/models.py:3186 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:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3141 +#: part/models.py:3192 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:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "Unità Parametri" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "Dati" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "Livello" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "Opzionale" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "Consumabile" -#: part/models.py:3436 +#: part/models.py:3498 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:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "Ereditato" -#: part/models.py:3454 +#: part/models.py:3516 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:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:3460 +#: part/models.py:3522 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:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:3705 +#: part/models.py:3756 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:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:3763 +#: part/models.py:3814 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:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:343 +#: part/serializers.py:326 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:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "Copia Parametri Categoria" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "Copia i parametri dai modelli della categoria articolo selezionata" + +#: part/serializers.py:829 +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:835 +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:841 +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:846 +msgid "Generate Report" +msgstr "Genera Report" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "Genera file di report contenente dati di inventario calcolati" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "Aggiorna Articoli" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "La funzione Inventario non è abilitata" + +#: part/serializers.py:950 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "Notifica di magazzino bassa" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo configurato" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "Quantità Totale" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "Costo Minimo Totale" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "Costo Massimo Totale" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "Report Inventario Disponibile" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "Un nuovo report di inventario è disponibile per il download" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "Non hai il permesso di modificare la distinta base." @@ -5680,7 +5797,7 @@ msgstr "La distinta base per %(part)s è stato controllato da %(checker msgid "The BOM for %(part)s has not been validated." msgstr "La distinta base per %(part)s non è stata convalidata." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "Azioni Distinta Base" @@ -5688,85 +5805,89 @@ msgstr "Azioni Distinta Base" msgid "Delete Items" msgstr "Elimina Elementi" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "Esegui inventario per questa categoria articolo" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "Sei iscritto alle notifiche di questa categoria" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "Sottoscrivi notifiche per questa categoria" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "Azioni Categoria" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "Modifica categoria" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "Modifica Categoria" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "Elimina la categoria" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "Cancella categoria" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "Categoria articolo di livello superiore" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Sottocategorie" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "Articoli (incluse le sottocategorie)" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "Crea nuovo articolo" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "Nuovo articolo" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "Opzioni" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "Imposta categoria" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "Imposta Categoria" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "Stampa Etichette" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "Parametri articolo" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "Crea nuova categoria articoli" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "Nuova categoria" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "Crea Categoria Articolo" @@ -5807,118 +5928,120 @@ msgstr "Aggiorna i dati di pianificazione" msgid "Refresh" msgstr "Aggiorna" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "Aggiungi informazioni inventario" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "Inventario" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "Modelli Articoli Test" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "Aggiungi Modelli Test" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "Assegnazione Ordine Di Vendita" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "Note Articolo" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "Varianti articolo" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "Crea nuova variante" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "Nuova variante" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "Aggiungi un nuovo parametro" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Articoli correlati" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "Aggiungi Correlato" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Distinta base" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "Esporta azioni" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "Esporta Distinta Base" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "Stampa il report Distinta Base" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "Carica Distinta Base" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "Valida Distinta Base" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "Aggiungi elemento Distinta Base" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "Assembla" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "Articoli prodotti" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "Costruisci le ubicazioni degli ordini" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "Fornitori articoli" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "Componenti Produttori" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "Elimina articoli produttore" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "Articoli correlati" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "Aggiungi articolo correlato" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "Aggiungi risultato modello test" @@ -5953,13 +6076,13 @@ msgstr "Scarica il Modello Articolo Importato" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "Formato" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "Seleziona il formato del file" @@ -5981,7 +6104,7 @@ msgstr "Scollega Codice a Barre" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "Stampa Etichetta" @@ -5991,7 +6114,7 @@ msgstr "Mostra informazioni sui prezzi" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "Azioni magazzino" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "L'Articolo è virtuale (non è un articolo fisico)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "Inattivo" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "Mostra i Dettagli Articolo" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "Questo articolo è una variante di %(link)s" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "Assegnato agli Ordini di Produzione" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "Assegnato agli Ordini di Vendita" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "Puoi produrre" @@ -6084,44 +6207,48 @@ msgstr "Puoi produrre" msgid "Minimum stock level" msgstr "Livello minimo di giacenza" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "Fascia di Prezzo" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "Ultimo Numero Di Serie" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "Ricerca per numero seriale" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "QR Code Articolo" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "Collega il codice a barre all'Articolo" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "Calcola" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "Rimuovi l'immagine associata all'articolo" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "Nessuna immagine corrispondente trovata" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "Nascondi Dettagli dell'Articolo" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "Prezzo del Fornitore" @@ -6136,6 +6263,7 @@ msgstr "Costo Unitario" #: 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:927 msgid "Total Cost" msgstr "Costo Totale" @@ -6176,11 +6304,27 @@ msgstr "Quantità Programmata" msgid "Variants" msgstr "Varianti" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "Magazzino" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "Prezzi" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "Programmazione" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "Modelli test" @@ -6196,11 +6340,11 @@ msgstr "Panoramica prezzi" msgid "Refresh Part Pricing" msgstr "Aggiorna prezzo articolo" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -6263,8 +6407,8 @@ msgstr "Prezzo di Vendita" msgid "Add Sell Price Break" msgstr "Aggiungi Prezzo Ribassato di Vendita" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "Nessuna giacenza" @@ -6327,32 +6471,28 @@ msgstr "Database sconosciuto" msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "Riferimenti Corrispondenza" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "Impossibile importare l'articolo {name} perché non c'è nessuna categoria assegnata" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "QR Code Articolo" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "Seleziona l'immagine dell'Articolo" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "Immagine articolo aggiornata" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "Immagine articolo non trovata" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "Prezzo Articolo" @@ -6441,145 +6581,145 @@ msgstr "Questo URL è stato utilizzato per inviare messaggi a un canale rallenta #: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" -msgstr "" +msgstr "Apri collegamento" #: plugin/models.py:33 msgid "Plugin Metadata" -msgstr "" +msgstr "Metadati Plugin" #: plugin/models.py:34 msgid "JSON metadata field, for use by external plugins" -msgstr "" +msgstr "Campo di metadati JSON, da utilizzare con plugin esterni" #: plugin/models.py:80 msgid "Plugin Configuration" -msgstr "" +msgstr "Configurazione Plugin" #: plugin/models.py:81 msgid "Plugin Configurations" -msgstr "" +msgstr "Configurazioni Plugin" #: plugin/models.py:86 templates/InvenTree/settings/plugin.html:61 msgid "Key" -msgstr "" +msgstr "Key" #: plugin/models.py:87 msgid "Key of plugin" -msgstr "" +msgstr "Key dei plugin" #: plugin/models.py:95 msgid "PluginName of the plugin" -msgstr "" +msgstr "PluginName del plugin" #: plugin/models.py:101 msgid "Is the plugin active" -msgstr "" +msgstr "Il plugin è attivo" #: plugin/models.py:133 templates/InvenTree/settings/plugin_details.html:47 msgid "Unvailable" -msgstr "" +msgstr "Non disponibile" #: plugin/models.py:164 msgid "Sample plugin" -msgstr "" +msgstr "Plugin di esempio" #: plugin/models.py:173 msgid "Builtin Plugin" -msgstr "" +msgstr "Plugin Integrato" #: plugin/models.py:198 templates/InvenTree/settings/plugin_settings.html:10 msgid "Plugin" -msgstr "" +msgstr "Plugin" #: plugin/models.py:263 msgid "Method" -msgstr "" +msgstr "Metodo" #: plugin/plugin.py:257 msgid "No author found" -msgstr "" +msgstr "Nessun autore trovato" #: plugin/plugin.py:269 msgid "No date found" -msgstr "" +msgstr "Nessuna data trovata" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" -msgstr "" +msgstr "Il plugin `{plg_name}` non è compatibile con l'attuale versione di InvenTree {version.inventreeVersion()}!" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" -msgstr "" +msgstr "Il plugin richiede almeno la versione {plg_i.MIN_VERSION}" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" -msgstr "" +msgstr "Il plugin richiede al massimo la versione {plg_i.MAX_VERSION}" #: plugin/samples/integration/sample.py:39 msgid "Enable PO" -msgstr "" +msgstr "Abilita PO" #: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" -msgstr "" +msgstr "Abilita funzionalità PO nell'interfaccia InvenTree" #: plugin/samples/integration/sample.py:45 msgid "API Key" -msgstr "" +msgstr "API Key" #: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" -msgstr "" +msgstr "Key richiesta per accedere alle API esterne" #: plugin/samples/integration/sample.py:49 msgid "Numerical" -msgstr "" +msgstr "Numerico" #: plugin/samples/integration/sample.py:50 msgid "A numerical setting" -msgstr "" +msgstr "Un'impostazione numerica" #: plugin/samples/integration/sample.py:55 msgid "Choice Setting" -msgstr "" +msgstr "Scegli l'impostazione" #: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" -msgstr "" +msgstr "Un'impostazione con scelte multiple" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" -msgstr "" +msgstr "URL di origine" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" -msgstr "" +msgstr "Fonte per il pacchetto - questo può essere un registro personalizzato o un percorso VCS" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" -msgstr "" +msgstr "Nome Pacchetto" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" -msgstr "" +msgstr "Nome per il Pacchetto Plugin - può anche contenere un indicatore di versione" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" -msgstr "" +msgstr "Conferma installazione plugin" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." -msgstr "" +msgstr "Questo plugin verrà installato ora nell'istanza corrente. L'istanza andrà in manutenzione." #: plugin/serializers.py:103 msgid "Installation not confirmed" -msgstr "" +msgstr "Installazione non confermata" #: plugin/serializers.py:105 msgid "Either packagename of URL must be provided" -msgstr "" +msgstr "Deve essere fornito uno dei nomi del pacchetto URL" #: report/api.py:180 msgid "No valid objects provided to template" @@ -6588,93 +6728,93 @@ msgstr "Nessun oggetto valido fornito nel modello" #: report/api.py:216 report/api.py:252 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" -msgstr "" +msgstr "Il file del modello '{template}' è mancante o non esiste" #: report/api.py:355 msgid "Test report" -msgstr "" +msgstr "Report test" #: report/models.py:153 msgid "Template name" -msgstr "" +msgstr "Nome modello" #: report/models.py:159 msgid "Report template file" -msgstr "" +msgstr "File modello di report" #: report/models.py:166 msgid "Report template description" -msgstr "" +msgstr "Descrizione del modello report" #: report/models.py:172 msgid "Report revision number (auto-increments)" -msgstr "" +msgstr "Numero di revisione del rapporto (auto-incrementi)" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" -msgstr "" +msgstr "Sequenza per generare i nomi dei file report" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" -msgstr "" +msgstr "Modello report abilitato" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" -msgstr "" +msgstr "Filtri di ricerca elementi di stock (elenco separato da virgole key=coppia di valori)" + +#: report/models.py:288 +msgid "Include Installed Tests" +msgstr "Includi Test Installati" #: report/models.py:289 -msgid "Include Installed Tests" -msgstr "" - -#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" -msgstr "" +msgstr "Includi i risultati dei test per gli elementi stock installati all'interno dell'elemento assemblato" + +#: report/models.py:336 +msgid "Build Filters" +msgstr "Filtri di produzione" #: report/models.py:337 -msgid "Build Filters" -msgstr "" - -#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" -msgstr "" +msgstr "Filtri di ricerca produzione (elenco separato da virgole key=coppia di valori" + +#: report/models.py:376 +msgid "Part Filters" +msgstr "Filtri Articolo" #: report/models.py:377 -msgid "Part Filters" -msgstr "" - -#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" -msgstr "" +msgstr "Filtri di ricerca articolo (elenco separato da virgole key=coppia di valori" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "Ordine di Acquisto filtra la ricerca" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "Ordine di Vendita filtra la ricerca" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "Snippet" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "Risorsa" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "File risorsa descrizione" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "Test Report Elemento Stock" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "Numero Seriale" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "Risultati Test" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "Risultato" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "Elementi installati" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "Seriale" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "ID Posizione" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "Nome Ubicazione" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "Percorso Ubicazione" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "ID Elemento Stock" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "ID Articolo Fornitore" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "ID Fornitore" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "Nome Fornitore" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "Installato In" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "ID Costruttore" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "ID Ordine Vendita" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "ID Ordine D'acquisto" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "Data di Scadenza" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "Proprietario" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "Seleziona Owner" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." - -#: stock/models.py:158 -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:539 -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:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "Il tipo di articolo ('{pf}') deve essere {pe}" - -#: stock/models.py:591 stock/models.py:600 -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:592 -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:614 -msgid "Item cannot belong to itself" -msgstr "L'elemento non può appartenere a se stesso" - -#: stock/models.py:620 -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:634 -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:648 -msgid "Parent Stock Item" -msgstr "Elemento di magazzino principale" - -#: stock/models.py:658 -msgid "Base part" -msgstr "Articolo base" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "Posizioni magazzino" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "Proprietario" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "Seleziona Owner" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +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:551 +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:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "Il tipo di articolo ('{pf}') deve essere {pe}" + +#: stock/models.py:603 stock/models.py:612 +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:604 +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:626 +msgid "Item cannot belong to itself" +msgstr "L'elemento non può appartenere a se stesso" + +#: stock/models.py:632 +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:646 +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:660 +msgid "Parent Stock Item" +msgstr "Elemento di magazzino principale" + +#: stock/models.py:670 +msgid "Base part" +msgstr "Articolo base" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "Dove si trova questo articolo di magazzino?" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "Questo elemento è stato installato su un altro elemento?" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "Numero di serie per questo elemento" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "Genera Costruzione" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "Costruisci per questo elemento di magazzino" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "Origina Ordine di Acquisto" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "Ordine d'acquisto per questo articolo in magazzino" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "Destinazione Ordine di Vendita" -#: stock/models.py:763 +#: stock/models.py:775 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:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Note Elemento di magazzino" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "Prezzo di acquisto unitario al momento dell’acquisto" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "Convertito in articolo" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "L'articolo non è impostato come tracciabile" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "La quantità deve essere un numero intero" -#: stock/models.py:1329 +#: stock/models.py:1341 #, 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:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "I numeri di serie devono essere numeri interi" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Numeri di serie già esistenti: {exists}" -#: stock/models.py:1412 +#: stock/models.py:1424 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:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "L'elemento di magazzino è installato in un altro elemento" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "L'elemento di magazzino contiene altri elementi" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "L'elemento di magazzino è stato assegnato a un cliente" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "L'elemento di magazzino è attualmente in produzione" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "I codici di stato dello stock devono corrispondere" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "Nome Test" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "Note del test" @@ -7048,128 +7203,128 @@ msgstr "Note del test" msgid "Serial number is too large" msgstr "Il numero di serie è troppo grande" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "Prezzo di acquisto di questo elemento di magazzino" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "Inserisci il numero di elementi di magazzino da serializzare" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, 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:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "Inserisci i numeri di serie per i nuovi elementi" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "Note opzionali elemento" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "Numeri di serie non possono essere assegnati a questo articolo" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "Seleziona elementi di magazzino da installare" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "Elemento di magazzino non disponibile" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "L'articolo selezionato non è nella Fattura dei Materiali" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "Posizione di destinazione per gli elementi disinstallati" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "Aggiungi nota di transazione (opzionale)" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "L'articolo selezionato non è una valida opzione per la conversione" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "Posizione di destinazione per l'elemento restituito" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:933 +#: stock/serializers.py:914 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:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:939 +#: stock/serializers.py:920 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:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" @@ -7206,7 +7361,7 @@ msgstr "Aggiungi Dati Di Test" msgid "Installed Stock Items" msgstr "Elementi di magazzino installati" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "Installa Elemento Magazzino" @@ -7214,7 +7369,7 @@ msgstr "Installa Elemento Magazzino" msgid "Delete all test results for this stock item" msgstr "Elimina tutti i risultati del test per questo elemento di magazzino" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "Aggiungi Risultato Test" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "Scansiona nella posizione" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "Impostazioni di stampa" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "Azioni adeguamento giacenza" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "Conta giacenza" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "Serializza magazzino" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "Trasferisci giacenza" @@ -7297,242 +7452,245 @@ msgstr "Modifica elemento di magazzino" msgid "Delete stock item" msgstr "Cancella elemento di magazzino" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "Elemento principale" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "Nessun produttore impostato" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Non sei nell'elenco dei proprietari di questo elemento. Questo elemento di magazzino non può essere modificato." -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "Sola lettura" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "Questo elemento di magazzino è in produzione e non può essere modificato." -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "Modifica l'elemento di magazzino dalla visualizzazione generata." -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "Questo elemento di magazzino non ha superato i test richiesti" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "Questo elemento di magazzino è stato assegnato all'Ordine di Vendita" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "Questo elemento di magazzino è stato assegnato all'Ordine di Produzione" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "Questo elemento di magazzino è di serie - ha un numero di serie unico e la quantità non può essere regolata." -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "pagina precedente" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "Vai al numero di serie precedente" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "pagina successiva" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "Vai al numero di serie successivo" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" -msgstr "" +msgstr "Quantità Disponibile" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "Nessuna posizione impostata" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" -msgstr "" +msgstr "Test" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" -msgstr "" +msgstr "Questo Elemento Stock è scaduto il %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" -msgstr "" +msgstr "Scaduto" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" -msgstr "" +msgstr "Questo Elemento Stock scade il %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" -msgstr "" +msgstr "Obsoleto" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "Nessun inventario eseguito" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" -msgstr "" +msgstr "Modifica Stato Magazzino" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "Stock Item QR Code" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" -msgstr "" - -#: stock/templates/stock/item_base.html:603 -msgid "Select one of the part variants listed below." -msgstr "" +msgstr "Collega il codice a barre all'Elemento Stock" #: stock/templates/stock/item_base.html:606 +msgid "Select one of the part variants listed below." +msgstr "Selezionare una delle varianti dell'articolo elencate sotto." + +#: stock/templates/stock/item_base.html:609 msgid "Warning" -msgstr "" +msgstr "Attenzione" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" -msgstr "" +msgstr "Questa azione non può essere facilmente annullata" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" -msgstr "" +msgstr "Converti Elemento Stock" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" -msgstr "" +msgstr "Torna al Magazzino" #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." -msgstr "" +msgstr "Crea elementi serializzati da questo elemento di magazzino." #: stock/templates/stock/item_serialize.html:7 msgid "Select quantity to serialize, and unique serial numbers." -msgstr "" +msgstr "Seleziona la quantità da serializzare e i numeri di serie univoci." -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "Esegui inventario per questa ubicazione di magazzino" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" -msgstr "" +msgstr "Individua ubicazione di magazzino" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" -msgstr "" +msgstr "Scansiona gli elementi in magazzino in questa ubicazione" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" -msgstr "" +msgstr "Scansiona Elementi Stock" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" -msgstr "" +msgstr "Scansiona il contenitore magazzino in questa posizione" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" -msgstr "" +msgstr "Scansiona container" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "Azioni posizione" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "Modifica la posizione" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "Elimina la posizione" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "Posizione stock di livello superiore" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" -msgstr "" +msgstr "Proprietario Posizione" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Non sei nell'elenco dei proprietari di questa posizione. Questa posizione di giacenza non può essere modificata." -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "Posizioni magazzino" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "Crea nuova posizione di magazzino" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "Nuova Posizione" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" -msgstr "" +msgstr "Container magazzino scansionato in questa posizione" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "Codice QR Ubicazione Magazzino" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" -msgstr "" +msgstr "Collega il Codice a Barre alla Posizione Magazzino" #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." -msgstr "" +msgstr "Caricamento..." #: stock/templates/stock/stock_sidebar.html:5 msgid "Stock Tracking" -msgstr "" +msgstr "Rilevamento Stock" #: stock/templates/stock/stock_sidebar.html:8 msgid "Allocations" -msgstr "" +msgstr "Assegnazioni" #: stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" -msgstr "" - -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "QR Code della posizione magazzino" +msgstr "Elementi secondari" #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" -msgstr "" +msgstr "Permesso negato" #: templates/403.html:15 msgid "You do not have permission to view this page." -msgstr "" +msgstr "Non ha i permessi per visualizzare la pagina." #: templates/403_csrf.html:11 msgid "Authentication Failure" -msgstr "" +msgstr "Autenticazione Fallita" #: templates/403_csrf.html:14 msgid "You have been logged out from InvenTree." -msgstr "" +msgstr "Sei stato disconnesso da InvenTree." #: templates/403_csrf.html:19 templates/navbar.html:142 msgid "Login" @@ -7540,36 +7698,36 @@ msgstr "Accedi" #: templates/404.html:6 templates/404.html:12 msgid "Page Not Found" -msgstr "" +msgstr "Pagina Non Trovata" #: templates/404.html:15 msgid "The requested page does not exist" -msgstr "" +msgstr "La pagina richiesta non esiste" #: templates/500.html:6 templates/500.html:12 msgid "Internal Server Error" -msgstr "" +msgstr "Errore Interno del Server" #: templates/500.html:15 #, python-format msgid "The %(inventree_title)s server raised an internal error" -msgstr "" +msgstr "Il server %(inventree_title)s ha rilevato un errore interno" #: templates/500.html:16 msgid "Refer to the error log in the admin interface for further details" -msgstr "" +msgstr "Consultare il log degli errori nell'interfaccia di amministrazione per ulteriori dettagli" #: templates/503.html:11 templates/503.html:34 msgid "Site is in Maintenance" -msgstr "" +msgstr "Il sito è in manutenzione" #: templates/503.html:40 msgid "The site is currently in maintenance and should be up again soon!" -msgstr "" +msgstr "Il sito è attualmente in manutenzione e dovrebbe essere online presto!" #: templates/InvenTree/index.html:7 msgid "Index" -msgstr "" +msgstr "Indice" #: templates/InvenTree/index.html:88 msgid "Subscribed Parts" @@ -7585,27 +7743,27 @@ msgstr "Articoli Recenti" #: templates/InvenTree/index.html:119 msgid "BOM Waiting Validation" -msgstr "" +msgstr "Distinta base In Attesa Di Convalida" #: templates/InvenTree/index.html:145 msgid "Recently Updated" -msgstr "" +msgstr "Aggiornamento Recente" #: templates/InvenTree/index.html:168 msgid "Depleted Stock" -msgstr "" +msgstr "Stock esaurito" #: templates/InvenTree/index.html:178 msgid "Required for Build Orders" -msgstr "" +msgstr "Richiesto per gli Ordini di Produzione" #: templates/InvenTree/index.html:191 msgid "Expired Stock" -msgstr "" +msgstr "Stock Scaduto" #: templates/InvenTree/index.html:202 msgid "Stale Stock" -msgstr "" +msgstr "Stock obsoleto" #: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" @@ -7613,23 +7771,23 @@ msgstr "Ordini di Produzione Attivi" #: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" -msgstr "" +msgstr "Ordini Di Produzione Scaduti" #: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" -msgstr "" +msgstr "Ordini Di Acquisto In Corso" #: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" -msgstr "" +msgstr "Ordini Di Acquisto In Ritardo" #: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" -msgstr "" +msgstr "Ordini Di Vendita In Corso" #: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" -msgstr "" +msgstr "Ordini Di Vendita in ritardo" #: templates/InvenTree/index.html:312 msgid "InvenTree News" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "Elimina tutte le notifiche lette" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "Elimina notifica" @@ -7769,8 +7927,16 @@ msgstr "Importa Articolo" msgid "Part Parameter Templates" msgstr "Modelli parametro articolo" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "Impostazioni Inventario" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "Report Inventario" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "Impostazioni Plugin" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "Cambiando le impostazioni qui sotto, si richiede di riavviare immediatamente il server. Non cambiare le impostazioni durante l'utilizzo." #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "Plugin" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "Stage" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "Messaggio" @@ -7869,7 +8035,7 @@ msgstr "Questo è un plugin integrato che non può essere disabilitato" #: templates/InvenTree/settings/plugin_settings.html:107 msgid "Commit Author" -msgstr "" +msgstr "Autore Commit" #: templates/InvenTree/settings/plugin_settings.html:111 #: templates/about.html:36 @@ -7879,11 +8045,11 @@ msgstr "Data d'impegno" #: templates/InvenTree/settings/plugin_settings.html:115 #: templates/about.html:29 msgid "Commit Hash" -msgstr "" +msgstr "Commit Hash" #: templates/InvenTree/settings/plugin_settings.html:119 msgid "Commit Message" -msgstr "" +msgstr "Commit Messaggio" #: templates/InvenTree/settings/plugin_settings.html:127 msgid "Sign Status" @@ -7931,71 +8097,71 @@ msgstr "Nessun valore impostato" msgid "Edit setting" msgstr "Modifica impostazioni" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "Modifica Impostazioni Plugin" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "Modifica Impostazioni Notifica" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "Modifica Impostazioni Globali" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "Modifica Impostazioni Utente" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "Voto" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "Nessun parametro di categoria trovato" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "Modifica Template" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "Elimina Template" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "Crea Template Parametro Categoria" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "Elimina Modello Parametro Categoria" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "Crea Template Parametro Categoria" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "Nessun parametro dell'articolo templates trovato" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "ID" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "Crea Parametro Articolo Template" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "Modifica Parametro Articolo Template" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "Ogni parametro che fa riferimento a questo modello verrà eliminato" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "Elimina Parametro Articolo Template" @@ -8041,7 +8207,7 @@ msgstr "Impostazioni Globali" msgid "Server Configuration" msgstr "Configurazione Server" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "Categorie" @@ -8151,134 +8317,134 @@ msgstr "Statico" #: templates/InvenTree/settings/user.html:204 msgid "Multifactor authentication is not configured for your account" -msgstr "" +msgstr "L'autenticazione multifattore non è configurata per il tuo account" #: templates/InvenTree/settings/user.html:211 msgid "Change factors" -msgstr "" +msgstr "Cambia fattori" #: templates/InvenTree/settings/user.html:212 msgid "Setup multifactor" -msgstr "" +msgstr "Imposta multifattore" #: templates/InvenTree/settings/user.html:214 msgid "Remove multifactor" -msgstr "" +msgstr "Rimuovi multifattore" #: templates/InvenTree/settings/user.html:222 msgid "Active Sessions" -msgstr "" +msgstr "Sessioni Attive" #: templates/InvenTree/settings/user.html:228 msgid "Log out active sessions (except this one)" -msgstr "" +msgstr "Disconnetti le sessioni attive (tranne questa)" #: templates/InvenTree/settings/user.html:229 msgid "Log Out Active Sessions" -msgstr "" +msgstr "Disconnetti Sessioni Attive" #: templates/InvenTree/settings/user.html:238 msgid "unknown on unknown" -msgstr "" +msgstr "sconosciuto su sconosciuto" #: templates/InvenTree/settings/user.html:239 msgid "unknown" -msgstr "" +msgstr "sconosciuto" #: templates/InvenTree/settings/user.html:243 msgid "IP Address" -msgstr "" +msgstr "Indirizzo IP" #: templates/InvenTree/settings/user.html:244 msgid "Device" -msgstr "" +msgstr "Dispositivo" #: templates/InvenTree/settings/user.html:245 msgid "Last Activity" -msgstr "" +msgstr "Ultima attività" #: templates/InvenTree/settings/user.html:258 #, python-format msgid "%(time)s ago (this session)" -msgstr "" +msgstr "%(time)s fa (questa sessione)" #: templates/InvenTree/settings/user.html:260 #, python-format msgid "%(time)s ago" -msgstr "" +msgstr "%(time)s fa" #: templates/InvenTree/settings/user.html:272 msgid "Do you really want to remove the selected email address?" -msgstr "" +msgstr "Vuoi davvero rimuovere gli indirizzi email selezionati?" #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" -msgstr "" +msgstr "Impostazioni tema" #: templates/InvenTree/settings/user_display.html:39 msgid "Select theme" -msgstr "" +msgstr "Seleziona tema" #: templates/InvenTree/settings/user_display.html:50 msgid "Set Theme" -msgstr "" +msgstr "Imposta Tema" #: templates/InvenTree/settings/user_display.html:58 msgid "Language Settings" -msgstr "" +msgstr "Impostazioni Lingua" #: templates/InvenTree/settings/user_display.html:67 msgid "Select language" -msgstr "" +msgstr "Selezionare lingua" #: templates/InvenTree/settings/user_display.html:83 #, python-format msgid "%(lang_translated)s%% translated" -msgstr "" +msgstr "%(lang_translated)s%% tradotto" #: templates/InvenTree/settings/user_display.html:85 msgid "No translations available" -msgstr "" +msgstr "Nessuna traduzione disponibile" #: templates/InvenTree/settings/user_display.html:92 msgid "Set Language" -msgstr "" +msgstr "Imposta Lingua" #: templates/InvenTree/settings/user_display.html:95 msgid "Some languages are not complete" -msgstr "" +msgstr "Alcune lingue non sono complete" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficent" -msgstr "" +msgstr "Mostra solo sufficiente" #: templates/InvenTree/settings/user_display.html:99 msgid "and hidden." -msgstr "" +msgstr "e nascosto." #: templates/InvenTree/settings/user_display.html:99 msgid "Show them too" -msgstr "" +msgstr "Mostra anche loro" #: templates/InvenTree/settings/user_display.html:106 msgid "Help the translation efforts!" -msgstr "" +msgstr "Aiuta gli sforzi di traduzione!" #: templates/InvenTree/settings/user_display.html:107 msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged." -msgstr "" +msgstr "La traduzione in lingua nativa dell'applicazione web riceve contributi tramite community crowdin. I Contributi sono accolti favorevolmente e incoraggiati." #: templates/InvenTree/settings/user_display.html:108 msgid "InvenTree Translation Project" -msgstr "" +msgstr "InvenTree Progetto di Traduzione" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" -msgstr "" +msgstr "Impostazioni Home Page" #: templates/InvenTree/settings/user_notifications.html:9 msgid "Notification Settings" -msgstr "" +msgstr "Impostazioni Notifiche" #: templates/about.html:9 msgid "InvenTree Version" @@ -8286,7 +8452,7 @@ msgstr "Versione di InvenTree" #: templates/about.html:14 msgid "Development Version" -msgstr "" +msgstr "Versione di Sviluppo" #: templates/about.html:17 msgid "Up to Date" @@ -8294,7 +8460,7 @@ msgstr "Aggiornato" #: templates/about.html:19 msgid "Update Available" -msgstr "" +msgstr "Aggiornamento Disponibile" #: templates/about.html:42 msgid "InvenTree Documentation" @@ -8302,39 +8468,39 @@ msgstr "Documentazione InvenTree" #: templates/about.html:47 msgid "API Version" -msgstr "" +msgstr "Versione API" #: templates/about.html:52 msgid "Python Version" -msgstr "" +msgstr "Versione di Python" #: templates/about.html:57 msgid "Django Version" -msgstr "" +msgstr "Versione Django" #: templates/about.html:62 msgid "View Code on GitHub" -msgstr "" +msgstr "Visualizza codice sorgente su GitHub" #: templates/about.html:67 msgid "Credits" -msgstr "" +msgstr "Crediti" #: templates/about.html:72 msgid "Mobile App" -msgstr "" +msgstr "App Mobile" #: templates/about.html:77 msgid "Submit Bug Report" -msgstr "" +msgstr "Invia Segnalazione Bug" #: templates/about.html:84 templates/clip.html:4 msgid "copy to clipboard" -msgstr "" +msgstr "copia negli appunti" #: templates/about.html:84 msgid "copy version information" -msgstr "" +msgstr "copia informazioni versione" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:10 @@ -8344,7 +8510,7 @@ msgstr "Conferma l'indirizzo e-mail" #: templates/account/email_confirm.html:16 #, python-format msgid "Please confirm that %(email)s is an email address for user %(user_display)s." -msgstr "" +msgstr "Si prega di confermare che %(email)s è un indirizzo email per l'utente %(user_display)s." #: templates/account/email_confirm.html:22 templates/js/translated/forms.js:708 msgid "Confirm" @@ -8353,7 +8519,7 @@ msgstr "Conferma" #: templates/account/email_confirm.html:30 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." -msgstr "" +msgstr "Questo link di conferma email è scaduto o non è valido. Per favoreinoltra una nuova richiesta di conferma email." #: templates/account/login.html:6 templates/account/login.html:17 #: templates/account/login.html:38 templates/socialaccount/login.html:4 @@ -8362,7 +8528,7 @@ msgstr "Accedi" #: templates/account/login.html:21 msgid "Not a member?" -msgstr "" +msgstr "Non sei ancora iscritto?" #: templates/account/login.html:23 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 @@ -8376,7 +8542,7 @@ msgstr "Password dimenticata?" #: templates/account/login.html:53 msgid "or log in with" -msgstr "" +msgstr "o accedi con" #: templates/account/logout.html:5 templates/account/logout.html:8 #: templates/account/logout.html:20 @@ -8514,11 +8680,11 @@ msgstr "Inserisci un token generato dall'app:" msgid "Verify" msgstr "Verifica" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "Aggiungi Collegamento" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "Aggiungi allegato" @@ -8526,7 +8692,7 @@ msgstr "Aggiungi allegato" msgid "Delete selected attachments" msgstr "Elimina allegati selezionati" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "Elimina Allegati" @@ -8573,7 +8739,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:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "Quantità richiesta" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "Clicca il seguente link per visualizzare questo articolo" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "Quantità minima" @@ -8595,11 +8761,11 @@ msgstr "Quantità minima" msgid "Expand all rows" msgstr "Espandi tutte le righe" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Nessuna Risposta" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "Nessuna risposta dal server InvenTree" @@ -8611,27 +8777,27 @@ msgstr "Errore 400: Richiesta Errata" msgid "API request returned error code 400" msgstr "Richiesta API restituito codice di errore 400" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Errore 401: Non Autenticato" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "Credenziali di autenticazione non fornite" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Errore 403 - Permesso negato" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Non hai i permessi necessari per accedere a questa funzione" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Errore 404: Risorsa Non Trovata" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "La risorsa richiesta non può essere localizzata sul server" @@ -8643,11 +8809,11 @@ msgstr "Errore 405: Metodo Non Consentito" msgid "HTTP method not allowed at URL" msgstr "Metodo HTTP non consentito all'URL" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Errore 408: Timeout" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "Timeout connessione durante la richiesta di dati dal server" @@ -8659,111 +8825,111 @@ msgstr "Codice Di Errore Non Gestito" msgid "Error code" msgstr "Codice errore" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "Tutti gli allegati selezionati saranno eliminati" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "Allegati non trovati" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "Modifica allegato" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" -msgstr "" +msgstr "Data di Upload" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" -msgstr "" +msgstr "Modifica allegato" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" -msgstr "" +msgstr "Cancella allegato" #: templates/js/translated/barcode.js:33 msgid "Scan barcode data here using barcode scanner" -msgstr "" +msgstr "Scansiona il codice a barre usando uno scanner" #: templates/js/translated/barcode.js:35 msgid "Enter barcode data" -msgstr "" +msgstr "Inserire il codice a barre" #: templates/js/translated/barcode.js:42 msgid "Barcode" -msgstr "" +msgstr "Codice a Barre" #: templates/js/translated/barcode.js:49 msgid "Scan barcode using connected webcam" -msgstr "" +msgstr "Scansiona il codice a barre usando la webcam" #: templates/js/translated/barcode.js:126 msgid "Enter optional notes for stock transfer" -msgstr "" +msgstr "Inserire le note facoltative per il trasferimento delle scorte" #: templates/js/translated/barcode.js:127 msgid "Enter notes" -msgstr "" +msgstr "Inserire le note" #: templates/js/translated/barcode.js:173 msgid "Server error" -msgstr "" +msgstr "Problemi con il server" #: templates/js/translated/barcode.js:202 msgid "Unknown response from server" -msgstr "" +msgstr "Risposta sconosciuta dal server" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" -msgstr "" +msgstr "Risposta del server non valida" #: templates/js/translated/barcode.js:355 msgid "Scan barcode data" -msgstr "" +msgstr "Scansione del codice a barre" #: templates/js/translated/barcode.js:405 templates/navbar.html:109 msgid "Scan Barcode" -msgstr "" +msgstr "Scansiona codice a barre" #: templates/js/translated/barcode.js:417 msgid "No URL in response" -msgstr "" +msgstr "Nessuna risposta dall'URL" #: templates/js/translated/barcode.js:456 msgid "This will remove the link to the associated barcode" -msgstr "" +msgstr "Questo rimuoverà il collegamento al codice a barre associato" #: templates/js/translated/barcode.js:462 msgid "Unlink" -msgstr "" +msgstr "Scollega" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" -msgstr "" +msgstr "Rimuovere l'articolo in magazzino" #: templates/js/translated/barcode.js:567 msgid "Scan Stock Items Into Location" -msgstr "" +msgstr "Scansione articoli di magazzino in sede" #: templates/js/translated/barcode.js:569 msgid "Scan stock item barcode to check in to this location" -msgstr "" +msgstr "Scansione del codice a barre dell'articolo di magazzino per effettuare il check-in in questa sede" #: templates/js/translated/barcode.js:572 #: templates/js/translated/barcode.js:764 msgid "Check In" -msgstr "" +msgstr "Check In" #: templates/js/translated/barcode.js:603 msgid "No barcode provided" -msgstr "" +msgstr "Non c'è un codice a barre" #: templates/js/translated/barcode.js:643 msgid "Stock Item already scanned" -msgstr "" +msgstr "Articolo di magazzino già scansionato" #: templates/js/translated/barcode.js:647 msgid "Stock Item already in this location" @@ -8771,23 +8937,23 @@ msgstr "Elemento in giacenza già in questa posizione" #: templates/js/translated/barcode.js:654 msgid "Added stock item" -msgstr "" +msgstr "Aggiunta di un articolo di magazzino" #: templates/js/translated/barcode.js:663 msgid "Barcode does not match valid stock item" -msgstr "" +msgstr "Il codice a barre non corrisponde a un articolo di magazzino valido" #: templates/js/translated/barcode.js:680 msgid "Scan Stock Container Into Location" -msgstr "" +msgstr "Scansione delle scorte contenute in sede" #: templates/js/translated/barcode.js:682 msgid "Scan stock container barcode to check in to this location" -msgstr "" +msgstr "Scansionare il codice a barre di scorta contenuta per effettuare il check-in in questa sede" #: templates/js/translated/barcode.js:716 msgid "Barcode does not match valid stock location" -msgstr "" +msgstr "Il codice a barre non corrisponde a una posizione di magazzino valida" #: templates/js/translated/barcode.js:759 msgid "Check Into Location" @@ -8800,208 +8966,208 @@ msgstr "Il codice a barre non corrisponde a una posizione valida" #: templates/js/translated/bom.js:47 msgid "Create BOM Item" -msgstr "" +msgstr "Creare un elemento della distinta base" #: templates/js/translated/bom.js:101 msgid "Display row data" -msgstr "" +msgstr "Visualizzare i dati" #: templates/js/translated/bom.js:157 msgid "Row Data" -msgstr "" +msgstr "Dati" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Chiudi" #: templates/js/translated/bom.js:275 msgid "Download BOM Template" -msgstr "" +msgstr "Scarica il modello di distinta base" #: templates/js/translated/bom.js:320 msgid "Multi Level BOM" -msgstr "" +msgstr "Distinta base multilivello" #: templates/js/translated/bom.js:321 msgid "Include BOM data for subassemblies" -msgstr "" +msgstr "Includere i dati della distinta base per i sottoassiemi" #: templates/js/translated/bom.js:326 msgid "Levels" -msgstr "" +msgstr "Livelli" #: templates/js/translated/bom.js:327 msgid "Select maximum number of BOM levels to export (0 = all levels)" -msgstr "" +msgstr "Selezionare il numero massimo di livelli di distinta base da esportare (0 = tutti i livelli)" #: templates/js/translated/bom.js:334 msgid "Include Alternative Parts" -msgstr "" +msgstr "Includere Articoli Alternativi" #: templates/js/translated/bom.js:335 msgid "Include alternative parts in exported BOM" -msgstr "" +msgstr "Includere articoli alternativi nella distinta base esportata" #: templates/js/translated/bom.js:340 msgid "Include Parameter Data" -msgstr "" +msgstr "Includere i dati dei parametri" #: templates/js/translated/bom.js:341 msgid "Include part parameter data in exported BOM" -msgstr "" +msgstr "Includere i dati dei parametri degli articoli nella distinta base esportata" #: templates/js/translated/bom.js:346 msgid "Include Stock Data" -msgstr "" +msgstr "Includere i dati delle scorte" #: templates/js/translated/bom.js:347 msgid "Include part stock data in exported BOM" -msgstr "" +msgstr "Includere i dati delle scorte dei pezzi nella distinta base esportata" #: templates/js/translated/bom.js:352 msgid "Include Manufacturer Data" -msgstr "" +msgstr "Includere i dati del produttore" #: templates/js/translated/bom.js:353 msgid "Include part manufacturer data in exported BOM" -msgstr "" +msgstr "Includere i dati del produttore delle parti nella distinta base esportata" #: templates/js/translated/bom.js:358 msgid "Include Supplier Data" -msgstr "" +msgstr "Includere i dati dei fornitori" #: templates/js/translated/bom.js:359 msgid "Include part supplier data in exported BOM" -msgstr "" +msgstr "Includere i dati del fornitore di parti nella distinta base esportata" #: templates/js/translated/bom.js:364 msgid "Include Pricing Data" -msgstr "" +msgstr "Includere i prezzi" #: templates/js/translated/bom.js:365 msgid "Include part pricing data in exported BOM" -msgstr "" +msgstr "Includere i prezzi delle parti nella distinta base esportata" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" -msgstr "" +msgstr "Rimuovi articolo sostitutivo" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" -msgstr "" +msgstr "Seleziona e aggiungi un nuovo articolo sostitutivo utilizzando l'input qui sotto" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "Sei sicuro di voler rimuovere questo collegamento all' articolo sostitutivo?" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "Rimuovi Articolo Sostitutivo" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "Aggiungi Sostitutivo" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "Modifica Elementi Sostitutivi Distinta Base" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "Tutti gli elementi selezionati della Distinta Base saranno eliminati" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "Elimina gli Elementi selezionati della Distinta Base?" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "Carica la Distinta Base per il sotto assemblaggio" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "Sostituti Disponibili" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "Variante stock consentita" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "Sostituti" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "Visualizza Distinta Base" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "I prezzi Distinta Base sono completi" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "I prezzi Distinta Base sono incompleti" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "Nessun prezzo disponibile" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "Nessuna Scorta Disponibile" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "Include variante e scorte sostitutive" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "Comprende varianti magazzino" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "Comprende le scorte sostitutive" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "Elementi consumabili" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "Convalida elemento Distinta Base" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "Questa linea è stata convalidata" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "Modifica articoli sostitutivi" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "Modifica elemento Distinta Base" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "Cancella elemento Distinta Base" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "Nessun elemento trovato in Distinta Base" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "Articolo richiesto" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "Ereditato dalla Distinta Base principale" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "Completa l'Ordine di Produzione" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "Il prossimo numero di serie disponibile è" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "Ultimo Numero Di Serie" @@ -9099,323 +9265,323 @@ msgstr "Sei sicuro di voler annullare l'allocazione degli elementi stock da ques msgid "Unallocate Stock Items" msgstr "Non assegnare Elementi Stock" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "Seleziona Output di produzione" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" -msgstr "" +msgstr "Almeno un output di produzione deve essere selezionato" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" -msgstr "" +msgstr "Output" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" -msgstr "" +msgstr "Completa l'output di produzione" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" -msgstr "" +msgstr "Cancella l'output di produzione" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" -msgstr "" +msgstr "Nessuna allocazione per l'ordine di produzione trovato" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "Posizione non specificata" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" -msgstr "" +msgstr "Nessun output di produzione attivo trovato" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" -msgstr "" +msgstr "Scorte Assegnate" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" -msgstr "" +msgstr "Nessun elemento Distinta Base tracciato per questa produzione" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" -msgstr "" +msgstr "Test Completati" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" -msgstr "" +msgstr "Nessun test richiesto per questa produzione" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "Modifica allocazione magazzino" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "Elimina posizione giacenza" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "Modifica Posizione" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "Rimuovi Posizione" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" -msgstr "" +msgstr "Articoli sostitutivi disponibili" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" -msgstr "" +msgstr "Quantità Per" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" -msgstr "" +msgstr "Scorte insufficienti disponibili" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" -msgstr "" +msgstr "Scorte sufficienti disponibili" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" -msgstr "" +msgstr "Produci scorta" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" -msgstr "" +msgstr "Ordina scorta" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" -msgstr "" +msgstr "Assegna scorta" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Seleziona Articoli" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" -msgstr "" +msgstr "È necessario selezionare almeno un articolo da assegnare" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "Specificare il quantitativo assegnato allo stock" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" -msgstr "" +msgstr "Tutti gli articoli assegnati" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" -msgstr "" +msgstr "Tutti gli articoli selezionati sono stati completamente assegnati" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "Seleziona la posizione di origine (lascia vuoto per prendere da tutte le posizioni)" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" -msgstr "" +msgstr "Assegna gli Elementi Stock all'Ordine di Produzione" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "Nessuna posizione di magazzino corrispondente" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" -msgstr "" +msgstr "Nessun elemento corrispondente trovato" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" -msgstr "" - -#: templates/js/translated/build.js:2403 -msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" -msgstr "" +msgstr "Assegna Automaticamente Scorte" #: templates/js/translated/build.js:2405 -msgid "If a location is specified, stock will only be allocated from that location" -msgstr "" - -#: templates/js/translated/build.js:2406 -msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" -msgstr "" +msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" +msgstr "Gli elementi in magazzino saranno automaticamente assegnati a questo ordine di produzione, secondo le linee guida fornite" #: templates/js/translated/build.js:2407 +msgid "If a location is specified, stock will only be allocated from that location" +msgstr "Se viene specificata una posizione, le scorte saranno assegnate solo da quella ubicazione" + +#: templates/js/translated/build.js:2408 +msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" +msgstr "Se lo stock è considerato intercambiabile, sarà assegnato dal primo luogo in cui viene trovato" + +#: templates/js/translated/build.js:2409 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" -msgstr "" +msgstr "Se lo stock sostitutivo è ammesso, sarà utilizzato nel caso in cui lo stock dell'articolo primario non possa essere trovato" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" -msgstr "" +msgstr "Assegna Elementi di Magazzino" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" -msgstr "" +msgstr "Nessuna produzione corrispondente alla ricerca" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" -msgstr "" +msgstr "Seleziona" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" -msgstr "" +msgstr "L'ordine di produzione è in ritardo" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" -msgstr "" +msgstr "Avanzamento" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" -msgstr "" +msgstr "Nessuna informazione utente" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" -msgstr "" +msgstr "Nessun articolo assegnato per" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" -msgstr "" +msgstr "Aggiungi Produttore" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" -msgstr "" +msgstr "Aggiungi Articolo Produttore" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" -msgstr "" +msgstr "Modifica Articolo Produttore" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "Aggiungi fornitore" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "Aggiungi fornitore articolo" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "Tutte gli articoli del fornitore selezionati saranno eliminati" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" -msgstr "" +msgstr "Cancella Articoli Fornitore" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" -msgstr "" +msgstr "Aggiungi nuova Azienda" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "Fornitori articoli" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" -msgstr "" +msgstr "Articoli prodotti" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" -msgstr "" +msgstr "Nessuna informazione azienda trovata" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" -msgstr "" +msgstr "Tutti gli articoli del produttore selezionati saranno eliminati" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" -msgstr "" +msgstr "Elimina Articoli Produttore" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" -msgstr "" +msgstr "Tutti i parametri selezionati saranno cancellati" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "Elimina Parametri" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" -msgstr "" +msgstr "Nessun articolo produttore trovato" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" -msgstr "" +msgstr "Modello Articolo" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" -msgstr "" +msgstr "Articolo assemblato" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" -msgstr "" +msgstr "Nessun parametro trovato" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "Elimina il parametro" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "Elimina Parametri" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "Nessun fornitore trovato" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" -msgstr "" +msgstr "Disponibilità" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "Modifica articolo fornitore" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "Elimina articolo fornitore" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "Elimina riduzione di prezzo" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" -msgstr "" +msgstr "Modifica Prezzo Limite" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "Nessuna informazione di riduzione di prezzo trovata" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" -msgstr "" +msgstr "Ultimo aggiornamento" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "Modifica riduzione di prezzo" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "Cancella riduzione di prezzo" @@ -9435,7 +9601,7 @@ msgstr "Seleziona filtro" #: templates/js/translated/filters.js:292 msgid "Download data" -msgstr "" +msgstr "Scarica dati" #: templates/js/translated/filters.js:295 msgid "Reload data" @@ -9476,40 +9642,40 @@ msgstr "Mostra operazione non consentita" #: templates/js/translated/forms.js:734 msgid "Keep this form open" -msgstr "" +msgstr "Mantieni aperto questo modulo" #: templates/js/translated/forms.js:835 msgid "Enter a valid number" msgstr "Inserisci un numero valido" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" -msgstr "" +msgstr "Esistono errori nel modulo" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "Nessun risultato trovato" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "Ricerca" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "Cancella input" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" -msgstr "" +msgstr "Colonna File" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" -msgstr "" +msgstr "Nome del campo" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" -msgstr "" +msgstr "Seleziona Colonne" #: templates/js/translated/helpers.js:24 msgid "YES" @@ -9517,20 +9683,20 @@ msgstr "SÌ" #: templates/js/translated/helpers.js:26 msgid "NO" -msgstr "" +msgstr "NO" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" -msgstr "" +msgstr "Note aggiornate" #: templates/js/translated/label.js:39 msgid "Labels sent to printer" -msgstr "" +msgstr "Etichette inviate alla stampante" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" -msgstr "" +msgstr "Seleziona Elementi Magazzino" #: templates/js/translated/label.js:61 msgid "Stock item(s) must be selected before printing labels" @@ -9567,78 +9733,78 @@ msgstr "Nessuna etichetta trovata che corrisponde agli elementi stock selezionat #: templates/js/translated/label.js:257 msgid "Select Printer" -msgstr "" +msgstr "Seleziona Stampante" #: templates/js/translated/label.js:261 msgid "Export to PDF" -msgstr "" +msgstr "Esporta in PDF" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "elemento stock creato" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "Seleziona Modello Etichetta" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "Annulla" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Invia" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "Titolo modulo" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "In attesa del server..." -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "Informazioni sull'errore" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "Accetta" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" -msgstr "" +msgstr "Caricamento Dati" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "Risposta dal server non valida" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" -msgstr "" +msgstr "Dati del modulo mancanti dalla risposta server" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" -msgstr "" +msgstr "Errore nel pubblicare i dati del modulo" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" -msgstr "" +msgstr "Dati del modulo mancanti di risposta JSON" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" -msgstr "" +msgstr "Errore 400: Richiesta Non Valida" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" -msgstr "" +msgstr "Il server ha restituito codice di errore 400" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" -msgstr "" +msgstr "Errore nella richiesta di dati modulo" #: templates/js/translated/model_renderers.js:74 msgid "Company ID" @@ -9656,7 +9822,7 @@ msgstr "ID Ordine" #: templates/js/translated/model_renderers.js:329 #: templates/js/translated/model_renderers.js:333 msgid "Shipment ID" -msgstr "" +msgstr "Id Spedizione" #: templates/js/translated/model_renderers.js:394 msgid "Manufacturer Part ID" @@ -9664,767 +9830,766 @@ msgstr "ID articolo produttore" #: templates/js/translated/news.js:24 msgid "No news found" -msgstr "" +msgstr "Nessuna notizia trovata" #: templates/js/translated/notification.js:42 msgid "Age" -msgstr "" +msgstr "Età" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "Notifiche" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" -msgstr "" +msgstr "Segna come non letto" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" -msgstr "" +msgstr "Segna come letto" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" -msgstr "" +msgstr "Nessuna notifica non letta" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" -msgstr "" +msgstr "Le notifiche verranno caricate qui" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" -msgstr "" +msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" -msgstr "" +msgstr "I seguenti elementi in magazzino saranno spediti" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" -msgstr "" +msgstr "Completa Spedizione" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:219 -msgid "No pending shipments found" -msgstr "" +msgstr "Conferma Spedizione" #: templates/js/translated/order.js:223 +msgid "No pending shipments found" +msgstr "Nessuna spedizione in sospeso trovata" + +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" -msgstr "" +msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" -msgstr "" +msgstr "Salta" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" -msgstr "" +msgstr "Completa Ordine D'Acquisto" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" -msgstr "" +msgstr "Contrassegnare questo ordine come completato?" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" -msgstr "" +msgstr "Tutti gli elementi della riga sono stati ricevuti" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." -msgstr "" +msgstr "Questo ordine ha elementi di riga che non sono stati contrassegnati come ricevuti." -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" +msgstr "Completare questo ordine significa che l'ordine e gli elementi della riga non saranno più modificabili." -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" -msgstr "" +msgstr "Annulla Ordine di Acquisto" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" +msgstr "Sei sicuro di voler annullare questo ordine di acquisto?" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" -msgstr "" +msgstr "Questo ordine d'acquisto non può essere cancellato" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" -msgstr "" +msgstr "Problema Ordine di Acquisto" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" +msgstr "Dopo aver effettuato questo ordine d'acquisto, gli elementi di riga non saranno più modificabili." -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." -msgstr "" +msgstr "Questo ordine ha elementi di riga che non sono stati completati." -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" -msgstr "" +msgstr "Annulla Ordine di Vendita" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" +msgstr "Cancellando questo ordine, l'ordine non sarà più modificabile." -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" -msgstr "" +msgstr "Crea Nuova Spedizione" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "Aggiungi cliente" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" -msgstr "" +msgstr "Crea Ordine di Vendita" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "Modifica Ordine di Vendita" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" -msgstr "" +msgstr "Selezione l'ordine di acquisto da duplicare" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" -msgstr "" +msgstr "Duplica linee degli elementi" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" -msgstr "" +msgstr "Duplica tutte le linee elementi dall'ordine selezionato" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" -msgstr "" +msgstr "Duplica Linee Extra" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" -msgstr "" +msgstr "Duplica elementi linee extra dall'ordine selezionato" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "Modifica ordine d'acquisto" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" -msgstr "" +msgstr "Opzioni Duplicazione" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" -msgstr "" +msgstr "Esporta Ordine" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" -msgstr "" +msgstr "Deve essere selezionata almeno un articolo acquistabile" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" -msgstr "" +msgstr "Quantità da ordinare" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" -msgstr "" +msgstr "Nuovo articolo fornitore" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" -msgstr "" +msgstr "Nuovo ordine d'acquisto" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" -msgstr "" +msgstr "Aggiungi ordine d'acquisto" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" -msgstr "" +msgstr "Nessun fornitore articolo corrispondente" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" -msgstr "" +msgstr "Nessun ordine di acquisto corrispondente trovato" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" -msgstr "" +msgstr "Seleziona Linee Elementi" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" -msgstr "" +msgstr "È necessario selezionare almeno una linea elemento" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" -msgstr "" +msgstr "Aggiungi codice lotto" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" -msgstr "" +msgstr "Aggiungi numeri seriali" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" -msgstr "" +msgstr "Quantità Ricevuta" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "Quantità da ricevere" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "Stato giacenza" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "Codice ordine" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "Ordinato" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" -msgstr "" +msgstr "Quantità da Ricevere" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" -msgstr "" +msgstr "Conferma la ricezione degli elementi" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" -msgstr "" +msgstr "Ricevi Elementi Ordine D'Acquisto" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" -msgstr "" +msgstr "Nessun ordine d'acquisto trovato" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" -msgstr "" +msgstr "L'Ordine è in ritardo" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" -msgstr "" +msgstr "Elementi" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" -msgstr "" +msgstr "Duplica Linee Elementi" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" -msgstr "" +msgstr "Modifica Linee Elementi" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" -msgstr "" +msgstr "Cancella Linea Elemento" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" -msgstr "" +msgstr "Nessuna linea elementi trovata" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "Totale" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "Prezzo Unitario" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "Prezzo Totale" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" -msgstr "" +msgstr "Questo elemento è in ritardo" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" -msgstr "" +msgstr "Ricevi linea elemento" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" -msgstr "" +msgstr "Duplica linea elemento" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" -msgstr "" +msgstr "Modifica linea elemento" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" -msgstr "" +msgstr "Cancella linea elemento" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" -msgstr "" +msgstr "Duplica linea" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" -msgstr "" +msgstr "Modifica linea" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" -msgstr "" +msgstr "Cancella linea" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" -msgstr "" +msgstr "Duplica Linea" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" -msgstr "" +msgstr "Modifica Linea" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" -msgstr "" +msgstr "Cancella Linea" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" -msgstr "" +msgstr "Nessuna linea corrispondente" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" -msgstr "" +msgstr "Non sono state trovati ordini di vendita" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "Cliente non valido" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" -msgstr "" +msgstr "Modifica spedizione" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" -msgstr "" +msgstr "Completa spedizione" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" -msgstr "" +msgstr "Elimina spedizione" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" -msgstr "" +msgstr "Modifica spedizione" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" -msgstr "" +msgstr "Elimina Spedizione" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" -msgstr "" +msgstr "Nessuna spedizione corrispondente trovata" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" -msgstr "" +msgstr "Riferimento della spedizione" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" -msgstr "" +msgstr "Non spedito" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" -msgstr "" +msgstr "Tracciamento" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" -msgstr "" +msgstr "Fattura" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" -msgstr "" +msgstr "Aggiungi Spedizione" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "Conferma l'assegnazione della giacenza" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" -msgstr "" +msgstr "Assegna Elementi di Magazzino all'Ordine di Vendita" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "Nessun ordine di vendita trovato" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "Modifica posizione giacenza" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "Conferma Operazione Eliminazione" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "Elimina posizione giacenza" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "Spedito al cliente" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "Nessun posizione specificata" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" -msgstr "" +msgstr "Assegna Numeri di Serie" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "Prezzo d'acquisto" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "Calcola il prezzo" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" -msgstr "" +msgstr "Non può essere eliminato perché gli elementi sono stati spediti" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" -msgstr "" +msgstr "Non può essere eliminato perché gli elementi sono stati assegnati" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" -msgstr "" +msgstr "Assegna Numeri di Serie" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" -msgstr "" +msgstr "Aggiorna Prezzo Unitario" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" -msgstr "" +msgstr "Nessun elemento di riga corrispondente" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" -msgstr "" +msgstr "Nessuna linea corrispondente" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "Attributi Articolo" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" -msgstr "" +msgstr "Opzioni Creazione Articolo" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" -msgstr "" +msgstr "Opzioni Duplicazione Articolo" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "Aggiungi Categoria Articolo" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "Copia Parametri Categoria" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "Categoria articolo principale" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" -msgstr "" +msgstr "Icona (opzionale) - Esplora tutte le icone disponibili su" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "Modifica Categoria Articoli" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" -msgstr "" +msgstr "Sei sicuro di voler eliminare questa categoria articolo?" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" -msgstr "" +msgstr "Sposta nella categoria superiore" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "Elimina categoria" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" -msgstr "" +msgstr "Azione articoli in questa categoria" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" -msgstr "" +msgstr "Azione per categorie secondarie" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "Crea Articolo" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "Crea un altro articolo dopo questo" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "Articolo creato con successo" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "Modifica l'articolo" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "Articolo modificato" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" -msgstr "" +msgstr "Crea Varianti Articolo" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" -msgstr "" +msgstr "Articolo Attivo" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" -msgstr "" +msgstr "L'articolo non può essere eliminato poiché è attualmente attivo" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" -msgstr "" +msgstr "L'eliminazione di questo articolo non è reversibile" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" -msgstr "" +msgstr "Tutte le giacenze per questo articolo verranno eliminate" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" -msgstr "" +msgstr "Questo articolo verrà eliminato da qualsiasi Fattura dei Materiali" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" -msgstr "" +msgstr "Tutte le informazioni del produttore e del fornitore per questo articolo verranno eliminate" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" -msgstr "" +msgstr "Cancella Articolo" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "Sei iscritto alle notifiche per questo elemento" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "Hai sottoscritto le notifiche per questo elemento" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" -msgstr "" +msgstr "Sottoscrivi le notifiche per questo elemento" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "Hai annullato l'iscrizione alle notifiche per questo elemento" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" -msgstr "" +msgstr "La convalida della Distinta Base segnerà ogni voce di riga come valida" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "Convalida la distinta dei materiali" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" -msgstr "" +msgstr "Valida Fattura dei Materiali" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" -msgstr "" +msgstr "Copia Fattura dei Materiali" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "In esaurimento" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" -msgstr "" +msgstr "Nessuno stock disponibile" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" -msgstr "" +msgstr "Unità" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "Parte tracciabile" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "Parte virtuale" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "Parte sottoscritta" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "Parte vendibile" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" -msgstr "" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "Programmare la generazione di un nuovo report inventario." + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "Una volta completato, il report inventario sarà disponibile per il download." + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" +msgstr "Genera Report Inventario" #: templates/js/translated/part.js:752 -msgid "Update item" -msgstr "" +msgid "Stocktake report scheduled" +msgstr "Programma report inventario" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" -msgstr "" +msgstr "Nessuna informazione sull'inventario disponibile" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" -msgstr "" +msgstr "Modifica Voce Inventario" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" -msgstr "" +msgstr "Elimina Voce Inventario" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "Nessuna variante trovata" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "Elimina relazione tra i componenti" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" -msgstr "" +msgstr "Elimina Relazione Articolo" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "Nessun articolo trovato" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "Nessuna categoria" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" -msgstr "" +msgstr "Nessuno stock" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" -msgstr "" +msgstr "Assegnato per ordini di produzione" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" -msgstr "" +msgstr "Assegnato per Ordini di Vendita" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "Visualizza come elenco" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "Visualizza come griglia" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" -msgstr "" +msgstr "Imposta la categoria prodotto per i prodotti selezionati" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "Imposta categoria articolo" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" -msgstr "" +msgstr "Seleziona Categoria Articolo" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" -msgstr "" +msgstr "Carica Sotto Categorie" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" -msgstr "" +msgstr "Carica Sotto Categorie" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "Categoria sottoscritta" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "Nessun modello di test corrispondente" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "Modificare il risultato del test" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "Cancellare il risultato del test" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" -msgstr "" +msgstr "Questo test è definito per un articolo principale" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" -msgstr "" +msgstr "Modifica Modello Risultato Test" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" -msgstr "" +msgstr "Elimina Modello Risultato Test" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" -msgstr "" +msgstr "Nessuna data specificata" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" -msgstr "" +msgstr "La data specificata è nel passato" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" -msgstr "" +msgstr "Speculativo" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" -msgstr "" +msgstr "Nessuna informazione di pianificazione disponibile per questo prodotto" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" -msgstr "" +msgstr "Errore nel recupero delle informazioni di programmazione per questo articolo" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" -msgstr "" +msgstr "Quantità Di Scorte Programmate" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" -msgstr "" +msgstr "Quantità Massima" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" -msgstr "" +msgstr "Livello Minimo Stock" #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" @@ -10432,53 +10597,53 @@ msgstr "Il Plugin è stato installato" #: templates/js/translated/pricing.js:143 msgid "Error fetching currency data" -msgstr "" +msgstr "Errore durante il recupero dati" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" -msgstr "" +msgstr "Nessun dato Distinta Base disponibile" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" -msgstr "" +msgstr "Nessun dato di prezzo disponibile per il fornitore" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" -msgstr "" +msgstr "Nessun dato disponibile prezzo limite" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "Modifica ${human_name}" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "Elimina ${human_name}" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" -msgstr "" +msgstr "Nessun dato della cronologia di acquisto disponibile" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" -msgstr "" +msgstr "Cronologia Prezzi Acquisto" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" -msgstr "" +msgstr "Nessun dato della cronologia di vendita disponibile" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" -msgstr "" +msgstr "Cronologia Prezzo Vendita" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" -msgstr "" +msgstr "Non sono disponibili dati varianti" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" -msgstr "" +msgstr "Variante Articolo" #: templates/js/translated/report.js:67 msgid "items selected" @@ -10486,15 +10651,15 @@ msgstr "elementi selezionati" #: templates/js/translated/report.js:75 msgid "Select Report Template" -msgstr "" +msgstr "Seleziona Modello Report" #: templates/js/translated/report.js:90 msgid "Select Test Report Template" -msgstr "" +msgstr "Seleziona Modello Test Report" #: templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" -msgstr "" +msgstr "Gli elementi(s) disponibili devono essere selezionati prima di stampare le etichette" #: templates/js/translated/report.js:136 templates/js/translated/report.js:189 #: templates/js/translated/report.js:243 templates/js/translated/report.js:297 @@ -10504,452 +10669,452 @@ msgstr "Nessun Report Trovato" #: templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" -msgstr "" +msgstr "Nessun modello di report trovato che corrisponde agli elementi stock selezionati(s)" #: templates/js/translated/report.js:172 msgid "Select Builds" -msgstr "" +msgstr "Seleziona Produzioni" #: templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" -msgstr "" +msgstr "Le produzioni devono essere selezionate prima di stampare i report" #: templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" -msgstr "" +msgstr "Nessun modello di report trovato che corrisponda alle produzioni selezionate(s)" #: templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" -msgstr "" +msgstr "L'Articolo deve essere selezionato prima di stampare i report" #: templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" -msgstr "" +msgstr "Nessun modello di report trovato che corrisponda agli articoli selezionati(s)" #: templates/js/translated/report.js:279 msgid "Select Purchase Orders" -msgstr "" +msgstr "Seleziona Ordini D'Acquisto" #: templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" -msgstr "" +msgstr "Gli Ordini di Acquisto devono essere selezionati prima di stampare il report" #: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" -msgstr "" +msgstr "Nessun modello di report trovato che corrisponde agli ordini selezionati" #: templates/js/translated/report.js:333 msgid "Select Sales Orders" -msgstr "" +msgstr "Seleziona Ordini Di Vendita" #: templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" -msgstr "" +msgstr "Gli ordini di vendita devono essere selezionati prima di stampare il report" #: templates/js/translated/search.js:410 msgid "Minimize results" -msgstr "" +msgstr "Minimizza risultati" #: templates/js/translated/search.js:413 msgid "Remove results" -msgstr "" +msgstr "Rimuovi risultati" #: templates/js/translated/stock.js:73 msgid "Serialize Stock Item" -msgstr "" +msgstr "Serializza Elementi di Magazzino" #: templates/js/translated/stock.js:104 msgid "Confirm Stock Serialization" -msgstr "" +msgstr "Conferma Serializzazione Magazzino" #: templates/js/translated/stock.js:113 msgid "Parent stock location" msgstr "Posizione giacenza principale" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "Modifica Posizione Giacenza" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "Nuova posizione giacenza" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "Sei sicuro di voler eliminare questa posizione?" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" -msgstr "" +msgstr "Sposta nella posizione principale magazzino" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "Elimina Posizione di Giacenza" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" -msgstr "" +msgstr "Azione per gli elementi stock in questa posizione magazzino" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" -msgstr "" +msgstr "Azione per sotto-ubicazioni" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" -msgstr "" +msgstr "Questo articolo non può essere serializzato" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "Inserisci quantità iniziale per questo articolo in giacenza" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Inserire i numeri di serie per la nuova giacenza (o lasciare vuoto)" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" -msgstr "" +msgstr "Elemento di magazzino duplicato" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" -msgstr "" +msgstr "Duplica elemento di magazzino" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" -msgstr "" +msgstr "Sei sicuro di voler rimuovere questo elemento di magazzino?" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" -msgstr "" +msgstr "Cancella Elemento di Magazzino" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" -msgstr "" +msgstr "Modifica elemento magazzino" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "Crea nuova allocazione magazzino" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "Creato più elementi stock" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" -msgstr "" +msgstr "Trova Numero Di Serie" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" -msgstr "" +msgstr "Inserisci numero di serie" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" -msgstr "" +msgstr "Inserisci un numero di serie" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" -msgstr "" +msgstr "Nessun numero di serie corrispondente" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" -msgstr "" +msgstr "Conferma l'assegnazione delle scorte" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" -msgstr "" +msgstr "Assegnare la scorta al cliente" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" -msgstr "" +msgstr "Attenzione: L'operazione di unione non può essere annullata" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" -msgstr "" +msgstr "Alcune informazioni andranno perse durante la fusione degli articoli di magazzino" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" -msgstr "" +msgstr "La cronologia delle transazioni di magazzino verrà eliminata per gli articoli uniti" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" -msgstr "" +msgstr "Le informazioni sulle parti del fornitore verranno eliminate per gli articoli uniti" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" -msgstr "" +msgstr "Confermare l'unione degli articoli di magazzino" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" -msgstr "" +msgstr "Unire gli articoli di magazzino" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "Trasferisci giacenza" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "Sposta" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "Conta giacenza" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "Conta" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "Rimuovi giacenza" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "Prendi" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "Aggiungi giacenza" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "Aggiungi" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "Elimina Stock" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" -msgstr "" +msgstr "La quantità non può essere regolata per le scorte serializzate" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "Specificare la quantità di magazzino" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "Devi selezionare almeno un articolo disponibile" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" -msgstr "" +msgstr "Confermare l'adeguamento delle scorte" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" -msgstr "" +msgstr "OK" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" -msgstr "" +msgstr "FALLITO" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "NESSUN RISULTATO" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" -msgstr "" +msgstr "Test OK" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "Aggiungi risultato test" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "Nessun risultato di prova trovato" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" -msgstr "" +msgstr "Data del test" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" -msgstr "" +msgstr "Modifica del risultato del test" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" -msgstr "" +msgstr "Cancellare il risultato del test" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "In produzione" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "Installato nell'elemento stock" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "Assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "Nessuna giacenza impostata" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "L'articolo di magazzino è in produzione" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" -msgstr "" +msgstr "Articolo di magazzino assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "Articolo stock assegnato al cliente" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" -msgstr "" +msgstr "L'articolo di magazzino serializzato è stato assegnato" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" -msgstr "" +msgstr "La voce di magazzino è stata completamente assegnata" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" -msgstr "" +msgstr "La voce di magazzino è stata parzialmente allocata" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "L'elemento stock è stato installato in un altro articolo" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "L'articolo stock è scaduto" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "Articolo in giacenza prossimo alla scadenza" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "L'articolo stock è stato rifiutato" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" -msgstr "" +msgstr "L'articolo di magazzino è andato perso" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" -msgstr "" +msgstr "Articolo di magazzino distrutto" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "Esaurito" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" -msgstr "" +msgstr "Fornitore dell'articolo non specificato" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" -msgstr "" +msgstr "Nessun articolo in magazzino corrispondente alla richiesta" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" -msgstr "" +msgstr "Impostare lo stato delle scorte" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" -msgstr "" +msgstr "Selezionare il codice di stato" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" -msgstr "" +msgstr "Il codice di stato deve essere selezionato" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" -msgstr "" +msgstr "Caricare sublocazioni" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" -msgstr "" +msgstr "Dettagli" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" -msgstr "" +msgstr "Informazioni sull'articolo non disponibili" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "La posizione non esiste più" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" -msgstr "" +msgstr "L'ordine di acquisto non esiste più" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" -msgstr "" +msgstr "Il cliente non esiste più" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" -msgstr "" +msgstr "L'articolo in magazzino non esiste più" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "Aggiunto" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "Rimosso" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" -msgstr "" +msgstr "Nessun elemento installato" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" -msgstr "" +msgstr "Disinstallare l'articolo di magazzino" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" -msgstr "" +msgstr "Selezionare l'articolo di magazzino da disinstallare" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" -msgstr "" +msgstr "Installare un altro articolo di magazzino in questo articolo" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" -msgstr "" +msgstr "Gli articoli in magazzino possono essere installati solo se soddisfano i seguenti criteri" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" -msgstr "" +msgstr "L'articolo di magazzino si collega a un'articolo che è la distinta base di questo articolo di magazzino" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" -msgstr "" +msgstr "L'articolo in stock è attualmente disponibile in magazzino" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" -msgstr "" +msgstr "L'articolo di magazzino non è già installato in un altro articolo" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" -msgstr "" +msgstr "L'articolo di magazzino è tracciato da un codice di lotto o da un numero di serie" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" -msgstr "" +msgstr "Selezionare la parte da installare" #: templates/js/translated/table_filters.js:56 msgid "Trackable Part" -msgstr "" +msgstr "Articolo tracciabile" #: templates/js/translated/table_filters.js:60 msgid "Assembled Part" -msgstr "" +msgstr "Articolo assemblato" #: templates/js/translated/table_filters.js:64 msgid "Has Available Stock" -msgstr "" +msgstr "Ha scorte disponibili" #: templates/js/translated/table_filters.js:72 msgid "Validated" @@ -10957,15 +11122,15 @@ msgstr "Convalidato" #: templates/js/translated/table_filters.js:80 msgid "Allow Variant Stock" -msgstr "" +msgstr "Varianti consentite" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" -msgstr "" +msgstr "Prezzo" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "Includi sottoallocazioni/posizioni" @@ -10973,220 +11138,220 @@ msgstr "Includi sottoallocazioni/posizioni" msgid "Include locations" msgstr "Includi posizioni" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "Includi sottocategorie" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "Sottoscritto" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" -msgstr "" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" +msgstr "E' Serializzato" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" -msgstr "" +msgid "Serial number GTE" +msgstr "Numero di serie GTE" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" -msgstr "" +msgid "Serial number greater than or equal to" +msgstr "Numero di serie maggiore di o uguale a" #: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 -msgid "Serial number" -msgstr "" +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "Numero di serie LTE" +#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "Numero di serie inferiore di o uguale a" + +#: templates/js/translated/table_filters.js:179 #: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 +msgid "Serial number" +msgstr "Numero di serie" + +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "Codice Lotto" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "Elementi attivi" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:197 -msgid "Part is an assembly" -msgstr "" +msgstr "Mostra stock per gli articoli attivi" #: templates/js/translated/table_filters.js:201 -msgid "Is allocated" -msgstr "" +msgid "Part is an assembly" +msgstr "L'articolo è un assemblato" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:205 +msgid "Is allocated" +msgstr "È assegnato" + +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "L'elemento è stato posizionato" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" -msgstr "" +msgstr "Stock disponibile per l'utilizzo" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "Includi elementi in giacenza nelle sottoallocazioni" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" -msgstr "" +msgstr "Mostra gli elementi di magazzino che sono esauriti" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "Mostra gli elementi che sono in giacenza" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "In Produzione" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "Mostra gli elementi in produzione" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "Includi Varianti" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "Includi gli articoli stock per le varianti degli articoli" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "Installato" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "Mostra gli elementi stock che sono installati in un altro elemento" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "Mostra elementi che sono stati assegnati a un cliente" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "Stato magazzino" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" -msgstr "" +msgstr "Ha codice lotto" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" -msgstr "" +msgstr "Monitorato" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" -msgstr "" +msgstr "L'articolo stock è monitorato dal codice lotto o dal numero di serie" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "Ha il prezzo d'acquisto" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "Mostra gli articoli di magazzino che hanno un prezzo di acquisto impostato" -#: templates/js/translated/table_filters.js:285 -msgid "Expiry Date before" -msgstr "" - #: templates/js/translated/table_filters.js:289 -msgid "Expiry Date after" -msgstr "" +msgid "Expiry Date before" +msgstr "Data di scadenza precedente" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:293 +msgid "Expiry Date after" +msgstr "Data di scadenza successiva" + +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "Mostra gli elementi in giacenza scaduti" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "Mostra giacenza prossima alla scadenza" -#: templates/js/translated/table_filters.js:316 -msgid "Test Passed" -msgstr "" - #: templates/js/translated/table_filters.js:320 -msgid "Include Installed Items" -msgstr "" +msgid "Test Passed" +msgstr "Test superato" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:324 +msgid "Include Installed Items" +msgstr "Includi Elementi Installati" + +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "Stato Build" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" -msgstr "" +msgstr "Assegnato a me" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "Stato dell'ordine" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "In Sospeso" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "Includi articoli nelle sottocategorie" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "Visualizza articoli attivi" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" -msgstr "" +msgstr "Stock disponibile" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "Ha IPN" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "L'articolo possiede un part number interno" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" -msgstr "" +msgstr "In giacenza" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "Acquistabile" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" -msgstr "" +msgstr "Ha voci d'inventario" #: templates/js/translated/tables.js:70 msgid "Display calendar view" @@ -11198,15 +11363,15 @@ msgstr "Visualizzazione elenco" #: templates/js/translated/tables.js:90 msgid "Display tree view" -msgstr "" +msgstr "Visualizza vista albero" #: templates/js/translated/tables.js:142 msgid "Export Table Data" -msgstr "" +msgstr "Esporta Dati Tabella" #: templates/js/translated/tables.js:146 msgid "Select File Format" -msgstr "" +msgstr "Seleziona Formato File" #: templates/js/translated/tables.js:501 msgid "Loading data" @@ -11272,11 +11437,11 @@ msgstr "Vendi" #: templates/navbar.html:116 msgid "Show Notifications" -msgstr "" +msgstr "Mostra Notifiche" #: templates/navbar.html:119 msgid "New Notifications" -msgstr "" +msgstr "Nuove Notifiche" #: templates/navbar.html:137 users/models.py:36 msgid "Admin" @@ -11288,15 +11453,15 @@ msgstr "Esci" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "" +msgstr "Salva" #: templates/notifications.html:13 msgid "Show all notifications and history" -msgstr "" +msgstr "Mostra tutte le notifiche e la cronologia" #: templates/price_data.html:7 msgid "No data" -msgstr "" +msgstr "Nessun dato" #: templates/qr_code.html:11 msgid "QR data not provided" @@ -11312,73 +11477,74 @@ msgstr "Accedi di nuovo" #: templates/search.html:9 msgid "Show full search results" -msgstr "" +msgstr "Visualizza tutti i risultati di ricerca" #: templates/search.html:12 msgid "Clear search" -msgstr "" +msgstr "Cancella ricerca" #: templates/search.html:16 msgid "Filter results" -msgstr "" +msgstr "Filtra risultati" #: templates/search.html:20 msgid "Close search menu" -msgstr "" +msgstr "Chiudi menu di ricerca" #: templates/search.html:35 msgid "No search results" -msgstr "" +msgstr "Nessun risultato di ricerca" #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" -msgstr "" +msgstr "Errore Accesso Social Network" #: templates/socialaccount/authentication_error.html:8 msgid "Account Login Failure" -msgstr "" +msgstr "Accesso Account Fallito" #: templates/socialaccount/authentication_error.html:11 msgid "An error occurred while attempting to login via your social network account." -msgstr "" +msgstr "Si è verificato un errore durante il tentativo di accedere tramite il tuo account di social network." #: templates/socialaccount/authentication_error.html:13 msgid "Contact your system administrator for further information." -msgstr "" +msgstr "Contatta l'amministratore di sistema per maggiori informazioni." #: templates/socialaccount/login.html:8 #, python-format msgid "Connect %(provider)s" -msgstr "" +msgstr "Connetti %(provider)s" #: templates/socialaccount/login.html:10 #, python-format msgid "You are about to connect a new third party account from %(provider)s." -msgstr "" +msgstr "Stai per connettere un nuovo account di terze parti da %(provider)s." #: templates/socialaccount/login.html:12 #, python-format msgid "Sign In Via %(provider)s" -msgstr "" +msgstr "Accedi Via %(provider)s" #: templates/socialaccount/login.html:14 #, python-format msgid "You are about to sign in using a third party account from %(provider)s." -msgstr "" +msgstr "Stai per accedere utilizzando un account di terze parti da %(provider)s." #: templates/socialaccount/login.html:19 msgid "Continue" -msgstr "" +msgstr "Continua" #: templates/socialaccount/signup.html:10 #, python-format msgid "You are about to use your %(provider_name)s account to login to\n" "%(site_name)s.
As a final step, please complete the following form:" -msgstr "" +msgstr "Stai per utilizzare il tuo account %(provider_name)s per accedere a\n" +"%(site_name)s.
Per concludere, compila il seguente modulo:" #: templates/stats.html:9 msgid "Server" -msgstr "" +msgstr "Server" #: templates/stats.html:13 msgid "Instance Name" @@ -11386,7 +11552,7 @@ msgstr "Nome istanza" #: templates/stats.html:18 msgid "Database" -msgstr "" +msgstr "Database" #: templates/stats.html:26 msgid "Server is running in debug mode" @@ -11402,15 +11568,15 @@ msgstr "Il server è distribuito utilizzando docker" #: templates/stats.html:39 msgid "Plugin Support" -msgstr "" +msgstr "Supporto Plugin" #: templates/stats.html:43 msgid "Plugin support enabled" -msgstr "" +msgstr "Supporto Plugin Abilitato" #: templates/stats.html:45 msgid "Plugin support disabled" -msgstr "" +msgstr "Supporto plugin disabilitato" #: templates/stats.html:52 msgid "Server status" @@ -11418,7 +11584,7 @@ msgstr "Stato del Server" #: templates/stats.html:55 msgid "Healthy" -msgstr "" +msgstr "In Buono stato" #: templates/stats.html:57 msgid "Issues detected" @@ -11426,7 +11592,7 @@ msgstr "Problemi rilevati" #: templates/stats.html:64 msgid "Background Worker" -msgstr "" +msgstr "Lavoratore di base" #: templates/stats.html:67 msgid "Background worker not running" @@ -11434,7 +11600,7 @@ msgstr "Processo in background non in esecuzione" #: templates/stats.html:75 msgid "Email Settings" -msgstr "" +msgstr "Impostazioni e-mail" #: templates/stats.html:78 msgid "Email settings not configured" @@ -11494,7 +11660,7 @@ msgstr "Elimina articoli selezionati" #: templates/stock_table.html:55 msgid "Delete stock" -msgstr "" +msgstr "Elimina Stock" #: templates/yesnolabel.html:4 msgid "Yes" @@ -11502,7 +11668,7 @@ msgstr "Si" #: templates/yesnolabel.html:6 msgid "No" -msgstr "" +msgstr "No" #: users/admin.py:61 msgid "Users" @@ -11512,51 +11678,51 @@ msgstr "Utenti" msgid "Select which users are assigned to this group" msgstr "Selezionare quali utenti sono assegnati a questo gruppo" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "Gli utenti seguenti sono membri di più gruppi:" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "Informazioni personali" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "Permessi" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "Date Importanti" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "Impostazione autorizzazioni" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "Gruppo" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "Visualizza" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "Autorizzazione a visualizzare gli articoli" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "Autorizzazione ad aggiungere elementi" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "Modificare" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "Permessi per modificare gli elementi" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 0b58270846..87ee7d9118 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -29,23 +29,23 @@ msgstr "" msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "メモ" @@ -58,23 +58,23 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "パスワードを入力してください" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "新しいパスワードを入力してください。" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "パスワードの確認" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "新しいパスワードの確認" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "" @@ -130,7 +130,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -170,23 +170,23 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "" @@ -194,350 +194,363 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "ファイルがありません" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "添付ファイル" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "リンク" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "外部 サイト へのリンク" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "コメント:" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "ユーザー" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "アップロード日時" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "ファイル名は空欄にできません" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "添付ファイルのディレクトリが正しくありません" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "ファイル名に無効な文字'{c}'が含まれています" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "ファイル名に拡張子がありません" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "この名前の貼付ファイルは既に存在します" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "ファイル名の変更に失敗しました" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "説明" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "親" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "ファイル名" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "データファイル" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "アップロードするファイルを選択" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "サポートされていないファイル形式" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "ファイルサイズが大きすぎます" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "ファイルに列が見つかりません" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "ファイルにデータ行がみつかりません" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "データが入力されていません" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "データ列が指定されていません" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "必須の列がありません: {name}" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "ドイツ語" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "ギリシャ語" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "英語" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "スペイン語" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "スペイン語(メキシコ)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "フランス語" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "ヘブライ語" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "ハンガリー語" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "イタリア語" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "日本語" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "韓国語" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "オランダ語" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "ノルウェー語" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "ポーランド語" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "ロシア語" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "スウェーデン語" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "タイ語" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "トルコ語" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "ベトナム語" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "中国語" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree システムのヘルスチェックに失敗しました" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "処理待ち" @@ -579,8 +592,8 @@ msgstr "紛失" msgid "Returned" msgstr "返品済" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "発送済み" @@ -664,7 +677,7 @@ msgstr "親アイテムから分割する" msgid "Split child item" msgstr "子項目を分割" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "商品在庫をマージしました" @@ -672,7 +685,7 @@ msgstr "商品在庫をマージしました" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "顧客に送信されました" @@ -721,27 +734,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "ユーザー情報を編集" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "パスワードを設定" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "システム情報" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "" @@ -749,44 +762,44 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "" + #: build/models.py:155 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "パーツ" @@ -855,8 +869,8 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "" @@ -896,21 +910,21 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "" @@ -918,8 +932,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "" @@ -927,7 +941,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" @@ -999,11 +1013,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -1025,18 +1039,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "在庫商品" @@ -1044,12 +1058,12 @@ msgstr "在庫商品" msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "数量" @@ -1097,249 +1110,249 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "ステータス" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "注文必須パーツ" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "パーツの注文" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "テンプレート" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "アセンブリ" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "コンポーネント" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "追跡可能" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "メーカー・パーツ" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "メーカー・パーツ" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "新しいサプライヤー・パーツを作成" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "新しいサプライヤー・パーツ" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "パーツの注文" @@ -3487,7 +3527,7 @@ msgstr "メーカー・パーツ" msgid "Create new manufacturer part" msgstr "新しいメーカー・パーツを作成" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "新しいメーカ―・パーツ" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "パーツの注文" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "メーカー・パーツの編集" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "メーカー・パーツを削除" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "パーツ" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "カテゴリ" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "新規パーツ" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "新規カテゴリ" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "在庫切れ" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "期限切れ" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "メーカー・パーツの編集" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "続けて別のパーツを作る" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index 4c5bdfdbed..1c1996398d 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -29,23 +29,23 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "" @@ -58,23 +58,23 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "비밀번호를 입력하세요" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "새로운 비밀번호를 입력하세요" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "비밀번호 확인" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "새 비밀번호 확인" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "" @@ -130,7 +130,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "" @@ -170,23 +170,23 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "" @@ -194,350 +194,363 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "첨부파일" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "링크" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "외부 URL로 링크" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "사용자" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "업로드 날짜" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "파일명은 비워둘 수 없습니다" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "파일명에 허용되지 않은 문자 '{c}'가 포함되어 있습니다" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "같은 이름의 첨부파일이 이미 존재합니다" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "파일 이름 바꾸기 오류" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "이름" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "설명" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "설명 (선택 사항)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "바코드 해시" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "파일명" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "파일이 너무 큽니다" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "체코어" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "독일어" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "그리스어" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "영어" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "스페인어" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "스페인어 (멕시코)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "파르시어/페르시아어" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "프랑스어" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "히브리어" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "헝가리어" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "이탈리아어" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "일본어" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "한국어" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "네덜란드어" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "노르웨이어" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "폴란드어" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "러시아어" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "스웨덴어" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "태국어" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "터키어" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "베트남어" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "중국어" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "" @@ -579,8 +592,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "" @@ -664,7 +677,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "" @@ -672,7 +685,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "" @@ -721,27 +734,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "사용자 정보 수정" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "비밀번호 설정" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "비밀번호가 일치해야 합니다" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "시스템 정보" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "" @@ -749,44 +762,44 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "" + #: build/models.py:155 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "" @@ -855,8 +869,8 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "" @@ -896,21 +910,21 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "" @@ -918,8 +932,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "" @@ -927,7 +941,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "외부 링크" @@ -999,11 +1013,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -1025,18 +1039,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "" @@ -1044,12 +1058,12 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "수량" @@ -1097,249 +1110,249 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "일련번호" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "위치" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "상태" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} 파일" msgid "Select {name} file to upload" msgstr "업로드할 {name} 파일을 선택하세요" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "재시작 필요" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "회사명" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "기본 통화" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "URL에서 다운로드" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "바코드 지원" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "구입 가능" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "판매 가능" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "디버그 모드" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "페이지 크기" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "PDF 보고서 기본 페이지 크기" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "작성자" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "파일 업로드" @@ -3023,7 +3073,7 @@ msgstr "파일 업로드" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "웹사이트" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "이미지" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "회사" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "회사 정보 수정" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "회사 수정" @@ -3401,14 +3441,14 @@ msgstr "URL에서 이미지 다운로드" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "고객" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "전화번호" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "이미지 업로드" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "이미지 다운로드" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "삭제" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "QR 코드 보기" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "새 회사" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "높이 [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "이미 사용 중인 바코드입니다" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "데이터" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "이미지 복사" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "부품 명세서" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "일련번호 검색" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "일련번호" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "일련번호가 이미 존재합니다" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "경고" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "메시지" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "링크 추가" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "첨부파일 추가" @@ -8526,7 +8692,7 @@ msgstr "첨부파일 추가" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "오류 408: 시간 초과" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "선택" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "예" msgid "NO" msgstr "아니오" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "취소" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "제출" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "단가" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "부품 명세서 복사" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "일련번호 찾기" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "일련번호를 입력하세요" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "일련번호를 입력하세요" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "일치하는 일련번호가 없습니다" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "일련번호" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 309d3ecbc1..e858a468f7 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -29,23 +29,23 @@ msgstr "Error details kunnen worden gevonden in het admin scherm" msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Opmerkingen" @@ -58,23 +58,23 @@ msgstr "Waarde '{name}' verschijnt niet in patroonformaat" msgid "Provided value does not match required pattern: " msgstr "Opgegeven waarde komt niet overeen met vereist patroon: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Voer wachtwoord in" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Voer een nieuw wachtwoord in" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Wachtwoord bevestigen" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Nieuw wachtwoord bevestigen" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Oude wachtwoord" @@ -130,7 +130,7 @@ msgstr "Externe server heeft lege reactie teruggegeven" msgid "Supplied URL is not a valid image file" msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" @@ -170,23 +170,23 @@ msgstr "Hoeveelheid van unieke serienummers ({s}) moet overeenkomen met de hoeve msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Onjuist opgemaakt patroon" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Onbekende opmaaksleutel gespecificeerd" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Vereiste opmaaksleutel ontbreekt" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "Referentieveld mag niet leeg zijn" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "Referentie moet overeenkomen met verplicht patroon" @@ -194,350 +194,363 @@ msgstr "Referentie moet overeenkomen met verplicht patroon" msgid "Reference number is too large" msgstr "Referentienummer is te groot" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Ontbrekend bestand" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Bijlage" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Link" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link naar externe URL" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Opmerking" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Gebruiker" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "uploaddatum" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Bestandsnaam mag niet leeg zijn" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Foute bijlagemap" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Bestandsnaam bevat illegale teken '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Bestandsnaam mist extensie" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Bijlage met deze bestandsnaam bestaat al" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Fout bij hernoemen bestand" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "bovenliggende" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Pad" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Streepjescode gegevens" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Streepjescode van derden" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Hash van Streepjescode" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Unieke hash van barcode gegevens" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Bestaande barcode gevonden" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Serverfout" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "Valuta" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Bestandsnaam" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Data bestand" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Selecteer een bestand om te uploaden" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Niet ondersteund bestandstype" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Bestand is te groot" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Geen kolommen gevonden in het bestand" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Geen data rijen gevonden in dit bestand" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Geen data rijen opgegeven" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Geen gegevenskolommen opgegeven" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Verplichte kolom ontbreekt: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "URL van extern afbeeldingsbestand" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Tsjechisch" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Deens" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Duits" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Grieks" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Engels" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Spaans" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Spaans (Mexicaans)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Farsi / Perzisch" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Frans" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Hebreeuws" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Hongaars" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Italiaans" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japans" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Koreaans" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Nederlands" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Noors" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Pools" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugees" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portugees (Braziliaans)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Thais" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Turks" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Chinees" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree gezondsheidschecks mislukt" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "Bezig" @@ -579,8 +592,8 @@ msgstr "Kwijt" msgid "Returned" msgstr "Retour" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Verzonden" @@ -664,7 +677,7 @@ msgstr "Splits van bovenliggend item" msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" @@ -672,7 +685,7 @@ msgstr "Samengevoegde voorraadartikelen" msgid "Converted to variant" msgstr "Geconverteerd naar variant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Naar klant verzonden" @@ -721,27 +734,27 @@ msgstr "Overschot mag niet groter zijn dan 100%" msgid "Invalid value for overage" msgstr "Ongeldige waarde voor overschot" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Gebruikersgegevens bewerken" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Wachtwoord instellen" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Wachtwoordvelden komen niet overeen" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Onjuist wachtwoord opgegeven" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Systeeminformatie" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "Over InvenTree" @@ -749,44 +762,44 @@ msgstr "Over InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Ongeldige keuze voor bovenliggende productie" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Productieorder" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Productieorders" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Ongeldige keuze voor bovenliggende productie" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Referentie" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Onderdeel" @@ -855,8 +869,8 @@ msgstr "Verkooporder Referentie" msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Bronlocatie" @@ -896,21 +910,21 @@ msgstr "Productiestatus" msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" @@ -918,8 +932,8 @@ msgstr "Verwachte opleveringsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Opleveringsdatum" @@ -927,7 +941,7 @@ msgstr "Opleveringsdatum" msgid "completed by" msgstr "voltooid door" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Uitgegeven door" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Verantwoordelijke" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Externe Link" @@ -999,11 +1013,11 @@ msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofd msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Product" @@ -1025,18 +1039,18 @@ msgstr "Product" msgid "Build to allocate parts" msgstr "Product om onderdelen toe te wijzen" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Voorraadartikel" @@ -1044,12 +1058,12 @@ msgstr "Voorraadartikel" msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Bron voorraadartikel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Hoeveelheid" @@ -1097,249 +1110,249 @@ msgstr "Installeren in" msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:218 +#: build/serializers.py:219 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:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Serienummers" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Locatie" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Status" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "Toegewezen Voorraad Verwijderen" -#: build/serializers.py:454 +#: build/serializers.py:455 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:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:531 +#: build/serializers.py:532 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:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:547 +#: build/serializers.py:548 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:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:655 +#: build/serializers.py:665 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:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:734 +#: build/serializers.py:735 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:741 +#: build/serializers.py:742 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:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" -#: build/serializers.py:825 +#: build/serializers.py:826 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:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "Optionele Items" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "Streefdatum" @@ -1445,29 +1458,29 @@ msgstr "Deze productie was verwacht op %(target)s" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "Achterstallig" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Voltooid" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "Verkooporder" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "Uitgegeven door" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "Prioriteit" @@ -1498,8 +1511,8 @@ msgstr "Voorraadbron" msgid "Stock can be taken from any available location." msgstr "Voorraad kan worden genomen van elke beschikbare locatie." -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "Bestemming" @@ -1511,21 +1524,21 @@ msgstr "Bestemmingslocatie niet opgegeven" msgid "Allocated Parts" msgstr "Toegewezen Onderdelen" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "Batch" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "Gecreëerd" @@ -1545,7 +1558,7 @@ msgstr "Onderliggende Productieorders" msgid "Allocate Stock to Build" msgstr "Voorraad toewijzen aan Product" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "Voorraadtoewijzing ongedaan maken" @@ -1576,7 +1589,7 @@ msgstr "Vereiste onderdelen bestellen" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "Onderdelen bestellen" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "Verwijder uitvoeren" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Afdrukacties" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "Labels afdrukken" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "Voltooide Productieuitvoeren" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Bijlagen" @@ -1666,7 +1681,7 @@ msgstr "Toewijzing Voltooid" msgid "All untracked stock items have been allocated" msgstr "Alle niet gevolgde voorraadartikelen zijn toegewezen" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "Nieuwe Productieorder" @@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Bestand" msgid "Select {name} file to upload" msgstr "Kies {name} bestand om te uploaden" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "Bijgewerkt" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig)" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "Instellingswaarde" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "Gekozen waarde is geen geldige optie" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "Geen groep" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/models.py:885 +#: common/models.py:892 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:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:936 +#: common/models.py:943 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:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "Download limiet" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "Maximale downloadgrootte voor externe afbeelding" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "Boomstructuur Diepte" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "Dagen tussen backup" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "Verwijder oude taken" -#: common/models.py:995 +#: common/models.py:1002 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:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "Verwijder foutenlogboek" -#: common/models.py:1006 +#: common/models.py:1013 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:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "Streepjescodescanner ondersteuning inschakelen" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "Barcode Webcam Ondersteuning" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode via webcam scannen in browser toestaan" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:1065 +#: common/models.py:1072 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:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "Sjabloon" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "Samenstelling" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "Component" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "Volgbaar" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "dagen" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/models.py:1280 +#: common/models.py:1287 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:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "Activeer Testrapporten" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "Testrapporten Toevoegen" -#: common/models.py:1322 +#: common/models.py:1329 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:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1370 +#: common/models.py:1377 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:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "Recente Voorraadtelling" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "Recente Voorraadtelling" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "Zoek Onderdelen" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "Inactieve Onderdelen Verbergen" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "Zoek in Voorraad" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" -msgstr "" +#: common/models.py:1809 +msgid "Search Parts" +msgstr "Zoek Onderdelen" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" -msgstr "Inkooporders Zoeken" - -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" -msgstr "Toon inkooporders in het zoekvenster" - -#: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" -msgstr "Inactieve Inkooporders Weglaten" - -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" -msgstr "Inactieve inkooporders weglaten in het zoekvenster" - -#: common/models.py:1838 -msgid "Search Sales Orders" -msgstr "Verkooporders zoeken" - -#: common/models.py:1839 -msgid "Display sales orders in search preview window" -msgstr "Toon verkooporders in het zoekvenster" - -#: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" -msgstr "Inactieve Verkooporders Weglaten" - -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" -msgstr "Inactieve verkooporders weglaten in het zoekvenster" - -#: common/models.py:1852 -msgid "Search Preview Results" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" +msgstr "Inactieve Onderdelen Verbergen" + +#: common/models.py:1831 +msgid "Excluded inactive parts from search preview window" +msgstr "" + +#: common/models.py:1837 +msgid "Search Categories" +msgstr "" + +#: common/models.py:1838 +msgid "Display part categories in search preview window" +msgstr "" + +#: common/models.py:1844 +msgid "Search Stock" +msgstr "Zoek in Voorraad" + +#: common/models.py:1845 +msgid "Display stock items in search preview window" +msgstr "" + +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" +msgstr "" + +#: common/models.py:1852 +msgid "Exclude stock items which are not available from the search preview window" +msgstr "" + +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 +msgid "Display build orders in search preview window" +msgstr "" + +#: common/models.py:1879 +msgid "Search Purchase Orders" +msgstr "Inkooporders Zoeken" + +#: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "Toon inkooporders in het zoekvenster" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "Inactieve Inkooporders Weglaten" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "Inactieve inkooporders weglaten in het zoekvenster" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "Verkooporders zoeken" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "Toon verkooporders in het zoekvenster" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "Inactieve Verkooporders Weglaten" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "Inactieve verkooporders weglaten in het zoekvenster" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1874 +#: common/models.py:1929 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1880 +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "Prijs" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "Actief" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "Token" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "Geheim" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "Host" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "Koptekst" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Upload Bestand" @@ -3023,7 +3073,7 @@ msgstr "Upload Bestand" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Vergelijk Velden" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "Website" @@ -3106,7 +3156,7 @@ msgstr "Contactpunt" msgid "Link to external company information" msgstr "Link naar externe bedrijfsinformatie" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Afbeelding" @@ -3138,229 +3188,219 @@ msgstr "is fabrikant" msgid "Does this company manufacture parts?" msgstr "Fabriceert dit bedrijf onderdelen?" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "Valuta" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "Basis onderdeel" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "Onderdeel selecteren" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "Fabrikant" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "Fabrikant selecteren" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "MPN" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "Fabrikant artikel nummer (MPN)" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "URL voor externe link van het fabrikant onderdeel" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "Omschrijving onderdeel fabrikant" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "Fabrikant onderdeel" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "Parameternaam" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "Waarde" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "Parameterwaarde" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "Eenheden" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "Parameter eenheden" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "Leverancier" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "Leverancier selecteren" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "SKU" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "Selecteer fabrikant onderdeel" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "Opmerking" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "basisprijs" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "Minimale kosten (bijv. voorraadkosten)" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "meerdere" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "Order meerdere" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "Beschikbaar" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "Valutacode" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "Bedrijf" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "Basis onderdeel" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "Onderdeel selecteren" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "Fabrikant" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "Fabrikant selecteren" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "MPN" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "Fabrikant artikel nummer (MPN)" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "URL voor externe link van het fabrikant onderdeel" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "Omschrijving onderdeel fabrikant" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "Fabrikant onderdeel" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "Parameternaam" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "Waarde" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "Parameterwaarde" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "Eenheden" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "Parameter eenheden" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "Leverancier" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "Leverancier selecteren" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "SKU" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "Selecteer fabrikant onderdeel" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "Opmerking" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "basisprijs" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "Minimale kosten (bijv. voorraadkosten)" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "meerdere" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "Order meerdere" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "Beschikbaar" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "Inkooporder aanmaken" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "Bedrijfsinformatie bewerken" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "Bedrijf bewerken" @@ -3401,14 +3441,14 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "Klant" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "Telefoon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "Afbeelding Uploaden" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "Afbeelding Downloaden" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "Bestel onderdelen" @@ -3487,7 +3527,7 @@ msgstr "Fabrikant onderdelen" msgid "Create new manufacturer part" msgstr "Maak nieuw fabrikant onderdeel" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nieuw fabrikant onderdeel" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "Inkooporders" @@ -3524,11 +3564,11 @@ msgstr "Nieuwe Inkooporder" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "Verkooporders" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "Nieuwe Verkooporder" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "Fabrikanten" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Order onderdeel" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "Fabrikant onderdeel bewerken" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "Fabrikant onderdeel verwijderen" @@ -3583,34 +3623,34 @@ msgstr "Geen fabrikanten informatie beschikbaar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Leveranciers" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "Verwijder leveranciersonderdelen" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "Verwijderen" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parameters" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "Parameter verwijderen" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Parameter toevoegen" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "Toegewezen Voorraadartikelen" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "Leveranciersonderdeel" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "QR-code weergeven" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Order Onderdeel" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "Geen leveranciersinformatie beschikbaar" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "Nieuw voorraadartikel aanmaken" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "Nieuw Voorraadartikel" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "Leverancier Onderdelenorders" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "Prijsinformatie" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" -msgstr "Voorraad" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" +msgstr "Voorraadartikelen" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "Orders" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "Prijzen" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "Voorraadartikelen" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "Bedrijven" msgid "New Company" msgstr "Nieuw Bedrijf" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "Labelnaam" @@ -3848,7 +3864,7 @@ msgstr "Label" msgid "Label template file" msgstr "Label template bestand" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "Ingeschakeld" @@ -3872,7 +3888,7 @@ msgstr "Hoogte [mm]" msgid "Label height, specified in mm" msgstr "Label hoogte, gespecificeerd in mm" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "Bestandsnaam Patroon" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "Filters" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "Order beschrijving" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "Link naar externe pagina" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "Aangemaakt Door" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "Gebruiker of groep verantwoordelijk voor deze order" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "Ordernotities" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "ontvangen door" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "Streefdatum Levering" -#: order/models.py:287 +#: order/models.py:286 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:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Streefdatum voor voltooien order. De order is na deze datum achterstallig." -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:747 +#: order/models.py:751 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:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "Alleen orders in afwachting kunnen als voltooid worden gemarkeerd" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 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:757 +#: order/models.py:761 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:935 +#: order/models.py:938 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "Context" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "Order" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "Ontvangen" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Zending" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "Zendingnotities" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1407 +#: order/models.py:1409 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:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "Regel" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "Artikel" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "Prijs valuta" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "Uniek identificatieveld" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Rij verwijderen" @@ -4566,7 +4578,7 @@ msgstr "Inkooporder Artikelen" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "Artikel toevoegen" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "Pakbon afdrukken" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "Verzendingen Voltooien" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "Voltooi Verkooporder" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "Deze Verkooporder is niet volledig toegewezen" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "Klantreferentie" @@ -4636,10 +4648,6 @@ msgstr "Klantreferentie" msgid "Completed Shipments" msgstr "Voltooide Verzendingen" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "Verkooporder bewerken" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Verkoooporder Artikelen" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "Verzendingen in behandeling" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "Acties" @@ -4681,174 +4689,175 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "In bestelling" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "Toegewezen" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "Binnenkomende Inkooporder" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "Uitgaande Verkooporder" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "Geproduceerde voorraad door Productieorder" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "Voorraad vereist voor Productieorder" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "Standaard locatie" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "Totale Voorraad" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "Beschikbare Voorraad" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "Standaard locatie voor onderdelen in deze categorie" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "Standaard locatie voor onderdelen in deze categorie" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "Datum" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "Parameter Eenheden" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Parameter Template" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "U heeft geen toestemming om de stuklijst te bewerken." @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "Categorie bewerken" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "Categorie bewerken" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "Categorie verwijderen" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "Categorie verwijderen" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "Onderdeel Parameters" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "Nieuwe Categorie" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "Verkoopordertoewijzingen" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "Een parameter toevoegen" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "Assemblages" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "Productieordertoewijzingen" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "Onderdeelfabrikanten" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "Fabrikantonderdeel verwijderen" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "Formaat" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "Selecteer bestandsindeling" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "Label afdrukken" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "Voorraad acties" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "Toegewezen aan Productieorder" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "Toegewezen aan verkooporders" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "Geen overeenkomende afbeeldingen gevonden" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "Voorraad" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "Prijzen" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "Selecteer afbeelding onderdeel" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "Afbeelding onderdeel bijgewerkt" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "Afbeelding van onderdeel niet gevonden" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "Filters inkooporder" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "Verkooporder zoekopdracht filters" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "Serienummer" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "Voorraadlocaties" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "Inkooporder Bron" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "Bestemming Verkooporder" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "Scan naar Locatie" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "Voorraad tellen" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "Voorraad overzetten" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "Geen fabrikant geselecteerd" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "Dit voorraadartikel is toegewezen aan Verkooporder" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "Dit voorraadartikel is toegewezen aan Productieorder" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "vorige pagina" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "volgende pagina" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "Geen locatie ingesteld" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "Locatie acties" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "Bewerk locatie" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "Verwijder locatie" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt." -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sublocaties" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "Voorraadlocaties" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "Maak nieuwe voorraadlocatie" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "Nieuwe Locatie" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "QR-code voor Voorraadlocatie" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "Bericht" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,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:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "Vereiste Hoeveelheid" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Sluit" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "Geen Voorraad Aanwezig" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "Voltooi Productieoorder" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "Selecteer Productieuitvoeren" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "Voltooi Productieuitvoeren" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "Verwijder Productieuitvoeren" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "Geen productieordertoewijzingen gevonden" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "Locatie is niet opgegeven" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "Geen actieve productieuitvoeren gevonden" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "Voorraadtoewijzing bewerken" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "Voorraadtoewijzing verwijderen" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "Genoeg voorraad beschikbaar" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "Productie voorraad" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "Voorraad order" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "Voorraad toewijzen" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Onderdelen selecteren" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "Er moet op zijn minst één onderdeel toegewezen worden" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "Specificeer voorraadtoewijzingshoeveelheid" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruiken)" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "Voorraadartikelen toewijzen aan Productieorder" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "Geen overeenkomende voorraadlocaties" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "Geen overeenkomende voorraadartikelen" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Voorraadartikelen zullen automatisch worden toegewezen aan de productieorder volgens de aangegeven richtlijnen" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "Productieorder is achterstallig" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "Fabrikant toevoegen" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "Fabrikantonderdeel toevoegen" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "Fabrikantonderdeel bewerken" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "Leverancier Toevoegen" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "Leveranciersonderdeel Toevoegen" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "Gefabriceerde Onderdelen" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "Verwijder Fabrikantenonderdelen" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "Geen fabrikantenonderdelen gevonden" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "Samengesteld onderdeel" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "Geen parameters gevonden" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "Parameter bewerken" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "Parameter bewerken" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "Laatst bijgewerkt" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "Leeftijd" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "Geen voorraadartikelen toegewezen aan deze zending" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "De volgende voorraadartikelen worden verzonden" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "Verzending Voltooien" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "Verzending Bevestigen" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "Geen verzendingen in behandeling gevonden" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "Voltooi Inkooporder" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "Order markeren als voltooid?" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "Alle artikelen zijn ontvangen" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "Deze order heeft artikelen die niet zijn gemarkeerd als ontvangen." -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "Na het voltooien van de order zijn de order en de artikelen langer bewerkbaar." -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "Inkooporder annuleren" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Weet u zeker dat u deze inkooporder wilt annuleren?" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "Deze inkooporder kan niet geannuleerd worden" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "Geef inkooporder uit" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "Na het plaatsen van de inkooporder zijn de artikelen niet meer bewerkbaar." -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "Verkooporder annuleren" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Na annulering van de order kan de order niet meer bewerkt worden." -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "Verkooporder aanmaken" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "Verkooporder bewerken" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "Bewerk Inkooporder" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "Export Order" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "Te bestellen aantal" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "Nieuwe inkooporder" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "Toevoegen aan inkooporder" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "Geen overeenkomende inkooporders" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "Selecteer artikelen" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "Ten minste één artikel moet worden geselecteerd" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "Order Code" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "Besteld" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "Ontvang Artikelen Inkooporder" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "Geen inkooporder gevonden" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "Order is achterstallig" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "Artikelen" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "Artikel dupliceren" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "Artikel wijzigen" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "Artikel verwijderen" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "Geen artikelen gevonden" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "Totaal" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "Stukprijs" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "Totaalprijs" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "Dit artikel is achterstallig" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "Artikel ontvangen" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "Artikel dupliceren" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "Artikel bewerken" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "Artikel verwijderen" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "Kopieer regel" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "Bewerk regel" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "Verwijder regel" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "Kopieer Regel" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "Bewerk Regel" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "Verwijder Regel" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "Geen overeenkomende regel" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "Geen verkooporder gevonden" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "Ongeldige Klant" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "Verzending bewerken" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "Verzending Voltooien" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "Verzending verwijderen" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "Verzending bewerken" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "Verzending verwijderen" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "Geen overeenkomende verzending gevonden" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "Verzendingsreferentie" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "Niet verzonden" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "Volgen" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "Factuur" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "Voeg Verzending toe" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "Bevestig de voorraadtoewijzing" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "Voorraadartikel toewijzen aan Verkooporder" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "Geen verkooporder toewijzingen gevonden" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "Bewerk Voorraadtoewijzing" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "Bevestig Verwijderen" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "Verwijder Voorraadtoewijzing" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "Verzonden aan klant" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "Voorraadlocatie niet gespecificeerd" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "Wijs serienummers toe" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "Koop voorraad" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "Bereken prijs" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "Kan niet worden verwijderd omdat artikelen verzonden zijn" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "Kan niet worden verwijderd omdat artikelen toegewezen zijn" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "Wijs Serienummers Toe" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "Werk Stukprijs Bij" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "Geen overeenkomende artikelen" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "Geen overeenkomende regels" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "Validatie van de BOM markeert ieder artikel als geldig" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "Bewerk Voorraadlocatie" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "Verwijder Voorraadlocatie" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "Toegewezen aan Verkooporder" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "Geen voorraadlocatie ingesteld" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "Voorraadartikel toegewezen aan verkooporder" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "Inkooporder bestaat niet meer" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "Onderdeel is een assemblage" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "Order status" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index f06d3b260a..46d22be260 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -29,23 +29,23 @@ msgstr "Feildetaljer kan ikke finnes i admin-panelet" msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Notater" @@ -58,23 +58,23 @@ msgstr "Verdi '{name}' vises ikke i mønsterformat" msgid "Provided value does not match required pattern: " msgstr "Angitt verdi samsvarer ikke med påkrevd mønster: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Oppgi passord" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Oppgi nytt passord" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Bekreft passord" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Bekreft nytt passord" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Gammelt passord" @@ -130,7 +130,7 @@ msgstr "Ekstern server returnerte tomt svar" msgid "Supplied URL is not a valid image file" msgstr "Angitt URL er ikke en gyldig bildefil" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -170,23 +170,23 @@ msgstr "Antall unike serienumre ({s}) må samsvare med antall ({q})" msgid "Remove HTML tags from this value" msgstr "Fjern HTML-koder fra denne verdien" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Uriktig formatert mønster" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Ukjent formatnøkkel spesifisert" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøkkel" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "Referansefeltet kan ikke være tomt" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "Referansen må samsvare påkrevet mønster" @@ -194,350 +194,363 @@ msgstr "Referansen må samsvare påkrevet mønster" msgid "Reference number is too large" msgstr "Referansenummeret er for stort" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Fil mangler" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Vedlegg" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Lenke til ekstern URL" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Kommenter" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Bruker" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "opplastet dato" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Filnavn må ikke være tom" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Ugyldig vedleggskatalog" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnavn inneholder ugyldig tegn '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Filnavn mangler filtype" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Vedlegg med dette filnavnet finnes allerede" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Feil ved endring av navn" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "overkategori" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Strekkode data" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Tredjeparts strekkode-data" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Strekkode hash" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Unik hash av strekkode-data" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Eksisterende strekkode funnet" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Serverfeil" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Nummer må være gyldig" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "Valuta" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Data fil" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Velg datafil for opplasting" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Filtypen støttes ikke" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Ingen kolonner funnet i filen" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Ingen datalader funnet i fil" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Ingen datalader oppgitt" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Ingen datakolonner angitt" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrevd kolonne: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dupliser kolonne: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "URL-adressen til ekstern bildefil" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Tsjekkisk" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Dansk" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Gresk" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Spansk (Meksikansk)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Nederlandsk" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilian)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "Slovensk" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Kinesisk" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Bakgrunnsarbeiderkontroll mislyktes" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "Helsekontroll av IvenTree system mislyktes" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "Ventende" @@ -579,8 +592,8 @@ msgstr "Tapt" msgid "Returned" msgstr "Returnert" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Sendt" @@ -664,7 +677,7 @@ msgstr "Delt fra overordnet element" msgid "Split child item" msgstr "Delt fra underelement" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Sammenslått lagervare" @@ -672,7 +685,7 @@ msgstr "Sammenslått lagervare" msgid "Converted to variant" msgstr "Konvertert til variant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Sendt til kunde" @@ -721,27 +734,27 @@ msgstr "Overde må ikke overstige 100%" msgid "Invalid value for overage" msgstr "ugyldig verdi for rad" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Rediger brukerinformasjon" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Velg passord" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Passordfeltene må samsvare" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Feil passord angitt" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Systeminformasjon" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "Om InvenTree" @@ -749,44 +762,44 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bygningen må avbrytes før den kan slettes" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Ugylding valg for overordnet build" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Build ordre" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Build Ordre" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Ugylding valg for overordnet build" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Referanse" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "Build order som denne build er tildelt til" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Del" @@ -855,8 +869,8 @@ msgstr "Salg order referanse" msgid "SalesOrder to which this build is allocated" msgstr "Salgorder som denne build er tildelt til" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Kilde plassering" @@ -896,21 +910,21 @@ msgstr "Byggstatus" msgid "Build status code" msgstr "Byggstatuskode" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Batch kode" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch kode for denne build output" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Forventet sluttdato" @@ -918,8 +932,8 @@ 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:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Fullført dato" @@ -927,7 +941,7 @@ msgstr "Fullført dato" msgid "completed by" msgstr "fullført av" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Utstedt av" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Brukeren som utstede denne prosjekt order" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Ansvarlig" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Ekstern link" @@ -999,11 +1013,11 @@ msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er mar msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelige lager mengde ({a})" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "Lagervare er overtildelt" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "Tildeling antallet må være større enn null" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "Valgt lagevare ikke funnet i BOM" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Prosjekt" @@ -1025,18 +1039,18 @@ msgstr "Prosjekt" msgid "Build to allocate parts" msgstr "Bygge for å tildele deler" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Lagervare" @@ -1044,12 +1058,12 @@ msgstr "Lagervare" msgid "Source stock item" msgstr "Kilde lagervare" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Kilde lagervare" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Antall" @@ -1097,249 +1110,249 @@ msgstr "Installerings informasjon" msgid "Destination stock item" msgstr "Målets lagervare" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "Byggresultat" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "Byggresultat samsvarer ikke med det overordnede bygget" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "Resultatdel samsvarer ikke med byggordre del" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "Jobben er allerede fullført" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "Denne produksjonen er ikke fullt tildelt" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "Angi antall for build utgang" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "Heltallsverdi kreves for sporbare deler" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, materialene inneholder sporbare deler" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for bygge-utganger" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "Automatisk tildeling av serienummere" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk allokering av nødvendige elementer med tilsvarende serienummer" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienumre finnes allerede eller er ugyldige" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "En liste over byggeresultater må oppgis" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Beliggenhet" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "Sted for ferdige byggeresultater" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Status" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "Godta ufullstendig tildeling" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "Fullstendig produkt dersom lagerbeholdning ikke er fullt tildelt" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "Fjern tildelt lagerbeholdning" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "Trekk fra alle varer som allerede er tildelt dette bygget" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "Fjern ufullstendige resultater" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "Slett alle byggresultater som ikke er fullført" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "Godta som brukt av denne byggeordren" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "Fjern før du fullfører denne ordren" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "Overtildelt lager" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hvordan vil du håndtere ekstra lagervarer tildelt for byggeordre" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "Noen varer i lager har blitt overskredet" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "Godta ikke tildelt" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Godta at lagervarer ikke er fullt tildelt til denne byggeordren" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Påkrevd varer er ikke fullt tildelt" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "Godta ufullstendig" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "Godta at antallet byggprodukter som kreves, ikke er gjennomført" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Antall nødvendige bygg er ikke fullført" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "Bestillingen har ufullstendige resultater" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "BOM varer" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "Byggresultat" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "Byggresultat må peke til samme byggversjon" -#: build/serializers.py:655 +#: build/serializers.py:665 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 byggeordren" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "Varen må være på lager" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig mengde ({q}) overskredet" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "Bygge utdata må spesifiseres for allokering av sporede deler" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Bygge utdage kan ikke spesifiseres for allokering av usporede deler" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "Denne lagervaren er allerede tildelt til denne byggeproduksjonen" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "Allokeringselementer må oppgis" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagersted hvor deler skal hentes (la stå tomt for å ta fra hvilken som helst lokasjon)" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "Eksluderer lokasjon" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "Ekskluder lagervarer fra denne valgte lokasjonen" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "Byttebar vare" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagervarer i flere lokasjoner kan brukes om hverandre" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "Erstatningsvare" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "Tilatt tildelling av erstatningsdeler" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "Valgfrie elementer" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "Tildel valgfrie BOM varer til bygge ordre" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lager er ikke fullt tildelt til denne byggordren" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "Måldato" @@ -1445,29 +1458,29 @@ msgstr "Forfall for denne builden var %(target)s" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "Forfallt" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Fullført" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "Salgsorder" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "Utstedt av" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "Prioritet" @@ -1498,8 +1511,8 @@ msgstr "Lager kilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige steder." -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "Destinasjon" @@ -1511,21 +1524,21 @@ msgstr "Målplassering er ikke spesifisert" msgid "Allocated Parts" msgstr "Tildelte deler" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "Parti" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "Opprettet" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "Tildel lagervarer til bygg" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "Fjern lager allokering" @@ -1576,7 +1589,7 @@ msgstr "Bestill nødvendige deler" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "Bestill deler" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "Slett resultat" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Utskrifts handlinger" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "Skriv ut etiketter" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "Fullførte byggeresultater" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Vedlegg" @@ -1666,7 +1681,7 @@ msgstr "Tildeling fullført" msgid "All untracked stock items have been allocated" msgstr "Alle usporbar lagervarer har tildelt" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "Ny byggeordre" @@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Fil" msgid "Select {name} file to upload" msgstr "Velg {name} fil som skal lastes opp" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 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:497 +#: common/models.py:498 msgid "Settings value" msgstr "Innstillings verdi" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "Valgt verdi er ikke et gyldig alternativ" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "Verdien må være en boolsk verdi" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "Verdien må være et heltall" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "Nøkkelstreng må være unik" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "Ingen gruppe" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "Omstart påkrevd" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "En innstilling har blitt endrett som krever en serveromstart" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "Server Instans navn" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "Strengbeskrivelse for serverinstansen" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "Bruk forekomstnavn" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "Bruk forekomstnavnet i tittellinjen" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "Begrens visning av 'about'" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "Vis bare `about` modal til superbrukere" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Firmanavn" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "Base-URL" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "Base URL for server instans" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "Tilat nedlastning av eksterne bilder og filer fra ekstern URL" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "Nedlastingsgrense" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "Maksimal tillatt nedlastingsstørrelse for eksternt bilde" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "Krever bekreftelse" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "Krev eksplisitt brukerbekreftelse for visse handlinger." -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "Tre dybde" -#: common/models.py:968 +#: common/models.py:975 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:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "Automatisk sikkerhetskopiering" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "Aktiver automatisk sikkerhetskopiering av database og mediafiler" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "Slett gamle oppgaver" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "Bakgrunnsoppgaveresultater vil bli slettet etter antall angitte dager" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "Slett feillogger" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "Feilloggene vil bli slettet etter et angitt antall dager" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "Brukervarsler slettes etter antall angitte dager" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Strekkode støtte" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "Aktiver skrekkodeleser støtte" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "Strekkode registrering forsinkelse" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "Strekkode tidsforsinkelse i behandling" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "Strekkode webcam støtte" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "Tillat strekkodelesning via webkamera i nettleseren" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "IPN regex" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulært uttrykksmønster for matchende del IPN" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "Tilat duplisert IPN" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme IPN" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "Tillat redigering av IPN" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat å endre IPN-verdien mens du redigerer en del" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "Kopier BOM data fra del" -#: common/models.py:1072 +#: common/models.py:1079 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:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "Kopier del parameterdata" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopier parameterdata som standard ved duplisering av en del" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "Kopier del test data" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "Kopier designmaler for kategoriparametere" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "Kopier kategori parametermaler ved oppretting av en del" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "Mal" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "Montering" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "Komponent" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "Salgbar" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "Sporbar" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "Vis relaterte deler" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "Vis relaterte deler i en del" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1419 +#: common/models.py:1426 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:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1433 +#: common/models.py:1440 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:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "Krevt at brukeren angi e-post ved registrering" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO brukere" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "Ved registrering spør brukere to ganger for e-posten" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "Ved registrerting, spør brukere to ganger for passord" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "Gruppe på registrering" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Sjekk at alle programtillegg er installert ved oppstart - aktiver i containermiljøer" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "Sjekk plugin signaturer" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "Kontroller og vis signaturer for plugins" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "Aktiver URL integrering" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "Aktiver tillegg for å legge til URL" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrering" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "Aktiver plugins for å integrere inn i navigasjon" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "Aktiver app integrasjon" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "Aktiver plugins for å legge til apper" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "Aktiver integrering av tidsplan" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "Aktiver utvidelser for å kjøre planlagte oppgaver" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrering" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "Aktiver plugins til å svare på interne hendelser" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 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:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "Vis abbonerte deler" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "Vis abbonerte deler på hjemmesiden" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "Vis abbonerte kategorier" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "Vis abbonerte delkatekorier på hjemmesiden" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på hjemmesiden" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "Antall nylig deler" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "Antall nylige deler som skal vises på indeks-side" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte BOMs" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "Vis BOMs som venter validering på hjemmesiden" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endret lagervarer på hjemmesiden" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "Siste lagertelling" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "Antall nylige lagervarer som skal vises på indeksside" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "Vis lav lager" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "Vis lav lagervarer på hjemmesiden" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "Vis tom lagervarer" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "Vis lav lagerbeholdning på hjemmesiden" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "Vis nødvendig lagervare" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for å bygge på hjemmesiden" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "Vis utløpt lager" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagerbeholdninger på hjemmesiden" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Del planlegging" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "Aktiv" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "Sjetong" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "Vert" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "Tittel" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Last opp fil" @@ -3023,7 +3073,7 @@ msgstr "Last opp fil" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Sammelign felter" @@ -3061,7 +3111,7 @@ msgstr "Beskrivelse av firmaet" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "Nettside" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "Link til ekstern bedriftsinformasjon" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Bilde" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "Produserer dette firmaet deler?" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "Valuta" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "Produsentens varenummer" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "Produsentdeler" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "Produsentens varenummer" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "Produsentdeler" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "Kunde" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "Last opp bilde" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "Oprett ny leverandørdel" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Ny leverandørdel" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "Bestill deler" @@ -3487,7 +3527,7 @@ msgstr "Produsentdeler" msgid "Create new manufacturer part" msgstr "Opprett ny produsentdeler" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Ny produsentdel" @@ -3501,11 +3541,11 @@ msgstr "Leverandør lager" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "Bestillingsorder" @@ -3524,11 +3564,11 @@ msgstr "Ny bestillingsorder" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "Salgsordre" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "Ny salgsorder" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "Tildelt lagervare" @@ -3558,17 +3598,17 @@ msgstr "Produsenter" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Bestill del" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "Endre produsent del" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "Slett produsentdel" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Leverandører" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "Slett leverandørdeler" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "Slett" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "Tildelt lagervarer" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "Leverandør deler" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "Handlinger for leverandørdeler" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Bestill del" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "Rediger Leverandørdel" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "Dupliser leverandørdelen" @@ -3717,7 +3757,7 @@ msgstr "Slett Leverandørdel" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "Leverandør lager" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "Leverandørordre" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "Koble strekkode til leverandørdelen" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Oppdater tilgjengelighet" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Spørrefilter (kommaseparert liste over nøkkel=verdiparer)," #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "Filtre" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "Valgmuligheter" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "Alle valgte leverandørdeler vil slettes" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index ec45b64164..643e1a986e 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:21\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -29,23 +29,23 @@ msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Uwagi" @@ -58,23 +58,23 @@ msgstr "Wartość '{name}' nie pojawia się w formacie wzoru" msgid "Provided value does not match required pattern: " msgstr "Podana wartość nie pasuje do wymaganego wzoru: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Wprowadź hasło" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Wprowadź nowe hasło" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Potwierdź hasło" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Potwierdź nowe hasło" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Stare hasło" @@ -130,7 +130,7 @@ msgstr "Zdalny serwer zwrócił pustą odpowiedź" msgid "Supplied URL is not a valid image file" msgstr "Podany adres URL nie jest poprawnym plikiem obrazu" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -170,23 +170,23 @@ msgstr "Liczba unikalnych numerów seryjnych ({s}) musi odpowiadać ilości ({q} msgid "Remove HTML tags from this value" msgstr "Usuń znaczniki HTML z tej wartości" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Nieprawidłowo sformatowany wzór" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Określono nieznany format klucza" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Brak wymaganego formatu klucza" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "Pole odniesienia nie może być puste" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "Odniesienie musi być zgodne z wymaganym wzorem" @@ -194,350 +194,363 @@ msgstr "Odniesienie musi być zgodne z wymaganym wzorem" msgid "Reference number is too large" msgstr "Numer odniesienia jest zbyt duży" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Brak pliku" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Załącznik" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Komentarz" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Użytkownik" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "data przesłania" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Nazwa pliku nie może być pusta" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Nieprawidłowy katalog załącznika" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Nazwa pliku zawiera niedozwolony znak '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Brak rozszerzenia w nazwie pliku" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Załącznik o tej nazwie już istnieje" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Błąd zmiany nazwy pliku" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "nadrzędny" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Ścieżka" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Dane kodu kreskowego" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Dane kodu kreskowego stron trzecich" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Hasz kodu kreskowego" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Unikalny hasz danych kodu kreskowego" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Znaleziono istniejący kod kreskowy" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Błąd serwera" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "Waluta" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Nazwa pliku" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Plik danych" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Wybierz plik danych do przesłania" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Nieobsługiwany typ pliku" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Plik jest zbyt duży" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Nie znaleziono kolumn w pliku" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Nie znaleziono wierszy danych w pliku" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Nie podano wierszy danych" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Nie podano kolumn danych" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Brakuje wymaganej kolumny: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "Adres URL zdalnego pliku obrazu" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Czeski" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Duński" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Niemiecki" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Grecki" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Angielski" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Hiszpański" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Hiszpański (Meksyk)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Perski" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Francuski" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Hebrajski" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Węgierski" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Włoski" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japoński" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Koreański" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Holenderski" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norweski" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polski" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugalski" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portugalski (Brazylijski)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Rosyjski" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "Słoweński" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Szwedzki" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Tajski" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Turecki" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Wietnamski" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Chiński" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "Sprawdzanie poziomu zdrowia InvenTree nie powiodło się" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "W toku" @@ -579,8 +592,8 @@ msgstr "Zagubiono" msgid "Returned" msgstr "Zwrócone" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Wysłane" @@ -664,7 +677,7 @@ msgstr "Podziel z pozycji nadrzędnej" msgid "Split child item" msgstr "Podziel element podrzędny" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Scalone przedmioty magazynowe" @@ -672,7 +685,7 @@ msgstr "Scalone przedmioty magazynowe" msgid "Converted to variant" msgstr "Przekonwertowano na wariant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Wyślij do klienta" @@ -721,27 +734,27 @@ msgstr "Przedawnienie nie może przekroczyć 100 %" msgid "Invalid value for overage" msgstr "Nieprawidłowa wartość przedawnienia" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Edytuj informacje użytkownika" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Ustaw hasło" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Hasła muszą być zgodne" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Podano nieprawidłowe hasło" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Informacja systemowa" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "O InvenTree" @@ -749,44 +762,44 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Zlecenia budowy" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Referencja" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Komponent" @@ -855,8 +869,8 @@ 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:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Lokalizacja źródła" @@ -896,21 +910,21 @@ msgstr "Status budowania" msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Docelowy termin zakończenia" @@ -918,8 +932,8 @@ msgstr "Docelowy termin zakończenia" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Data zakończenia" @@ -927,7 +941,7 @@ msgstr "Data zakończenia" msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Wydany przez" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Odpowiedzialny" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Link Zewnętrzny" @@ -999,11 +1013,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "Nie znaleziono wybranego elementu magazynowego w BOM" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Budowa" @@ -1025,18 +1039,18 @@ msgstr "Budowa" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Element magazynowy" @@ -1044,12 +1058,12 @@ msgstr "Element magazynowy" msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Ilość" @@ -1097,249 +1110,249 @@ msgstr "Zainstaluj do" msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Numer seryjny" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Lokalizacja" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Status" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "Element BOM" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 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:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "Zastępczy magazyn" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "Data docelowa" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "Zaległe" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Zakończone" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "Dodane przez" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "Przeznaczenie" @@ -1511,21 +1524,21 @@ msgstr "Nie określono lokalizacji docelowej" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "Partia" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "Utworzony" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "Przydziel zapasy do budowy" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "Cofnij przydział zapasów" @@ -1576,7 +1589,7 @@ msgstr "Zamów wymagane komponenty" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "Zamów komponent" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "Drukuj etykiety" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Załączniki" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "Nowe zlecenie budowy" @@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Plik" msgid "Select {name} file to upload" msgstr "Wybierz plik {name} do przesłania" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "Wartość musi być wartością binarną" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "Wartość musi być liczbą całkowitą" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "Ciąg musi być unikatowy" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "Brak grupy" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "Zmieniono ustawienie, które wymaga restartu serwera" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:936 +#: common/models.py:943 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:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "Włącz obsługę skanera kodów" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "Szablon" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "Złożenie" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "Komponent" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "Możliwość śledzenia" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "dni" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1448 +#: common/models.py:1455 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:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1483 +#: common/models.py:1490 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:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "Szukaj części" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "Ukryj nieaktywne części" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" -msgstr "" +#: common/models.py:1809 +msgid "Search Parts" +msgstr "Szukaj części" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" -msgstr "" +#: common/models.py:1830 +msgid "Hide Inactive Parts" +msgstr "Ukryj nieaktywne części" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" -msgstr "Pokaż ilość w formularzach" +msgid "Display stock locations in search preview window" +msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" -msgstr "Stały pasek nawigacyjny" +msgid "Display build orders in search preview window" +msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "Pokaż ilość w formularzach" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "Stały pasek nawigacyjny" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "Format daty" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "Cena" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "Aktywny" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "Sekret" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "Zawartość" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Wyślij plik" @@ -3023,7 +3073,7 @@ msgstr "Wyślij plik" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "Opis firmy" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "Strona WWW" @@ -3106,7 +3156,7 @@ msgstr "Punkt kontaktowy" msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Obraz" @@ -3138,229 +3188,219 @@ msgstr "jest producentem" msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "Waluta" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "Część bazowa" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "Wybierz część" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "Producent" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "Wybierz producenta" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "Numer producenta komponentu" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "Komponent producenta" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "Wartość" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "Jednostki" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "Jednostki parametru" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "Dostawca" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "Wybierz dostawcę" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "Uwaga" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "koszt podstawowy" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "Opakowanie" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "Opakowanie części" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "wielokrotność" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "Dostępne" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "Domyślna waluta używana dla tego dostawcy" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "Kod Waluty" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "Firma" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "Część bazowa" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "Wybierz część" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "Producent" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "Wybierz producenta" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "Numer producenta komponentu" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "Komponent producenta" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "Wartość" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "Jednostki" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "Jednostki parametru" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "Dostawca" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "Wybierz dostawcę" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "Uwaga" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "koszt podstawowy" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "Opakowanie" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "Opakowanie części" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "wielokrotność" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "Dostępne" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "Domyślna waluta używana dla tego dostawcy" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "Utwórz zamówienie zakupu" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "Edytuj firmę" @@ -3401,14 +3441,14 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "Klient" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "Załaduj obrazek" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "Pobierz obraz" @@ -3458,13 +3498,13 @@ msgstr "Utwórz nowego dostawcę części" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Nowy dostawca części" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "Zamów komponenty" @@ -3487,7 +3527,7 @@ msgstr "Części producenta" msgid "Create new manufacturer part" msgstr "Utwórz nową część producenta" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nowa część producenta" @@ -3501,11 +3541,11 @@ msgstr "Zapasy dostawcy" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "Zamówienia zakupu" @@ -3524,11 +3564,11 @@ msgstr "Nowe zamówienie zakupu" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "Producenci" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Zamów komponent" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "Edytuj komponent producenta" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "Usuń komponent producenta" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Dostawcy" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "Usuń" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parametry" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "Usuń parametry" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Dodaj parametr" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "Akcje kodów kreskowych" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "Pokaż Kod QR" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Zamów komponent" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "Skaner kodów" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "Utwórz nowy towar" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "Nowy towar" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "Informacja cenowa" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" -msgstr "Stan" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" +msgstr "Towary" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "Zamówienia" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "Cennik" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "Towary" - #: company/views.py:33 msgid "New Supplier" msgstr "Nowy dostawca" @@ -3828,10 +3848,6 @@ msgstr "Firmy" msgid "New Company" msgstr "Nowa firma" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "Nazwa etykiety" @@ -3848,7 +3864,7 @@ msgstr "Etykieta" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "Aktywne" @@ -3872,7 +3888,7 @@ msgstr "Wysokość [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "Filtry" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "Opis Zamówienia" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "Notatki do zamówienia" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "odebrane przez" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "Data Dostawy Towaru" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "Zamówienie" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "Odebrane" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "Notatki do przesyłki" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "Linia" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "Komponent" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "Duplikuj wybrane" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Usuń wiersz" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "Dodaj element zamówienia" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "Oczekujące przesyłki" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "Akcje" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "Nazwa komponentu" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "Wersja" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Słowa kluczowe" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "ID kategorii" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "Na stanie" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "W Zamówieniu" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "Użyte w" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "Przydzielono" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Części" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "IPN komponentu" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "Ważny" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "Dostępna ilość" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "Domyślne słowa kluczowe" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "Domyślne słowa kluczowe" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, 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:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "Wariant" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "Opis komponentu" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "Kategoria" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "Czy ta część może być użyta do budowy innych części?" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "Data" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "Wymagane" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "Dane" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "Poziom" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "Opcjonalne" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "Dziedziczone" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "Część 1" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "Część 2" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "Nie masz uprawnień do edycji BOM." @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "Usuń elementy" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "Masz włączone powiadomienia dla tej kategorii" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "Włącz powiadomienia dla tej kategorii" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "Akcje kategorii" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "Edytuj kategorię" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "Edytuj kategorię" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "Usuń kategorię" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "Usuń kategorię" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "Kategoria najwyższego poziomu" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Podkategorie" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "Części (w tym podkategorie)" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "Utwórz nową część" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "Nowy komponent" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "Opcje" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "Ustaw kategorię" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "Ustaw kategorię" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "Drukuj etykiety" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "Parametry części" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "Stwórz nową kategorię komponentów" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "Nowa kategoria" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "Utwórz nową kategorię części" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "Odśwież" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "Warianty Części" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "Utwórz nowy wariant" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "Nowy wariant" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Powiązane części" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "Dodaj powiązane" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Zestawienie materiałowe" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "Akcje eksportu" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "Eksportuj BOM" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "Drukuj raport BOM" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "Wgraj BOM" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "Weryfikuj BOM" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "Dodaj część do BOM" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "Złożenia" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "Dostawcy Części" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "Producenci części" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "Powiązane części" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "Dodaj powiązaną część" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "Wybierz format pliku" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "Drukuj etykietę" @@ -5991,7 +6114,7 @@ msgstr "Pokaż informacje o cenach" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "Akcje magazynowe" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "Część jest wirtualna (nie fizyczna)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "Nieaktywny" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "Przypisane do zamówień sprzedaży" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "Minimalny poziom stanu magazynowego" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "Ostatni numer seryjny" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "Szukaj numeru seryjnego" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "Kod QR części" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "Oblicz" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "Nie znaleziono pasujących obrazów" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "Ukryj szczegóły części" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "Cennik dostawcy" @@ -6136,6 +6263,7 @@ msgstr "Cena jednostkowa" #: 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:927 msgid "Total Cost" msgstr "Całkowity Koszt" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "Warianty" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "Stan" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "Cennik" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "Planowanie" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "Szablony testowe" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "Brak w magazynie" @@ -6327,32 +6471,28 @@ msgstr "Nieznana baza danych" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "Kod QR części" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "Wybierz obrazek części" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "Zaktualizowano zdjęcie części" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "Nie znaleziono obrazka części" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "Cennik części" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "Ustawienie jednokrotnego wyboru" msgid "A setting with multiple choices" msgstr "Ustawienie wielokrotnego wyboru" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "Źródłowy adres URL" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Źródło pakietu - może to być niestandardowy rejestr lub ścieżka VCS" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "Nazwa pakietu" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Nazwa pakietu wtyczki - może również zawierać wskaźnik wersji" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "Potwierdź instalację wtyczki" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Spowoduje to zainstalowanie tej wtyczki w bieżącej instancji. Instancja przejdzie do trybu konserwacji." @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "Filtr części" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "Numer Seryjny" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "Wynik" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "Zainstalowane elementy" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "Numer seryjny" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "ID lokalizacji" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "Ścieżka lokalizacji" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "ID części dostawcy" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "Zainstalowane w" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "Data ważności" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "Właściciel" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "Wybierz właściciela" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "Nadrzędny towar" - -#: stock/models.py:658 -msgid "Base part" -msgstr "Część podstawowa" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "Wybierz pasującą część dostawcy dla tego towaru" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "Lokacje stanu magazynowego" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "Właściciel" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "Wybierz właściciela" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "Nadrzędny towar" + +#: stock/models.py:670 +msgid "Base part" +msgstr "Część podstawowa" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "Wybierz pasującą część dostawcy dla tego towaru" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1329 +#: stock/models.py:1341 #, 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:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "Nazwa testu" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "Cena zakupu tego towaru" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "Skanuj do lokacji" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "Akcje druku" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "Przelicz stan magazynowy" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "Przenieś stan magazynowy" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "Element nadrzędny" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "Nie ustawiono producenta" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "Tylko do odczytu" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "poprzednia strona" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "następna strona" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "Lokacje nie są ustawione" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "Testy" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "Termin minął" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "Ostrzeżenie" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "Wróć do stanu magazynowego" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "Edytuj lokację" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Podlokalizacje" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "Lokacje stanu magazynowego" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "Nowa lokalizacja" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "Elementy podrzędne" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Odmowa dostępu" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "Import części" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "Wtyczki" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "Etap" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "Wiadomość" @@ -7931,71 +8097,71 @@ msgstr "Nie ustawiono wartości" msgid "Edit setting" msgstr "Edytuj ustawienie" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "Edytuj ustawienie wtyczki" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "Edytuj ustawienie globalne" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "Edytuj ustawienie użytkownika" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "Nie znaleziono szablonów parametrów kategorii" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "Edytuj szablon" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "Usuń szablon" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "Nie znaleziono szablonów parametrów części" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "Ustawienia globalne" msgid "Server Configuration" msgstr "Konfiguracja serwera" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "Kategorie" @@ -8514,11 +8680,11 @@ msgstr "Wprowadź token wygenerowany przez aplikację:" msgid "Verify" msgstr "Zweryfikuj" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "Dodaj link" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "Dodaj załącznik" @@ -8526,7 +8692,7 @@ msgstr "Dodaj załącznik" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "Wymagana ilość" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "Minimalna ilość" @@ -8595,11 +8761,11 @@ msgstr "Minimalna ilość" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Brak odpowiedzi" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "Brak odpowiedzi z serwera InvenTree" @@ -8611,27 +8777,27 @@ msgstr "Błąd 400: Błędne żądanie" msgid "API request returned error code 400" msgstr "Żądanie interfejsu API zwróciło kod błędu 400" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Błąd 401: Nieuwierzytelniony" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "Dane uwierzytelniające nie zostały dostarczone" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Błąd 403: Odmowa dostępu" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Nie masz uprawnień wymaganych do dostępu do tej funkcji" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Błąd 404: Nie znaleziono zasobu" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "Żądany zasób nie mógł być zlokalizowany na serwerze" @@ -8643,11 +8809,11 @@ msgstr "Błąd 405: Metoda nie jest dozwolona" msgid "HTTP method not allowed at URL" msgstr "Metoda HTTP nie jest dozwolona pod tym adresem URL" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Błąd 408: Przekroczony limit czasu" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "Limit czasu połączenia podczas żądania danych z serwera" @@ -8659,27 +8825,27 @@ msgstr "Nieobsługiwany kod błędu" msgid "Error code" msgstr "Kod błędu" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "Nie znaleziono załączników" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "Edytuj załącznik" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "Data przesłania" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "Edytuj załącznik" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "Usuń załącznik" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "Nieznana odpowiedź serwera" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Niepoprawna odpowiedź serwera" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "Rozłącz" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "Wyświetl dane wiersza" msgid "Row Data" msgstr "Dane wiersza" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Zamknij" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "Dodaj zamiennik" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "Zobacz BOM" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "Ostatni numer seryjny" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "Wyjście" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "Ilość za" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Wybierz części" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "Wybierz" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "Brak informacji o użytkowniku" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "Dodaj producenta" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "Dodaj część producenta" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "Dodaj dostawcę" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "Wszystkie wybrane komponenty dostawcy zostaną usunięte" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "Dodaj nową firmę" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "Usuń parametry" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "Nie znaleziono parametrów" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "Usuń parametr" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "Usuń parametr" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "Edytuj przedział cenowy" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "Ostatnio aktualizowane" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "Edytuj przedział cenowy" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "Pozostaw ten formularz otwarty" msgid "Enter a valid number" msgstr "Wprowadź poprawny numer" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Istnieją błędy formularza" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "Nie znaleziono wyników" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "Wyszukiwanie" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "Wyczyść wejście" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "Kolumna pliku" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "Nazwa pola" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "Wybór Kolumn" @@ -9519,7 +9685,7 @@ msgstr "TAK" msgid "NO" msgstr "Nie" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "Wybierz przedmioty magazynowe" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "Wybierz szablon etykiety" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "Anuluj" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Zatwierdź" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "Tytuł formularza" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "Oczekiwanie na serwer..." -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "Pokaż informacje o błędzie" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "Zaakceptuj" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "Wczytywanie danych" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "Niepoprawna odpowiedź serwera" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "Brak danych formularza z odpowiedzi serwera" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "Błąd podczas wysyłania danych formularza" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "Brak danych w formularzu odpowiedzi JSON" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "400: Nieprawidłowe zapytanie" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "Serwer zwrócił kod błędu 400" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "Błąd podczas żądania danych formularza" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "Oznacz zamówienie jako zakończone?" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "Edytuj zamówienie zakupu" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "Kod zamówienia" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "Zamówione" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "Ilość do otrzymania" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "Potwierdź odbiór elementów" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "Przedmioty" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "Razem" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "Cena jednostkowa" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "Cena całkowita" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "Nie znaleziono zamówień sprzedaży" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "Nieprawidłowy klient" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "Kompletna wysyłka" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "Nie odnaleziono pasujących przesyłek" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "Numer referencyjny przesyłki" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "Nie wysłano" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "Śledzenie" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "Potwierdź przydział zapasów" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "Cena zakupu" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "Oblicz cenę" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "Zaktualizuj cenę jednostkową" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "Atrybuty części" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "Edytuj kategorię części" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "Czy na pewno chcesz usunąć tę kategorię części?" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "Utwórz część" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "Utwórz kolejną część po tej" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "Część utworzona pomyślnie" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "Edytuj część" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "Część zmodyfikowana" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "Utwórz wariant części" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "Włącz powiadomienia dla tej części" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "Zostałeś wypisany z powiadomień dla tej części" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "Obserwowane części" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "Nie znaleziono wariantów" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "Nie znaleziono części" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "Brak kategorii" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "Wyświetl jako listę" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "Wyświetl jako siatkę" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "Ustaw kategorię części" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "Wyświetl jako drzewo" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "Obserwowana kategoria" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "Edytuj ${human_name}" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "Usuń ${human_name}" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "Czy na pewno chcesz skasować tą lokację?" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "Czy na pewno chcesz usunąć tą część?" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "Przenieś" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "Weź" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "Dodaj" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "Usuń stan magazynowy" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "BRAK WYNIKÓW" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "Dodaj wynik testu" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "W produkcji" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "Kod statusu musi być wybrany" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "Szczegóły" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "Lokalizacja już nie istnieje" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "Zamówienie zakupu już nie istnieje" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "Klient już nie istnieje" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "Element magazynowy już nie istnieje" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "Usunięto" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "Uwzględnij podlokalizacje" @@ -10973,218 +11138,218 @@ msgstr "Uwzględnij podlokalizacje" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "Obesrwowane" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "Numer seryjny" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "Kod partii" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "Aktywne części" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "Część jest zespołem" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "Jest przydzielony" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "Przedmiot został przydzielony" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "W produkcji" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "Obejmuje warianty" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "Zainstalowane" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "Posiada cenę zakupu" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "Test pomyślny" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "Przypisane do mnie" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "Status zamówienia" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "Pokaż aktywne części" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "Posiada IPN" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "Część posiada wewnętrzny numer części" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "Możliwość zakupu" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "Użytkownicy" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "Informacje osobiste" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "Uprawnienia" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "Ważne daty" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "Grupa" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "Widok" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "Zmień" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index ea3f9d6171..00f56d3070 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -29,23 +29,23 @@ msgstr "Detalhes do erro podem ser encontrados no painel de administrador" msgid "Enter date" msgstr "Insira uma Data" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Anotações" @@ -58,23 +58,23 @@ msgstr "Valor '{name}' não está no formato correto" msgid "Provided value does not match required pattern: " msgstr "O valor fornecido não corresponde ao padrão exigido: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Digite a senha" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Insira uma nova senha" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Confirmar senha" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Confirmar nova senha" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Senha atual" @@ -130,7 +130,7 @@ msgstr "O servidor remoto retornou resposta vazia" msgid "Supplied URL is not a valid image file" msgstr "A URL fornecida não é um arquivo de imagem válido" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Quantidade invalida" @@ -170,23 +170,23 @@ msgstr "Numero de numeros seriais ({s}) precisa bater com quantidade ({q})" msgid "Remove HTML tags from this value" msgstr "Remova as \"tags\" HTML deste valor" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Padrão formatado incorretamente" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Chave de formato desconhecida especificada" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Chave de formato obrigatória ausente" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "O campo de referência não pode ficar vazio" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "A referência deve corresponder ao padrão exigido" @@ -194,350 +194,363 @@ msgstr "A referência deve corresponder ao padrão exigido" msgid "Reference number is too large" msgstr "O número de referência é muito grande" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Arquivo nao encontrado" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Link externo nao encontrado" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Anexo" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Link" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link para URL externa" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Comentario" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Comentario sobre arquivo" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Usuario" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "data de upload" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Nome do arquivo nao pode estar vazio" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Diretorio para anexo invalido" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Arquivo contem characteres ilegais '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Arquivo sem extensao" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Anexo ja existe" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Erro renomeando o arquivo" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Escolha invalida" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Descricao" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Descricao (opicional)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "parent" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Caminho" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Dados de código de barras" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Dados de código de barras de terceiros" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Hash de código de barras" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Hash exclusivo de dados de código de barras" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Erro de servidor" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Nome do arquivo" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Arquivo de dados" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Selecione um arquivo de dados para enviar" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Tipo de arquivo não suportado" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "O arquivo é muito grande" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Nenhuma coluna encontrada no arquivo" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Nenhuma linha de dados encontrada no arquivo" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Nenhuma linha de dados fornecida" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Nenhuma coluna de dados fornecida" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta a coluna obrigatória: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Coluna duplicada: \"{col}\"" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Endereço da URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "URL do arquivo de imagem remoto" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Tcheco" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Dinamarquês" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Alemão" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Grego" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Inglês" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Espanhol" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Espanhol (Mexicano)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Persa" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Francês" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Hebraico" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Húngaro" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japonês" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Holandês" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norueguês" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polonês" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "" @@ -579,8 +592,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "" @@ -664,7 +677,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "" @@ -672,7 +685,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "" @@ -721,27 +734,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "" @@ -749,44 +762,44 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "" + #: build/models.py:155 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "" @@ -855,8 +869,8 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "" @@ -896,21 +910,21 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "" @@ -918,8 +932,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "" @@ -927,7 +941,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" @@ -999,11 +1013,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -1025,18 +1039,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "" @@ -1044,12 +1058,12 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "" @@ -1097,249 +1110,249 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 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 3c9abbfb03..ecdf665f0f 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:21\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -29,23 +29,23 @@ msgstr "Подробности об ошибке можно найти в пан msgid "Enter date" msgstr "Введите дату" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Заметки" @@ -58,23 +58,23 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "Предоставленное значение не соответствует требуемому формату: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Введите пароль" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Введите новый пароль" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Подтвердить пароль" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Подтвердите новый пароль" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Старый пароль" @@ -130,7 +130,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -170,23 +170,23 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "" @@ -194,350 +194,363 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Файл не найден" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Вложения" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Ссылка на внешний URL" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Комментарий" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Пользователь" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "дата загрузки" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Имя файла не должно быть пустым" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Неверная директория вложений" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Имя файла содержит запрещенные символы '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Отсутствует расширение для имени файла" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Вложение с таким именем файла уже существует" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Ошибка переименования файла" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Название" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Описание" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "родитель" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Путь" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "Валюта" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Имя файла" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Файл данных" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Выберите файл данных для загрузки" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Неподдерживаемый тип файла" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Файл слишком большой" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Столбцы в файле не найдены" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Ссылка" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Чешский" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Датский" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Немецкий" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Греческий" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Английский" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Испанский" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Испанский (Мексика)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Фарси / Персидский" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Французский" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Иврит" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Венгерский" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Итальянский" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Японский" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Корейский" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Голландский" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Норвежский" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Польский" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Португальский" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Португальский (Бразильский диалект)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Русский" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "Словенский" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Шведский" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Тайский" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Турецкий" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Вьетнамский" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Китайский" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "Ошибка проверки состояния системы InvenTree" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "Ожидаемый" @@ -579,8 +592,8 @@ msgstr "Потерян" msgid "Returned" msgstr "Возвращено" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Доставлено" @@ -664,7 +677,7 @@ msgstr "Отделить от родительского элемента" msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Объединенные позиции на складе" @@ -672,7 +685,7 @@ msgstr "Объединенные позиции на складе" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Отправлено клиенту" @@ -721,27 +734,27 @@ msgstr "Перегрузка не может превысить 100%" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Редактировать информацию о пользователе" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Установить пароль" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Пароли должны совпадать" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Информация о системе" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "" @@ -749,44 +762,44 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Неверный выбор для родительской сборки" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Порядок сборки" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Порядок сборки" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Неверный выбор для родительской сборки" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Отсылка" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Детали" @@ -855,8 +869,8 @@ msgstr "Отсылка на заказ" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Расположение источника" @@ -896,21 +910,21 @@ msgstr "Статус сборки" msgid "Build status code" msgstr "Код статуса сборки" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Целевая дата завершения" @@ -918,8 +932,8 @@ msgstr "Целевая дата завершения" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Дата завершения" @@ -927,7 +941,7 @@ msgstr "Дата завершения" msgid "completed by" msgstr "выполнено" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Выдал/ла" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Пользователь, выпустивший этот заказ на сборку" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Ответственный" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Внешняя ссылка" @@ -999,11 +1013,11 @@ msgstr "Элемент сборки должен указать вывод сб msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "Выбранная единица хранения не найдена в BOM" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Сборка" @@ -1025,18 +1039,18 @@ msgstr "Сборка" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Предметы на складе" @@ -1044,12 +1058,12 @@ msgstr "Предметы на складе" msgid "Source stock item" msgstr "Исходный складской предмет" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Исходный складской предмет" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Количество" @@ -1097,249 +1110,249 @@ msgstr "Установить в" msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "Результат сборки не совпадает с родительской сборкой" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "Результат этой сборки уже помечен как завершенный" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Серийные номера" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для результатов сборки" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Расположение" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Статус" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "BOM Компонент" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "Целевая дата" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "Просрочено" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Завершённые" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "Заказ покупателя" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "Выдано" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "Назначение" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "Партия" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "Создано" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "Заказать детали" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Печать" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Приложения" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "Новый заказ на сборку" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "Выберите {name} файл для загрузки" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Название компании" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "Базовая ссылка" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "Шаблон" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "Сборка" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "Компонент" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "Отслеживание" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "Цена" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Загрузить файл" @@ -3023,7 +3073,7 @@ msgstr "Загрузить файл" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "Описание компании" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "Сайт" @@ -3106,7 +3156,7 @@ msgstr "Контактное лицо" msgid "Link to external company information" msgstr "Ссылка на описание компании" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Изображение" @@ -3138,229 +3188,219 @@ msgstr "производитель" msgid "Does this company manufacture parts?" msgstr "Является ли компания производителем деталей?" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "Валюта" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "Базовая деталь" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "Выберите деталь" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "Производитель" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "Выберите производителя" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "Код производителя" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "Ссылка на сайт производителя" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "Деталь производителя" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "Наименование параметра" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "Значение" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "Значение параметра" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "Ед.изм" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "Единицы измерения" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "Поставщик" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "Выберите поставщика" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "Код поставщика" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "Ссылка на сайт поставщика" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "Заметка" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "Упаковка" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "Для этого поставщика используется валюта по умолчанию" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "Код валюты" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "Компания" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "Базовая деталь" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "Выберите деталь" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "Производитель" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "Выберите производителя" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "Код производителя" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "Ссылка на сайт производителя" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "Деталь производителя" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "Наименование параметра" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "Значение" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "Значение параметра" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "Ед.изм" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "Единицы измерения" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "Поставщик" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "Выберите поставщика" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "Код поставщика" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "Ссылка на сайт поставщика" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "Заметка" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "Упаковка" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "Для этого поставщика используется валюта по умолчанию" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "Создать заказ на закупку" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "Редактировать информацию о компании" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "Редактировать компанию" @@ -3401,14 +3441,14 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "Покупатель" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "Телефон" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "Загрузить изображение" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "Скачать изображение" @@ -3458,13 +3498,13 @@ msgstr "Создать новую деталь поставщика" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Новая деталь поставщика" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "Заказать детали" @@ -3487,7 +3527,7 @@ msgstr "Детали производителей" msgid "Create new manufacturer part" msgstr "Создать новую деталь производителя" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Новая деталь производителя" @@ -3501,11 +3541,11 @@ msgstr "Склад поставщика" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "Заказы на закупку" @@ -3524,11 +3564,11 @@ msgstr "Новый заказ на закупку" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "Заказы на продажу" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "Новый заказ на продажу" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "Производители" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Поставщики" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "Удалить деталь поставщика" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "Удалить" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Параметры" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "Удалить параметры" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Добавить параметр" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "Деталь поставщика" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "Действия со штрих-кодом" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "Редактировать деталь поставщика" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "Создать единицу хранения" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "Новая единица хранения" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "Информация о цене" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" -msgstr "Склад" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" +msgstr "Детали на складе" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "Заказы" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "Детали на складе" - #: company/views.py:33 msgid "New Supplier" msgstr "Новый поставщик" @@ -3828,10 +3848,6 @@ msgstr "Компании" msgid "New Company" msgstr "Новая компания" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "Высота [мм]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "Фильтры" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "Курс покупки валюты" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих единиц хранения" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "Курс продажи валюты" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Удалить строку" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "Действия" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "Артикул" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "Наименование детали" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "Версия" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Ключевые слова" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "Код категории" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Минимальный запас" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "На складе" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "Сборки" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Детали" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "IPN" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "Место хранения по умолчанию" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "Доступный запас" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "Место хранения по умолчанию для деталей этой категории" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "Ключевые слова по умолчанию" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "Ключевые слова по умолчанию для деталей этой категории" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "Место хранения по умолчанию для деталей этой категории" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "Ключевые слова по умолчанию" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "Ключевые слова по умолчанию для деталей этой категории" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном для других деталей?" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "Разновидность" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "Описание детали" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "Категория" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "Категория" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "Версия детали" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "Эта деталь актуальна?" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "Валюта покупки этой единицы хранения" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "Копировать параметры категории" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "У вас нет прав редактировать BOM." @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "Действия с BOM" @@ -5688,85 +5805,89 @@ msgstr "Действия с BOM" msgid "Delete Items" msgstr "Удалить элементы" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "Вы подписаны на уведомления для данной категории" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "Включить уведомления для данной категории" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "Действия с категорией" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "Редактировать категорию" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "Редактировать категорию" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "Удалить категорию" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "Удалить категорию" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Подкатегории" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "Детали (включая подкатегории)" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "Создать новую деталь" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "Новая деталь" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "Настройки" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "Укажите категорию" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "Укажите категорию" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "Параметры детали" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "Создать новую категорию деталей" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "Новая категория" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "Создать категорию деталей" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "Обновить" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "Разновидности детали" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "Создать новую разновидность" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "Новая разновидность" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Спецификация" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "Экспорт" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "Экспорт BOM" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "Сборки" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "Поставщики" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "Действия со складом" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "Эта деталь является разновидностью %(link)s" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "Минимальный складской запас" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "Подходящие изображения не найдены" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "Разновидности" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "Склад" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "Неизвестная база данных" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "Изображение детали не найдено" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "Автор не найден" msgid "No date found" msgstr "Дата не найдена" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "Исходная ссылка" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "Серийный номер" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "Код места хранения" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "Код детали поставщика" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "Код сборки" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "Родительская единица хранения" - -#: stock/models.py:658 -msgid "Base part" -msgstr "Базовая деталь" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "Места хранения" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "Родительская единица хранения" + +#: stock/models.py:670 +msgid "Base part" +msgstr "Базовая деталь" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "Код партии для этой единицы хранения" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "Исходная сборка" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту единицу хранения при обнулении складского запаса" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Заметки о единице хранения" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "Установленные единицы хранения" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "Установить единицу хранения" @@ -7214,7 +7369,7 @@ msgstr "Установить единицу хранения" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "Редактировать единицу хранения" msgid "Delete stock item" msgstr "Удалить единицу хранения" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "Родительский элемент" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "Предупреждение" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "Действия с местом хранения" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "Редактировать место хранения" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "Удалить место хранения" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "Ответственный за место хранения" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Места хранения" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "Места хранения" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "Создать новое место хранения" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "Новое место хранения" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "Места хранения" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Доступ запрещён" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "Шаблон параметра детали" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "Настройки плагинов" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "Изменить настройки" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "Изменить настройки плагинов" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "Изменить глобальные настройки" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "Изменить настройки пользователя" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "Шаблоны параметров категории не найдены" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "Редактировать шаблон" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "Удалить шаблон" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "Шаблоны параметров детали не найдены" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "Идентификатор" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "Глобальные настройки" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "Минимальное количество" @@ -8595,11 +8761,11 @@ msgstr "Минимальное количество" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "Ошибка 400: Некорректный запрос" msgid "API request returned error code 400" msgstr "API-запрос вернул код ошибки 400" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Ошибка 401: Авторизация не выполнена" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Ошибка 403: Доступ запрещён" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "У вас нет прав доступа к этой функции" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Ошибка 404: Ресурс не найден" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "Ошибка 405: Метод не разрешён" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Ошибка 408: Таймаут" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "Необработанная ошибка" msgid "Error code" msgstr "Код ошибки" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "Вложение не найдено" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "Редактировать элемент BOM" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "Удалить элемент BOM" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "Элементы BOM не найдены" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "Унаследовано от родительского BOM" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "Добавить производителя" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "Добавить деталь производителя" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "Редактировать деталь производителя" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "Добавить поставщика" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "Добавить деталь поставщика" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "Все выбранные детали поставщика будут удалены" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "Добавить новую компанию" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "Информация о компании не найдена" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "Удалить параметры" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "Информация о детали производителя не найдена" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "Деталь-шаблон" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "Параметры не найдены" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "Информация о детали поставщика не найдена" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "Редактировать деталь поставщика" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "Удалить деталь поставщика" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "Последнее обновление" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Форма содержит ошибки" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "Не найдено" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "Отменить" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Подтвердить" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "Ошибка отправки данных формы" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "Ошибка 400: Некорректный запрос" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "Сервер вернул код ошибки 400" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "Ошибка запроса данных формы" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Отмена этого заказа означает, что заказ нельзя будет редактировать." -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "Редактировать заказ на закупку" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "Добавить код партии" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "Заказов на закупку не найдено" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "Общая стоимость" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "Заказы на продажу не найдены" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "Подтвердите выделение запасов" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "Атрибуты детали" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "Настройки создания детали" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "Настройки дублирования детали" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "Добавить категорию" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "Копировать параметры категории" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "Родительская категория" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "Редактировать категорию" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "Вы уверены, что хотите удалить эту категорию?" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "Удалить категорию" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "Создать деталь" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "Создать ещё одну деталь после этой" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "Деталь создана успешно" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "Создать разновидность детали" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "Вы подписаны на уведомления для данного элемента" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "Вы подписались на уведомления для данного элемента" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "Включить уведомления для данного элемента" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "Вы отписались от уведомлений для данного элемента" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "Разновидности не найдены" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "Детали не найдены" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "Нет категории" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "Список" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "Таблица" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "Укажите категорию" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "Дерево" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "Вы уверены, что хотите удалить место хранения?" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "Создано несколько единиц хранения" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "Предупреждение: Операция объединения не может быть отменена" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "Следующие данные будут потеряны в процессе объединения" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "История складских перемещений будет удалена для объединённых элементов" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "Информация о деталях поставщика будет удалена для объединённых элементов" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "Код партии" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "Статус сборки" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "Права доступа" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "Права доступа" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "Вид" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "Разрешение на просмотр элементов" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "Разрешение на добавление элементов" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "Разрешение на редактирование элементов" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index 39df16559c..ba715fba26 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -29,23 +29,23 @@ msgstr "Napaka, podrobnosti vidne v pogledu administratorja" msgid "Enter date" msgstr "Vnesi datum" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Zapiski" @@ -58,23 +58,23 @@ msgstr "Vrednost '{name}' ni v predpisanem formatu" msgid "Provided value does not match required pattern: " msgstr "Podana vrednost se ujema s predpisanim vzorcem: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Vnesite geslo" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Vnesite novo geslo" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Potrdite geslo" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Potrdite novo geslo" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Staro geslo" @@ -130,7 +130,7 @@ msgstr "Oddaljeni server vrnil prazen odziv" msgid "Supplied URL is not a valid image file" msgstr "Podani URL ni veljavna slikovna datoteka" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Podana napačna količina" @@ -170,23 +170,23 @@ msgstr "Število unikatnih serijskih številk ({s}) se mora ujemati s količino msgid "Remove HTML tags from this value" msgstr "Odstranite oznako HTML iz te vrednosti" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Nepravilno nastavljen vzorec" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Nastavljen neprepoznan ključ formata" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Manjka obvezen ključ formata" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "Referenčno polje ne sme biti prazno" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "Referenca se mora ujemati s vzorcem" @@ -194,350 +194,363 @@ msgstr "Referenca se mora ujemati s vzorcem" msgid "Reference number is too large" msgstr "Referenčna številka prevelika" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Manjka datoteka" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Priloga" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Zunanja povezava" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Komentar" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Uporabnik" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "naloži datum" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Ime ne sme biti prazno" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Neveljavna mapa prilog" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Ime datoteke vsebuje neveljavni znak '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Datoteki manjka končnica" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Priloga s tem imenom že obstaja" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Napaka pri preimenovanju datoteke" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Opis (opcijsko)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "nadrejen" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Pot" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "Podatki čtrne kode" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "Podatki črtne kode tretje osebe" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "Oznaka črtne kode" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "Enolična oznaka podatkov črtne kode" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "Črtna koda že obstaja" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Napaka strežnika" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Ime datoteke" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Neveljavna vrednost" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Podatki datoteke" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Izberite datoteke za naložiti" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Nepodprta vrsta datotek" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Datoteka je prevelika" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "V datoteki ni bilo najdenih stolpcev" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "V datoteki ni bilo njadenih vrstic" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Niso bile podane vrste s podatki" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Niso bili podani stolpci s podatki" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Manjka obvezni stolpec: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dvojni stolpec: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Povezava" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "Povezava do oddaljene slike" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Češko" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "Danščina" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Nemščina" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Grščina" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Angleščina" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Španščina" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Španščina (Mehiško)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Farsi / Perzijsko" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Francoščina" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Hebrejščina" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Madžarščina" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Italijanščina" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japonščina" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Korejščina" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Nizozemščina" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norveščina" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Poljščina" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugalščina" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portugalščina (Brazilsko)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Ruščina" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "Slovenščina" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Švedščina" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Tajščina" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Turščina" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnamščina" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Kitajščina" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "Preverjanje zdravja sistema InvenTree neuspelo" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "V teku" @@ -579,8 +592,8 @@ msgstr "Izgubljeno" msgid "Returned" msgstr "Vrnjeno" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Poslano" @@ -664,7 +677,7 @@ msgstr "Razdeljena od nadrejene postavke" msgid "Split child item" msgstr "Razdeljena podrejena postavka" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Združena zaloga postavk" @@ -672,7 +685,7 @@ msgstr "Združena zaloga postavk" msgid "Converted to variant" msgstr "Spremenjeno v varianto" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Posalno stranki" @@ -721,27 +734,27 @@ msgstr "Prestarost ne sme presegati 100%" msgid "Invalid value for overage" msgstr "Neveljavna vrednost za prestarost" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Uredite informacije o uporabniku" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Nastavite geslo" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Polja z geslom se morajo ujemati" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Vnešeno nepravilno geslo" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Sistemske informacije" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "O InvenTree" @@ -749,44 +762,44 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Neveljavna izbira za nadrejeno izgradnjo" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Nalog izgradnje" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Nalogi izgradnje" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Neveljavna izbira za nadrejeno izgradnjo" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Referenca" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Del" @@ -855,8 +869,8 @@ msgstr "Referenca dobavnica" msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Lokacija vira" @@ -896,21 +910,21 @@ msgstr "Status izgradnje" msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Datum ustvarjenja" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Rok dokončanja" @@ -918,8 +932,8 @@ msgstr "Rok dokončanja" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Datom končanja" @@ -927,7 +941,7 @@ msgstr "Datom končanja" msgid "completed by" msgstr "dokončal" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Izdal" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Odgovoren" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Zunanja povezava" @@ -999,11 +1013,11 @@ msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot s msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "Izbrana postavka ni najdena v BOM" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Izdelava" @@ -1025,18 +1039,18 @@ msgstr "Izdelava" msgid "Build to allocate parts" msgstr "Izdelaj da prestaviš dele" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Postavka zaloge" @@ -1044,12 +1058,12 @@ msgstr "Postavka zaloge" msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Izvorna postavka zaloge" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Količina" @@ -1097,249 +1110,249 @@ msgstr "Inštaliraj v" msgid "Destination stock item" msgstr "Destinacija postavke zaloge" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "Izgradnja" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "Izhodni del se ne ujema s naročilom sestava" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "Ta sestava je že zaključena" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index de76d6bbe6..1a0ea81f48 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -29,23 +29,23 @@ msgstr "Information om felet finns under Error i adminpanelen" msgid "Enter date" msgstr "Ange datum" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Anteeckningar" @@ -58,23 +58,23 @@ msgstr "Värdet '{name}' visas inte i mönsterformat" msgid "Provided value does not match required pattern: " msgstr "Det angivna värdet matchar inte det obligatoriska mönstret: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Ange lösenord" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Ange nytt lösenord" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Bekräfta lösenord" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Bekräfta nytt lösenord" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Tidigare lösenord" @@ -130,7 +130,7 @@ msgstr "Fjärrservern returnerade tomt svar" msgid "Supplied URL is not a valid image file" msgstr "Angiven URL är inte en giltig bildfil" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" @@ -170,23 +170,23 @@ msgstr "Antal unika serienummer ({s}) måste matcha antal ({q})" msgid "Remove HTML tags from this value" msgstr "Ta bort HTML-taggar från detta värde" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "Felaktigt formaterat mönster" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "Okänd formatnyckel angiven" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "Obligatorisk formatnyckel saknas" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "Textfältet kan inte lämnas tomt" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "Referensen måste matcha obligatoriskt mönster" @@ -194,350 +194,363 @@ msgstr "Referensen måste matcha obligatoriskt mönster" msgid "Reference number is too large" msgstr "Referensnumret är för stort" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Saknad fil" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Extern länk saknas" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Bilaga" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Länk" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Länk till extern URL" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Användare" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "uppladdningsdatum" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Filnamnet får inte vara tomt" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Ogiltig katalog för bilaga" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnamnet innehåller ogiltiga tecken '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Filnamn saknar ändelse" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Det finns redan en bilaga med detta filnamn" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Fel vid namnbyte av fil" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "överordnad" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "Sökväg" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "Serverfel" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Filnamn" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Ogiltigt värde" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Välj fil för uppladdning" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Filtypen stöds inte" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Filen är för stor" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Inga kolumner hittades i filen" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Inga rader hittades i filen" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Inga rader angivna" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Inga datakolumner har angetts" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Saknar obligatorisk kolumn: '{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicerad kolumn: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "URL för fjärrbildsfil" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "Tjeckiska" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Tyska" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Grekiska" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "Engelska" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "Spanska" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "Spanska (Mexikanska)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "Farsi / Persiska" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Franska" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "Hebreiska" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Ungerska" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "Italienska" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japanska" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Koreanska" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Nederländska" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norska" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polska" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "Portugisiska" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "Portugisiska (brasiliansk)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Ryska" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "Svenska" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Thailändska" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Turkiska" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnamesiska" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Kinesiska" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree systemhälsokontroll misslyckades" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "Väntar" @@ -579,8 +592,8 @@ msgstr "Förlorad" msgid "Returned" msgstr "Återlämnad" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Skickad" @@ -664,7 +677,7 @@ msgstr "Dela från överordnat objekt" msgid "Split child item" msgstr "Dela underordnat objekt" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Sammanfogade lagerposter" @@ -672,7 +685,7 @@ msgstr "Sammanfogade lagerposter" msgid "Converted to variant" msgstr "Konverterad till variant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Skickat till kund" @@ -721,27 +734,27 @@ msgstr "Överskott får inte överstiga 100%" msgid "Invalid value for overage" msgstr "Ogiltigt värde för överskott" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Redigera användarinformation" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Ställ in lösenord" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Lösenorden måste matcha" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "Felaktigt lösenord angivet" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Systeminformation" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "Om InvenTree" @@ -749,44 +762,44 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "Ogiltigt val för överordnad bygge" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Byggorder" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Byggordrar" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "Ogiltigt val för överordnad bygge" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Referens" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Del" @@ -855,8 +869,8 @@ msgstr "Försäljningsorderreferens" msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Källa Plats" @@ -896,21 +910,21 @@ msgstr "Byggstatus" msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Skapad" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Datum för slutförande" @@ -918,8 +932,8 @@ msgstr "Datum för slutförande" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum." -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Slutförandedatum" @@ -927,7 +941,7 @@ msgstr "Slutförandedatum" msgid "completed by" msgstr "slutfört av" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Utfärdad av" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Ansvarig" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Extern länk" @@ -999,11 +1013,11 @@ msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "Vald lagervara hittades inte i BOM" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Bygg" @@ -1025,18 +1039,18 @@ msgstr "Bygg" msgid "Build to allocate parts" msgstr "Bygg för att allokera delar" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Artikel i lager" @@ -1044,12 +1058,12 @@ msgstr "Artikel i lager" msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Källa lagervara" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Antal" @@ -1097,249 +1110,249 @@ msgstr "Installera till" msgid "Destination stock item" msgstr "Destination lagervara" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "Bygg utdata" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "Byggutdata matchar inte överordnad version" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Plats" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Status" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "Måldatum" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "Försenad" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Slutförd" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "Försäljningsorder" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "Utfärdad av" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "Mål" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "Skapad" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "Beställ obligatoriska delar" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "Beställ delar" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "Skriv ut etiketter" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Bilagor" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "Ny byggorder" @@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Fil" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "Ingen grupp" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "Omstart krävs" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "Serverinstans (Namn)" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Företagsnamn" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "Internt företagsnamn" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "Bas-URL" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "Bas-URL för serverinstans" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "Ladda ned från URL" -#: common/models.py:936 +#: common/models.py:943 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:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "Kräv bekräftelse" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "Kräv uttrycklig användarbekräftelse för vissa åtgärder." -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Stöd för streckkoder" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "Aktivera stöd för streckkodsläsare" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "Delar är virtuella som standard" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "Visa import i vyer" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "Visa importguiden i vissa delvyer" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "Visa relaterade delar" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "Visa relaterade delar för en del" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "Visningsformat för delnamn" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "Formatera för att visa artikelnamnet" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "Interna priser" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "Debugläge" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "Sidstorlek" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "Aktivera testrapporter" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 548e72e18b..db709686d2 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:21\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -29,23 +29,23 @@ msgstr "" msgid "Enter date" msgstr "ป้อนวันที่" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "หมายเหตุ" @@ -58,23 +58,23 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "ป้อนรหัสผ่าน" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "ป้อนรหัสผ่านใหม่" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "ยืนยันรหัสผ่าน" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "ยืนยันรหัสผ่านใหม่" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "รหัสผ่านเดิม" @@ -130,7 +130,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" @@ -170,23 +170,23 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "" @@ -194,350 +194,363 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "ไฟล์แนบ" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "ความคิดเห็น" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "ผู้ใช้งาน" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "วันที่อัปโหลด" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "จำเป็นต้องใส่ชื่อไฟล์" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "ชื่อไฟล์ห้ามมีตัวอักษรต้องห้าม '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "ไม่พบนามสกุลของไฟล์" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "คำอธิบาย" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "ข้อมูลบาร์โค้ด" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "บาร์โค้ดนี้มีในระบบแล้ว" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "ชื่อไฟล์" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "ไฟล์ข้อมูล" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "เลือกไฟล์ข้อมูลที่จะอัปโหลด" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "ไฟล์มีขนาดใหญ่เกินไป" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "ภาษาโปรตุเกส" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "ภาษารัสเซีย" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "ภาษาสวีเดน" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "ภาษาไทย" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "ภาษาเวียดนาม" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "ภาษาจีน" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "อยู่ระหว่างดำเนินการ" @@ -579,8 +592,8 @@ msgstr "สูญหาย" msgid "Returned" msgstr "ส่งคืนแล้ว" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "จัดส่งแล้ว" @@ -664,7 +677,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "" @@ -672,7 +685,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "จัดส่งให้ลูกค้าแล้ว" @@ -721,27 +734,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "แก้ไขข้อมูลสมาชิก" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "ตั้งรหัสผ่าน" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "รหัสผ่านต้องตรงกัน" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "ป้อนรหัสผ่านไม่ถูกต้อง" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "ข้อมูลระบบ" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "เกี่ยวกับ Inventree" @@ -749,44 +762,44 @@ msgstr "เกี่ยวกับ Inventree" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "" + #: build/models.py:155 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "" @@ -855,8 +869,8 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "" @@ -896,21 +910,21 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "" @@ -918,8 +932,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "" @@ -927,7 +941,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" @@ -999,11 +1013,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -1025,18 +1039,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "" @@ -1044,12 +1058,12 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "" @@ -1097,249 +1110,249 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "สถานะ" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 3c28f324a3..ca223a8f97 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -29,23 +29,23 @@ msgstr "Hata detaylarını admin panelinde bulabilirsiniz" msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "Notlar" @@ -58,23 +58,23 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "Şifrenizi girin" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "Lütfen Yeni Parolayı Girin" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Parolayı doğrulayın" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Yeni parolayı doğrulayın" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "Eski parola" @@ -130,7 +130,7 @@ msgstr "Uzak sunucu boş cevap döndü" msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir resim dosyası değil" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -170,23 +170,23 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "" @@ -194,350 +194,363 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "Eksik dosya" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Ek" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Yorum" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Kullanıcı" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "yükleme tarihi" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Dosya adı boş olamaz" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "Ek dosya yolu geçersiz" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dosya adı geçersiz karakterler içeriyor'{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "Dosya uzantısı yok" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "Aynı isimli başka bir dosya zaten var" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "Dosya adı değiştirilirken hata" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "üst" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "Para birimi" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Dosya adı" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "Veri Dosyası" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "Yüklemek istediğiniz dosyayı seçin" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "Desteklenmeyen dsoya tipi" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "Dosya boyutu çok büyük" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "Dosyada kolon bulunamadı" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "Dosyada uygun kolon bulunamadı" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Gerekli kolon ismi eksik:'{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "Almanca" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "Yunanca" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "İngilizce" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "İspanyolca" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "İspanyolca(Meksika)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "Fransızca" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "İbranice" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "Macarca" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "İtalyanca" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "Japonca" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "Korece" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "Flemenkçe" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "Norveççe" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "Polonyaca" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "Rusça" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "İsveççe" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "Tay dili" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "Vietnamca" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "Çince" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree sistem sağlık kontrolü başarısız" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "Bekliyor" @@ -579,8 +592,8 @@ msgstr "Kayıp" msgid "Returned" msgstr "İade" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "Sevk edildi" @@ -664,7 +677,7 @@ msgstr "Üst ögeden ayır" msgid "Split child item" msgstr "Alt ögeyi ayır" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" @@ -672,7 +685,7 @@ msgstr "Stok parçalarını birleştir" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "Müşteriye gönderildi" @@ -721,27 +734,27 @@ msgstr "Fazlalık %100'ü geçmemelidir" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Kullanıcı Bilgisini Düzenle" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Şifre Belirle" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "Parola alanları eşleşmelidir" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Sistem Bilgisi" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "InvenTree Hakkında" @@ -749,44 +762,44 @@ msgstr "InvenTree Hakkında" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Yapım İşi Emirleri" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "" + #: build/models.py:155 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "Referans" @@ -804,42 +817,43 @@ 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:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Parça" @@ -855,8 +869,8 @@ 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:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "Kaynak Konum" @@ -896,21 +910,21 @@ msgstr "Yapım İşi Durumu" msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" @@ -918,8 +932,8 @@ 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:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -927,7 +941,7 @@ msgstr "Tamamlama tarihi" msgid "completed by" msgstr "tamamlayan" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "Veren" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "Sorumlu" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Harici Bağlantı" @@ -999,11 +1013,11 @@ msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktıs msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "Yapım İşi" @@ -1025,18 +1039,18 @@ msgstr "Yapım İşi" msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "Stok Kalemi" @@ -1044,12 +1058,12 @@ msgstr "Stok Kalemi" msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "Kaynak stok kalemi" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "Miktar" @@ -1097,249 +1110,249 @@ msgstr "Kurulduğu yer" msgid "Destination stock item" msgstr "Hedef stok kalemi" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "Seri Numaraları" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "Konum" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Durum" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Gerekli yapım işi miktarı tamamlanmadı" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "Hedeflenen tarih" @@ -1445,29 +1458,29 @@ msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "Vadesi geçmiş" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Tamamlandı" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "Veren" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "Hedef" @@ -1511,21 +1524,21 @@ msgstr "Hedef konumu belirtilmedi" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "Toplu" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "Oluşturuldu" @@ -1545,7 +1558,7 @@ msgstr "Alt Yapım İşi Emrileri" msgid "Allocate Stock to Build" msgstr "Yapım İşi için Stok Tahsis Et" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "Stok tahsisini kaldır" @@ -1576,7 +1589,7 @@ msgstr "Gerekli parçaları sipariş edin" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "Parça Siparişi" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "Yazdırma İşlemleri" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "Etiketleri yazdır" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "Tamamlanmış Yapım İşi Çıktıları" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Ekler" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "Yeni Yapım İşi Emri" @@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Dosya" msgid "Select {name} file to upload" msgstr "{name} dosyasını yüklemek için seçin" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:936 +#: common/models.py:943 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:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "Barkod tarayıcı desteğini etkinleştir" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:1053 +#: common/models.py:1060 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:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:1058 +#: common/models.py:1065 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:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "Şablon" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "Montaj" -#: common/models.py:1107 +#: common/models.py:1114 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:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "Bileşen" -#: common/models.py:1114 +#: common/models.py:1121 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:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "Takip Edilebilir" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "Sanal" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "günler" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" -msgstr "Formlarda Miktarı Göster" +msgid "Display stock locations in search preview window" +msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "Formlarda Miktarı Göster" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "Fiyat" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "Aktif" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Dosya Yükle" @@ -3023,7 +3073,7 @@ msgstr "Dosya Yükle" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Alanları Eşleştir" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Resim" @@ -3138,229 +3188,219 @@ msgstr "üretici mi" msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "Para birimi" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "Temel Parça" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "Parça seçin" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "Üretici" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "Üretici seçin" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "ÜPN" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "Üretici Parça Numarası" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "Parametre adı" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "Değer" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "Parametre değeri" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "Tedarikçi" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "Tedarikçi seçin" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "Not" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "temel maliyet" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "Paketleme" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "çoklu" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "Mevcut" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "Para Birimi Kodu" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "Temel Parça" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "Parça seçin" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "Üretici" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "Üretici seçin" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "ÜPN" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "Üretici Parça Numarası" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "Parametre adı" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "Değer" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "Parametre değeri" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "Tedarikçi" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "Tedarikçi seçin" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "Not" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "temel maliyet" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "Paketleme" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "çoklu" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "Mevcut" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "Satın Alma Emri Oluştur" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "Müşteri" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "Resmi İndirin" @@ -3458,13 +3498,13 @@ msgstr "Yeni tedarikçi parçası oluştur" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Yeni Tedarikçi Parçası" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "Tedarikçi Stoku" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" @@ -3524,11 +3564,11 @@ msgstr "Yeni Satın Alma Emri" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "Satış Emirleri" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "Yeni Satış Emri" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "Atanan Stok" @@ -3558,17 +3598,17 @@ msgstr "Üreticiler" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Parça siparişi" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "Tedarikçi parçalarını sil" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "Tedarikçi Parçası" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "Barkod işlemleri" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "Tedarikçi Parça Stoku" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "Tedarikçi Parçası Emirleri" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "Fiyat Bilgisi" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" -msgstr "Stok" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" +msgstr "Stok Kalemleri" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "Tedarikçi Parçası Fiyatlandırması" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "Fiyatlandırma" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "Stok Kalemleri" - #: company/views.py:33 msgid "New Supplier" msgstr "Yeni Tedarikçi" @@ -3828,10 +3848,6 @@ msgstr "Şirketler" msgid "New Company" msgstr "Yeni Şirket" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "Etiket adı" @@ -3848,7 +3864,7 @@ msgstr "Etiket" msgid "Label template file" msgstr "Etiket şablon listesi" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "Etkin" @@ -3872,7 +3888,7 @@ msgstr "Yükseklik [mm]" msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "Filtreler" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "Sipariş açıklaması" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "Sipariş notları" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "İşlemler" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "DPN" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Anahtar kelimeler" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Minimum Stok" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Parçalar" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "Varsayılan Konum" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "Bu kategori içindeki parçalar için varsayılan konum" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "Bu kategori içindeki parçalar için varsayılan konum" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "Parça adı" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Bu parça başka bir parçanın çeşidi mi?" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "Çeşidi" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "Parça açıklaması" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 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:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "Gerekli" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 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:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:3460 +#: part/models.py:3522 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:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alt kategoriler" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "Parçalar (Alt kategoriler dahil)" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "Kategori ayarla" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "Kategori Ayarla" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "Yenile" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "Parça Test Şablonları" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "Test Şablonu Ekle" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "Parça Çeşitleri" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "Yeni çeşit oluştur" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "Yeni Çeşit" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "Parça Tedarikçileri" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "Etiket Yazdır" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "Stok işlemleri" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "Pasif" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "Bu parça %(link)s parçasının bir çeşididir" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "Son Seri Numarası" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "Hesapla" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ msgstr "Birim Maliyeti" #: 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:927 msgid "Total Cost" msgstr "Toplam Maliyet" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "Stok" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "Fiyatlandırma" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "Stok Yok" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "Rapor şablon tanımı" msgid "Report revision number (auto-increments)" msgstr "Revizyon numarası raporla (otomatik artış)" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "Rapor şablonu etkin" -#: report/models.py:281 +#: report/models.py:280 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:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "Seri Numara" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "Seri No" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "Seri numarası olan ögenin miktarı bir olmalı" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "Üst Stok Kalemi" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -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:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "Stok Konumları" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "Seri numarası olan ögenin miktarı bir olmalı" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "Üst Stok Kalemi" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +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:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "Konuma Tara" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "Yazdırma işlemleri" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "Stok ayarlama işlemleri" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "Stoku seri numarala" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "Stok kalemi tüm gerekli testleri geçmedi" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "Bu stok kalemi seri numaları - Benzersiz bir seri numarasına sahip ve miktarı ayarlanamaz." -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "Konum ayarlanmadı" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "Uyarı" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "Bu işlem kolayca geri alınamaz" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "Stok Kalemine Dönüştür" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "Bu stok kalemi için seri numaralandırılmış ögeler oluştur." msgid "Select quantity to serialize, and unique serial numbers." msgstr "Seri numaralandırılacak miktarı ve benzersiz seri numaralarını seçin." -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "Konum işlemleri" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "Konumu düzenle" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "Konumu sil" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenlenemez." -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "Stok Konumları" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "Yeni stok konumu oluştur" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "Yeni Konum" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "Stok Konumu QR Kodu" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "Parça Parametre Şablonu" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "Kategori parametre şablonu bulunamadı" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "Şablonu Düzenle" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "Şablonu Sil" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "Kategori Parametre Şablonu Oluştur" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "Kategori Parametre Şablonu Sil" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "Kategori Parametre Şablonu Oluştur" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "Parça parametre şablonu bulunamadı" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "Parça Parametre Şablonu Oluştur" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "Parça Parametre Şablonu Düzenle" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "Parça Parametre Şablonu Sil" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "Dosya Ekle" @@ -8526,7 +8692,7 @@ msgstr "Dosya Ekle" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Cevap Yok" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "Ek Düzenle" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Kapat" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "Gerekli Parça" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "Tamamlanmış Yapım İşi Emri" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "Stok tahsisini düzenle" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "Stok tahsisini sil" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Parçaları Seçin" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "Şablon Parça" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "Tedarikçi parçasını düzenle" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "Tedarikçi parçasını sil" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "Etiket Şablonu Seç" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "Ürünler" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "Stok tahsisini onayla" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "Silme İşlemini Onayla" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "Seri numaralarını tahsis et" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "Seri Numaralarını Tahsis Et" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "Çeşit bulunamadı" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "Katagori Yok" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "Stok konumunu düzenle" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "Stok Konumunu Sil" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "Stok ayarlamasını onayla" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "Stok konumu ayarlanmadı" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "Detaylar" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "Çeşit Stokuna İzin Ver" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "Alt konumları dahil et" @@ -10973,218 +11138,218 @@ msgstr "Alt konumları dahil et" msgid "Include locations" msgstr "Konumları dahil et" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:250 msgid "Is Serialized" msgstr "Seri Numaralı" -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:257 msgid "Serial number GTE" msgstr "Seri numarası BvE" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:258 msgid "Serial number greater than or equal to" msgstr "Seri numarası büyük veya eşit" -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 msgid "Serial number LTE" msgstr "Seri numarası KvE" -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:176 +#: templates/js/translated/table_filters.js:262 msgid "Serial number less than or equal to" msgstr "Seri numarası küçük veya eşit" -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "Seri numarası" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "Alt konumlardaki stoku dahil et" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "Çeşitleri Dahil Et" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "Çeşit parçaların stok kalemlerini dahil et" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "Alt kategorilerdeki parçaları dahil et" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "DPN Var" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "Kullanıcılar" msgid "Select which users are assigned to this group" msgstr "Bu gruba atanacak kullanıcıyı seçin" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "Aşağıdaki kullanıcılar birden çok grubun üyesi:" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "Kullanıcı bilgisi" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "Yetkiler" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "Önemli tarihler" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "İzinleri ayarla" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "Grup" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "Görünüm" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "Parçayı görüntüleme izni" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "Parça ekleme izni" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "Değiştir" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "Parçaları düzenleme izni" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "Parçaları silme izni" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index e7e8b12a66..e433e51f51 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:21\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -29,23 +29,23 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "" @@ -58,23 +58,23 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "Xác nhận mật khẩu" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "Xác nhận mật khẩu mới" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "" @@ -130,7 +130,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "" @@ -170,23 +170,23 @@ msgstr "" msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "" @@ -194,350 +194,363 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Bình luận" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "Người dùng" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "Ngày tải lên" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "Tên tập tin không được để trống" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "Tên tập tin" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "" @@ -579,8 +592,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "" @@ -664,7 +677,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "" @@ -672,7 +685,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "" @@ -721,27 +734,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "Thông tin hệ thống" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "Giới thiệu" @@ -749,44 +762,44 @@ msgstr "Giới thiệu" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "Tạo đơn hàng" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "" + #: build/models.py:155 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "Nguyên liệu" @@ -855,8 +869,8 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "" @@ -896,21 +910,21 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "" @@ -918,8 +932,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "Ngày hoàn thành" @@ -927,7 +941,7 @@ msgstr "Ngày hoàn thành" msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "" @@ -936,12 +950,12 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "" @@ -952,8 +966,8 @@ msgstr "" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" @@ -999,11 +1013,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -1025,18 +1039,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "" @@ -1044,12 +1058,12 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "" @@ -1097,249 +1110,249 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "Trạng thái" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "" @@ -1445,29 +1458,29 @@ msgstr "" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "Đã hoàn thành" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "" @@ -1498,8 +1511,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "" @@ -1511,21 +1524,21 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "" @@ -1545,7 +1558,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "" @@ -1576,7 +1589,7 @@ msgstr "" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "" @@ -1629,12 +1642,12 @@ msgid "Delete outputs" msgstr "" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "" @@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1666,7 +1681,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "" @@ -1723,1272 +1738,1307 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:65 templates/js/translated/part.js:789 +#: common/models.py:66 msgid "Updated" msgstr "" -#: common/models.py:66 +#: common/models.py:67 msgid "Timestamp of last update" msgstr "" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" msgstr "" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" msgstr "" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" msgstr "" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" msgstr "" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" msgstr "" -#: common/models.py:885 +#: common/models.py:892 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:892 +#: common/models.py:899 msgid "Server Instance Name" msgstr "" -#: common/models.py:894 +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1622 +#: common/models.py:1670 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:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" +msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1860 -msgid "Display available part quantity in some forms" +#: common/models.py:1865 +msgid "Search Companies" msgstr "" #: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" @@ -3023,7 +3073,7 @@ msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -3061,7 +3111,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" @@ -3138,229 +3188,219 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "Nhà sản xuất" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "Nhà cung cấp" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "Nhà sản xuất" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "Nhà cung cấp" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "" @@ -3401,14 +3441,14 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "" @@ -3458,13 +3498,13 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "" @@ -3487,7 +3527,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" @@ -3501,11 +3541,11 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3524,11 +3564,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Thông số" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "Xóa các thông số" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" -msgstr "Kiện hàng" - -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" msgstr "" -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "" - #: company/views.py:33 msgid "New Supplier" msgstr "" @@ -3828,10 +3848,6 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "" @@ -3848,7 +3864,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "" @@ -3872,7 +3888,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "" @@ -3897,447 +3913,443 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Nguyên liệu" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "Sao chép thông số nhóm hàng" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "Thông số phụ tùng" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "Số seri mới nhất" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "Kiện hàng" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "" msgid "Part Parameter Templates" msgstr "" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "Chỉnh sửa cài đặt toàn cục" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "Chỉnh sửa cài đặt người dùng" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "Những thông số thuộc mẫu này cũng sẽ bị xóa" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "Cài đặt toàn cục" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "" @@ -8526,7 +8692,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "Số seri mới nhất" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "Tất cả những thống số được chọn sẽ bị xoá" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "Xóa các thông số" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "Không có thông số được tìm thấy" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "Sao chép thông số nhóm hàng" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index c558cc50b9..0a6e0a1d3c 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-02-14 11:07+0000\n" -"PO-Revision-Date: 2023-02-14 21:04\n" +"POT-Creation-Date: 2023-02-21 02:58+0000\n" +"PO-Revision-Date: 2023-02-21 22:22\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -29,23 +29,23 @@ msgstr "在管理面板中可以找到错误详细信息" msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:204 build/serializers.py:388 -#: build/templates/build/sidebar.html:21 company/models.py:530 -#: company/templates/company/sidebar.html:25 order/models.py:943 +#: InvenTree/fields.py:204 build/serializers.py:389 +#: build/templates/build/sidebar.html:21 company/models.py:549 +#: company/templates/company/sidebar.html:25 order/models.py:946 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/admin.py:27 -#: part/models.py:2920 part/templates/part/part_sidebar.html:62 +#: order/templates/order/so_sidebar.html:17 part/admin.py:41 +#: part/models.py:2897 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190 -#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 -#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 +#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 +#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1023 -#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599 -#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032 -#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865 -#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023 +#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222 +#: templates/js/translated/company.js:1062 +#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657 +#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084 +#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056 msgid "Notes" msgstr "备注" @@ -58,23 +58,23 @@ msgstr "值 '{name}' 没有以模式格式显示" msgid "Provided value does not match required pattern: " msgstr "提供的值与所需模式不匹配: " -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:145 msgid "Enter password" msgstr "输入密码" -#: InvenTree/forms.py:136 +#: InvenTree/forms.py:146 msgid "Enter new password" msgstr "输入新密码" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:155 msgid "Confirm password" msgstr "确认密码" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:156 msgid "Confirm new password" msgstr "确认新密码" -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:160 msgid "Old password" msgstr "旧密码" @@ -130,7 +130,7 @@ msgstr "远程服务器返回了空响应" msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" -#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496 +#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -170,23 +170,23 @@ msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" msgid "Remove HTML tags from this value" msgstr "从这个值中删除 HTML 标签" -#: InvenTree/models.py:238 +#: InvenTree/models.py:243 msgid "Improperly formatted pattern" msgstr "格式不正确" -#: InvenTree/models.py:245 +#: InvenTree/models.py:250 msgid "Unknown format key specified" msgstr "指定了未知格式密钥" -#: InvenTree/models.py:251 +#: InvenTree/models.py:256 msgid "Missing required format key" msgstr "缺少必需的格式密钥" -#: InvenTree/models.py:263 +#: InvenTree/models.py:268 msgid "Reference field cannot be empty" msgstr "引用字段不能为空" -#: InvenTree/models.py:270 +#: InvenTree/models.py:275 msgid "Reference must match required pattern" msgstr "引用必须匹配所需的图案" @@ -194,350 +194,363 @@ msgstr "引用必须匹配所需的图案" msgid "Reference number is too large" msgstr "参考编号过大" -#: InvenTree/models.py:384 +#: InvenTree/models.py:388 msgid "Missing file" msgstr "缺少文件" -#: InvenTree/models.py:385 +#: InvenTree/models.py:389 msgid "Missing external link" msgstr "缺少外部链接" -#: InvenTree/models.py:405 stock/models.py:2184 -#: templates/js/translated/attachment.js:103 -#: templates/js/translated/attachment.js:241 +#: InvenTree/models.py:409 stock/models.py:2196 +#: templates/js/translated/attachment.js:110 +#: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "附件" -#: InvenTree/models.py:406 +#: InvenTree/models.py:410 msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129 -#: company/models.py:281 company/models.py:517 order/models.py:85 -#: order/models.py:1282 part/admin.py:25 part/models.py:866 +#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129 +#: company/models.py:300 company/models.py:536 order/models.py:84 +#: order/models.py:1284 part/admin.py:39 part/models.py:835 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:102 templates/js/translated/company.js:692 -#: templates/js/translated/company.js:1012 -#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869 +#: stock/admin.py:119 templates/js/translated/company.js:731 +#: templates/js/translated/company.js:1051 +#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952 msgid "Link" msgstr "链接" -#: InvenTree/models.py:413 build/models.py:291 part/models.py:867 -#: stock/models.py:716 +#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 +#: stock/models.py:728 msgid "Link to external URL" msgstr "链接到外部 URL" -#: InvenTree/models.py:416 templates/js/translated/attachment.js:104 -#: templates/js/translated/attachment.js:285 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "注释" -#: InvenTree/models.py:416 +#: InvenTree/models.py:420 msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941 -#: common/models.py:1942 common/models.py:2165 common/models.py:2166 -#: common/models.py:2422 common/models.py:2423 part/models.py:2928 -#: part/models.py:3014 part/models.py:3034 plugin/models.py:270 -#: plugin/models.py:271 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987 +#: common/models.py:1988 common/models.py:2211 common/models.py:2212 +#: common/models.py:2468 common/models.py:2469 part/models.py:2905 +#: part/models.py:2993 part/models.py:3072 part/models.py:3092 +#: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2743 msgid "User" msgstr "用户" -#: InvenTree/models.py:426 +#: InvenTree/models.py:430 msgid "upload date" msgstr "上传日期" -#: InvenTree/models.py:448 +#: InvenTree/models.py:452 msgid "Filename must not be empty" msgstr "文件名不能为空!" -#: InvenTree/models.py:457 +#: InvenTree/models.py:461 msgid "Invalid attachment directory" msgstr "非法的附件目录" -#: InvenTree/models.py:467 +#: InvenTree/models.py:471 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "文件名包含非法字符 '{c}'" -#: InvenTree/models.py:470 +#: InvenTree/models.py:474 msgid "Filename missing extension" msgstr "缺少文件名扩展" -#: InvenTree/models.py:477 +#: InvenTree/models.py:481 msgid "Attachment with this filename already exists" msgstr "使用此文件名的附件已存在" -#: InvenTree/models.py:484 +#: InvenTree/models.py:488 msgid "Error renaming file" msgstr "重命名文件出错" -#: InvenTree/models.py:520 +#: InvenTree/models.py:527 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:546 msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151 -#: company/models.py:363 label/models.py:101 part/models.py:810 -#: part/models.py:3189 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197 +#: company/models.py:382 label/models.py:101 part/models.py:779 +#: part/models.py:3240 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:391 -#: templates/js/translated/company.js:581 -#: templates/js/translated/company.js:794 -#: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134 -#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437 +#: templates/InvenTree/settings/settings_staff_js.html:250 +#: templates/js/translated/company.js:620 +#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050 +#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357 +#: templates/js/translated/stock.js:2470 msgid "Name" msgstr "名称" -#: InvenTree/models.py:564 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:287 -#: company/models.py:523 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:164 +#: build/templates/build/detail.html:24 company/models.py:306 +#: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833 -#: part/models.py:3198 part/templates/part/category.html:75 +#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 +#: part/models.py:3249 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:507 report/models.py:551 +#: report/models.py:506 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:25 stock/templates/stock/location.html:117 +#: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 -#: templates/InvenTree/settings/settings.html:402 -#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902 -#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445 -#: templates/js/translated/company.js:703 -#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064 -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875 -#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477 -#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310 -#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398 -#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469 -#: templates/js/translated/stock.js:2529 +#: templates/InvenTree/settings/settings_staff_js.html:261 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484 +#: templates/js/translated/company.js:742 +#: templates/js/translated/company.js:1026 +#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359 +#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112 +#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836 +#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490 +#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580 msgid "Description" msgstr "描述信息" -#: InvenTree/models.py:565 +#: InvenTree/models.py:579 msgid "Description (optional)" msgstr "描述 (可选)" -#: InvenTree/models.py:573 +#: InvenTree/models.py:587 msgid "parent" msgstr "上级项" -#: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478 +#: InvenTree/models.py:594 InvenTree/models.py:595 +#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511 msgid "Path" msgstr "路径" -#: InvenTree/models.py:682 +#: InvenTree/models.py:696 msgid "Barcode Data" msgstr "条码数据" -#: InvenTree/models.py:683 +#: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "第三方条形码数据" -#: InvenTree/models.py:688 order/serializers.py:477 +#: InvenTree/models.py:702 order/serializers.py:470 msgid "Barcode Hash" msgstr "条码哈希" -#: InvenTree/models.py:689 +#: InvenTree/models.py:703 msgid "Unique hash of barcode data" msgstr "条码数据的唯一哈希" -#: InvenTree/models.py:734 +#: InvenTree/models.py:748 msgid "Existing barcode found" msgstr "发现现有条码" -#: InvenTree/models.py:787 +#: InvenTree/models.py:801 msgid "Server Error" msgstr "服务器错误" -#: InvenTree/models.py:788 +#: InvenTree/models.py:802 msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:58 part/models.py:3534 +#: InvenTree/serializers.py:59 part/models.py:3596 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:294 +#: InvenTree/serializers.py:82 company/models.py:153 +#: company/templates/company/company_base.html:107 part/models.py:2744 +#: templates/InvenTree/settings/settings_staff_js.html:44 +msgid "Currency" +msgstr "货币" + +#: InvenTree/serializers.py:85 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:334 msgid "Filename" msgstr "文件名" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:371 msgid "Invalid value" msgstr "无效值" -#: InvenTree/serializers.py:351 +#: InvenTree/serializers.py:393 msgid "Data File" msgstr "数据文件" -#: InvenTree/serializers.py:352 +#: InvenTree/serializers.py:394 msgid "Select data file for upload" msgstr "选择要上传的文件" -#: InvenTree/serializers.py:373 +#: InvenTree/serializers.py:415 msgid "Unsupported file type" msgstr "不支持的文件类型" -#: InvenTree/serializers.py:379 +#: InvenTree/serializers.py:421 msgid "File is too large" msgstr "文件过大" -#: InvenTree/serializers.py:400 +#: InvenTree/serializers.py:442 msgid "No columns found in file" msgstr "在文件中没有找到列" -#: InvenTree/serializers.py:403 +#: InvenTree/serializers.py:445 msgid "No data rows found in file" msgstr "在文件中没有找到数据行" -#: InvenTree/serializers.py:526 +#: InvenTree/serializers.py:568 msgid "No data rows provided" msgstr "没有提供数据行" -#: InvenTree/serializers.py:529 +#: InvenTree/serializers.py:571 msgid "No data columns supplied" msgstr "没有提供数据列" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:648 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "缺少必需的列:'{name}'" -#: InvenTree/serializers.py:615 +#: InvenTree/serializers.py:657 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "复制列: '{col}'" -#: InvenTree/serializers.py:641 +#: InvenTree/serializers.py:683 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:642 +#: InvenTree/serializers.py:684 msgid "URL of remote image file" msgstr "远程图像文件的 URL" -#: InvenTree/serializers.py:656 +#: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:696 msgid "Czech" msgstr "捷克语" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:697 msgid "Danish" msgstr "丹麦语" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:698 msgid "German" msgstr "德语" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:699 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:700 msgid "English" msgstr "英语" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:701 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:702 msgid "Spanish (Mexican)" msgstr "西班牙语(墨西哥)" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:703 msgid "Farsi / Persian" msgstr "波斯语" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:704 msgid "French" msgstr "法语" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:705 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:706 msgid "Hungarian" msgstr "匈牙利语" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:707 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Portuguese" msgstr "葡萄牙语" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Portuguese (Brazilian)" msgstr "葡萄牙语 (巴西)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "Slovenian" msgstr "斯洛文尼亚" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Chinese" msgstr "中文(简体)" -#: InvenTree/status.py:98 +#: InvenTree/status.py:98 part/serializers.py:865 msgid "Background worker check failed" msgstr "后台工作人员检查失败" @@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366 msgid "Pending" msgstr "待定" @@ -579,8 +592,8 @@ msgstr "丢失" msgid "Returned" msgstr "已退回" -#: InvenTree/status_codes.py:141 order/models.py:1165 -#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007 +#: InvenTree/status_codes.py:141 order/models.py:1167 +#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059 msgid "Shipped" msgstr "已发货" @@ -664,7 +677,7 @@ msgstr "从父项拆分" msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160 msgid "Merged stock items" msgstr "合并的库存项目" @@ -672,7 +685,7 @@ msgstr "合并的库存项目" msgid "Converted to variant" msgstr "转换为变量" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 msgid "Sent to customer" msgstr "发送给客户" @@ -721,27 +734,27 @@ msgstr "备损不能超过 100%" msgid "Invalid value for overage" msgstr "无效的备损值" -#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "编辑用户信息" -#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "设置密码" -#: InvenTree/views.py:481 +#: InvenTree/views.py:443 msgid "Password fields must match" msgstr "密码字段必须相匹配。" -#: InvenTree/views.py:490 +#: InvenTree/views.py:452 msgid "Wrong password provided" msgstr "密码错误" -#: InvenTree/views.py:689 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:152 msgid "System Information" msgstr "系统信息" -#: InvenTree/views.py:696 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:163 msgid "About InvenTree" msgstr "关于 InventTree" @@ -749,44 +762,44 @@ msgstr "关于 InventTree" msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/models.py:106 -msgid "Invalid choice for parent build" -msgstr "上级生产选项无效" - -#: build/models.py:111 build/templates/build/build_base.html:9 +#: build/models.py:69 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:791 +#: templates/js/translated/build.js:793 msgid "Build Order" msgstr "生产订单" -#: build/models.py:112 build/templates/build/build_base.html:13 +#: build/models.py:70 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 -#: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:41 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/search.js:254 users/models.py:42 msgid "Build Orders" msgstr "生产订单" +#: build/models.py:111 +msgid "Invalid choice for parent build" +msgstr "上级生产选项无效" + #: build/models.py:155 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:156 order/models.py:241 order/models.py:651 -#: order/models.py:941 part/admin.py:257 part/models.py:3444 +#: build/models.py:156 order/models.py:240 order/models.py:655 +#: order/models.py:944 part/admin.py:277 part/models.py:3506 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912 -#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332 -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871 -#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360 +#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 +#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923 +#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365 msgid "Reference" msgstr "引用" @@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" #: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:685 -#: order/models.py:1038 order/models.py:1149 order/models.py:1150 -#: part/models.py:382 part/models.py:2787 part/models.py:2900 -#: part/models.py:2960 part/models.py:2975 part/models.py:2994 -#: part/models.py:3012 part/models.py:3111 part/models.py:3232 -#: part/models.py:3324 part/models.py:3409 part/models.py:3725 -#: part/serializers.py:1112 part/templates/part/part_app_base.html:8 +#: build/templates/build/detail.html:29 company/models.py:715 +#: order/models.py:1040 order/models.py:1151 order/models.py:1152 +#: part/models.py:382 part/models.py:2757 part/models.py:2871 +#: part/models.py:3011 part/models.py:3030 part/models.py:3049 +#: part/models.py:3070 part/models.py:3162 part/models.py:3283 +#: part/models.py:3375 part/models.py:3471 part/models.py:3776 +#: part/serializers.py:829 part/serializers.py:1234 +#: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 -#: stock/serializers.py:488 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 +#: stock/serializers.py:482 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598 -#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856 -#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722 -#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608 -#: templates/js/translated/company.js:302 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:644 -#: templates/js/translated/company.js:905 templates/js/translated/order.js:107 -#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710 -#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534 -#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343 -#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746 -#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750 -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 +#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:571 +#: templates/js/translated/company.js:683 +#: templates/js/translated/company.js:944 templates/js/translated/order.js:111 +#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 +#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281 +#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907 +#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 +#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2940 msgid "Part" msgstr "商品" @@ -855,8 +869,8 @@ msgstr "相关销售订单" msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:203 build/serializers.py:824 -#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217 +#: build/models.py:203 build/serializers.py:825 +#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269 msgid "Source Location" msgstr "来源地点" @@ -896,21 +910,21 @@ msgstr "生产状态" msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:246 build/serializers.py:225 order/serializers.py:455 -#: stock/models.py:720 templates/js/translated/order.js:1568 +#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 +#: stock/models.py:732 templates/js/translated/order.js:1626 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:250 build/serializers.py:226 +#: build/models.py:250 build/serializers.py:227 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:253 order/models.py:87 part/models.py:1002 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888 +#: build/models.py:253 order/models.py:86 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:257 order/models.py:681 +#: build/models.py:257 order/models.py:685 msgid "Target completion date" msgstr "预计完成日期" @@ -918,8 +932,8 @@ msgstr "预计完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:261 order/models.py:292 -#: templates/js/translated/build.js:2685 +#: build/models.py:261 order/models.py:291 +#: templates/js/translated/build.js:2687 msgid "Completion Date" msgstr "完成日期:" @@ -927,7 +941,7 @@ msgstr "完成日期:" msgid "completed by" msgstr "完成人" -#: build/models.py:275 templates/js/translated/build.js:2653 +#: build/models.py:275 templates/js/translated/build.js:2655 msgid "Issued by" msgstr "发布者" @@ -936,24 +950,24 @@ msgid "User who issued this build order" msgstr "发布此生产订单的用户" #: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:101 +#: build/templates/build/detail.html:122 order/models.py:100 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1006 -#: part/templates/part/part_base.html:397 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 +#: part/templates/part/part_base.html:398 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098 +#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156 msgid "Responsible" msgstr "责任人" #: build/models.py:285 msgid "User or group responsible for this build order" -msgstr "" +msgstr "构建此订单的用户或组" #: build/models.py:290 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:390 stock/models.py:714 -#: stock/templates/stock/item_base.html:203 +#: part/templates/part/part_base.html:391 stock/models.py:726 +#: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "外部链接" @@ -999,11 +1013,11 @@ msgstr "生产项必须指定生产产出,因为主部件已经被标记为可 msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1207 order/models.py:1416 +#: build/models.py:1207 order/models.py:1418 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1213 order/models.py:1419 +#: build/models.py:1213 order/models.py:1421 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" @@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM" msgstr "在BOM中找不到选定的库存项" #: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583 #: templates/navbar.html:38 msgid "Build" msgstr "生产" @@ -1025,18 +1039,18 @@ msgstr "生产" msgid "Build to allocate parts" msgstr "生产以分配部件" -#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032 -#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 +#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 +#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:197 -#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 -#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770 -#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230 -#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537 -#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618 -#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/build.js:803 templates/js/translated/build.js:808 +#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772 +#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282 +#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589 +#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776 +#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 +#: templates/js/translated/stock.js:2679 msgid "Stock Item" msgstr "库存项" @@ -1044,12 +1058,12 @@ msgstr "库存项" msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1375 build/serializers.py:193 +#: build/models.py:1375 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1973 -#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256 -#: part/forms.py:40 part/models.py:2907 part/models.py:3425 +#: build/templates/build/detail.html:34 common/models.py:2019 +#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 +#: part/forms.py:47 part/models.py:2884 part/models.py:3487 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1058,30 +1072,29 @@ msgstr "源库存项" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:86 stock/serializers.py:285 -#: stock/templates/stock/item_base.html:290 -#: stock/templates/stock/item_base.html:298 +#: stock/admin.py:103 stock/serializers.py:279 +#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737 -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:637 templates/js/translated/build.js:828 -#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 -#: templates/js/translated/build.js:2208 -#: templates/js/translated/company.js:1164 +#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 +#: templates/js/translated/build.js:639 templates/js/translated/build.js:830 +#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:2210 +#: templates/js/translated/company.js:1199 #: templates/js/translated/model_renderers.js:122 -#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209 -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554 -#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551 -#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730 -#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366 -#: templates/js/translated/part.js:788 templates/js/translated/part.js:859 -#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832 -#: templates/js/translated/pricing.js:355 -#: templates/js/translated/pricing.js:448 -#: templates/js/translated/pricing.js:496 -#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813 -#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762 +#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 +#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612 +#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782 +#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411 +#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417 +#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360 +#: templates/js/translated/pricing.js:453 +#: templates/js/translated/pricing.js:501 +#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496 +#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 +#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813 msgid "Quantity" msgstr "数量" @@ -1097,249 +1110,249 @@ msgstr "安装到" msgid "Destination stock item" msgstr "目标库存项" -#: build/serializers.py:138 build/serializers.py:693 -#: templates/js/translated/build.js:1235 +#: build/serializers.py:145 build/serializers.py:703 +#: templates/js/translated/build.js:1237 msgid "Build Output" msgstr "生产产出" -#: build/serializers.py:150 +#: build/serializers.py:157 msgid "Build output does not match the parent build" msgstr "生产产出与对应生产不匹配" -#: build/serializers.py:154 +#: build/serializers.py:161 msgid "Output part does not match BuildOrder part" msgstr "产出部件与生产订单部件不匹配" -#: build/serializers.py:158 +#: build/serializers.py:165 msgid "This build output has already been completed" msgstr "此生产产出已经完成" -#: build/serializers.py:169 +#: build/serializers.py:176 msgid "This build output is not fully allocated" msgstr "生产产出未被完成分配" -#: build/serializers.py:194 +#: build/serializers.py:195 msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:208 build/serializers.py:684 order/models.py:327 -#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904 -#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326 -#: stock/serializers.py:294 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 +#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074 +#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/serializers.py:215 +#: build/serializers.py:216 msgid "Integer quantity required for trackable parts" msgstr "对于可追踪的部件,需要整数型数值" -#: build/serializers.py:218 +#: build/serializers.py:219 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210 -#: stock/serializers.py:303 templates/js/translated/order.js:1579 -#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490 +#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 +#: stock/serializers.py:297 templates/js/translated/order.js:1637 +#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 msgid "Serial Numbers" msgstr "序列号" -#: build/serializers.py:233 +#: build/serializers.py:234 msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" -#: build/serializers.py:246 +#: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" msgstr "自动分配序列号" -#: build/serializers.py:247 +#: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:282 stock/api.py:601 +#: build/serializers.py:283 stock/api.py:635 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" -#: build/serializers.py:331 build/serializers.py:400 +#: build/serializers.py:332 build/serializers.py:401 msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547 -#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 -#: stock/serializers.py:919 stock/serializers.py:1152 -#: stock/templates/stock/item_base.html:388 +#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 +#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443 +#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 +#: stock/templates/stock/item_base.html:391 #: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813 -#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606 -#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649 -#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738 -#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619 -#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994 -#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569 +#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815 +#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664 +#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701 +#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790 +#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:2620 msgid "Location" msgstr "地点" -#: build/serializers.py:371 +#: build/serializers.py:372 msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:377 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:670 -#: order/serializers.py:473 stock/admin.py:89 -#: stock/templates/stock/item_base.html:421 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637 -#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068 -#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873 -#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778 +#: build/serializers.py:378 build/templates/build/build_base.html:145 +#: build/templates/build/detail.html:62 order/models.py:674 +#: order/serializers.py:466 stock/admin.py:106 +#: stock/templates/stock/item_base.html:424 +#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639 +#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906 +#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829 msgid "Status" msgstr "状态" -#: build/serializers.py:383 +#: build/serializers.py:384 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未完成分配,完成产出" -#: build/serializers.py:453 +#: build/serializers.py:454 msgid "Remove Allocated Stock" msgstr "移除已分配的库存" -#: build/serializers.py:454 +#: build/serializers.py:455 msgid "Subtract any stock which has already been allocated to this build" msgstr "减去已经分配至此生产的库存" -#: build/serializers.py:460 +#: build/serializers.py:461 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:461 +#: build/serializers.py:462 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的生产产出" -#: build/serializers.py:489 +#: build/serializers.py:490 msgid "Accept as consumed by this build order" msgstr "接受此构建订单所消耗的内容" -#: build/serializers.py:490 +#: build/serializers.py:491 msgid "Deallocate before completing this build order" msgstr "在完成此构建订单前取消分配" -#: build/serializers.py:513 +#: build/serializers.py:514 msgid "Overallocated Stock" msgstr "超出分配的库存" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "你想如何处理分配给构建订单的额外库存物品" -#: build/serializers.py:525 +#: build/serializers.py:526 msgid "Some stock items have been overallocated" msgstr "一些库存项已被过度分配" -#: build/serializers.py:530 +#: build/serializers.py:531 msgid "Accept Unallocated" msgstr "接受未分配的" -#: build/serializers.py:531 +#: build/serializers.py:532 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完成分配至此生产订单" -#: build/serializers.py:541 templates/js/translated/build.js:265 +#: build/serializers.py:542 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100 +#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 msgid "Accept Incomplete" msgstr "接受未完成" -#: build/serializers.py:547 +#: build/serializers.py:548 msgid "Accept that the required number of build outputs have not been completed" msgstr "接受所需的生产产出未完成" -#: build/serializers.py:557 templates/js/translated/build.js:269 +#: build/serializers.py:558 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "所需生产数量尚未完成" -#: build/serializers.py:566 templates/js/translated/build.js:253 +#: build/serializers.py:567 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561 -#: part/models.py:3717 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398 +#: part/models.py:3768 msgid "BOM Item" msgstr "BOM项" -#: build/serializers.py:606 +#: build/serializers.py:607 msgid "Build output" msgstr "生产产出" -#: build/serializers.py:614 +#: build/serializers.py:615 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:655 +#: build/serializers.py:665 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:670 stock/serializers.py:771 +#: build/serializers.py:680 stock/serializers.py:752 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:728 order/serializers.py:1090 +#: build/serializers.py:729 order/serializers.py:1066 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" -#: build/serializers.py:734 +#: build/serializers.py:735 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的部件的分配,必须指定生产产出" -#: build/serializers.py:741 +#: build/serializers.py:742 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的部件,无法指定生产产出" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "This stock item has already been allocated to this build output" msgstr "此库存项已被分配至此生产产出" -#: build/serializers.py:769 order/serializers.py:1374 +#: build/serializers.py:770 order/serializers.py:1350 msgid "Allocation items must be provided" msgstr "必须提供分配的项" -#: build/serializers.py:825 +#: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)" -#: build/serializers.py:833 +#: build/serializers.py:834 msgid "Exclude Location" msgstr "排除地点" -#: build/serializers.py:834 +#: build/serializers.py:835 msgid "Exclude stock items from this selected location" msgstr "从该选定的仓储地点排除库存项" -#: build/serializers.py:839 +#: build/serializers.py:840 msgid "Interchangeable Stock" msgstr "可互换的库存" -#: build/serializers.py:840 +#: build/serializers.py:841 msgid "Stock items in multiple locations can be used interchangeably" msgstr "多处地点的库存项可以互换使用" -#: build/serializers.py:845 +#: build/serializers.py:846 msgid "Substitute Stock" msgstr "可替换的库存" -#: build/serializers.py:846 +#: build/serializers.py:847 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的部件" -#: build/serializers.py:851 +#: build/serializers.py:852 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:852 +#: build/serializers.py:853 msgid "Allocate optional BOM items to build order" msgstr "分配可选的BOM项目来建立订单" @@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:947 +#: build/templates/build/detail.html:138 order/models.py:950 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085 -#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896 -#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347 +#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143 +#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948 +#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432 msgid "Target Date" msgstr "预计日期" @@ -1445,29 +1458,29 @@ msgstr "此次生产的截止日期为 %(target)s" #: build/templates/build/build_base.html:211 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:348 -#: templates/js/translated/table_filters.js:389 -#: templates/js/translated/table_filters.js:419 +#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:423 msgid "Overdue" msgstr "逾期" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:428 +#: templates/js/translated/table_filters.js:432 msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142 -#: order/models.py:1236 order/models.py:1367 +#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144 +#: order/models.py:1238 order/models.py:1369 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 -#: stock/templates/stock/item_base.html:368 +#: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878 +#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891 msgid "Sales Order" msgstr "销售订单" @@ -1478,7 +1491,7 @@ msgid "Issued By" msgstr "发布者" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604 msgid "Priority" msgstr "优先级" @@ -1498,8 +1511,8 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1060 -#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456 +#: build/templates/build/detail.html:49 order/models.py:1062 +#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514 msgid "Destination" msgstr "目的地" @@ -1511,21 +1524,21 @@ msgstr "目标位置未指定" msgid "Allocated Parts" msgstr "已分配的部件" -#: build/templates/build/detail.html:80 stock/admin.py:88 +#: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1251 +#: templates/js/translated/build.js:1253 #: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887 -#: templates/js/translated/stock.js:2785 -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:270 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 +#: templates/js/translated/stock.js:2836 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:274 msgid "Batch" msgstr "批量" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2645 +#: templates/js/translated/build.js:2647 msgid "Created" msgstr "已创建" @@ -1545,7 +1558,7 @@ msgstr "子生产订单" msgid "Allocate Stock to Build" msgstr "为生产分配库存" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018 msgid "Unallocate stock" msgstr "未分配库存" @@ -1576,7 +1589,7 @@ msgstr "订单所需部件" #: build/templates/build/detail.html:194 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1249 +#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 msgid "Order Parts" msgstr "订购商品" @@ -1629,27 +1642,29 @@ msgid "Delete outputs" msgstr "删除输出" #: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:228 templates/stock_table.html:27 +#: stock/templates/stock/location.html:234 templates/stock_table.html:27 msgid "Printing Actions" msgstr "打印操作" #: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:232 templates/stock_table.html:31 +#: stock/templates/stock/location.html:238 templates/stock_table.html:31 msgid "Print labels" msgstr "打印标签" #: build/templates/build/detail.html:301 msgid "Completed Build Outputs" -msgstr "" +msgstr "已完成构建输出" #: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:200 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:27 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:86 #: order/templates/order/sales_order_detail.html:140 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233 -#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "附件" @@ -1660,13 +1675,13 @@ msgstr "生产备注" #: build/templates/build/detail.html:511 msgid "Allocation Complete" -msgstr "" +msgstr "分配完成" #: build/templates/build/detail.html:512 msgid "All untracked stock items have been allocated" -msgstr "" +msgstr "所有未跟踪的库存项目都已分配" -#: build/templates/build/index.html:18 part/templates/part/detail.html:339 +#: build/templates/build/index.html:18 part/templates/part/detail.html:340 msgid "New Build Order" msgstr "新建生产订单" @@ -1676,7 +1691,7 @@ msgstr "打印生产订单" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "" +msgstr "生产订单详情" #: build/templates/build/sidebar.html:12 msgid "Incomplete Outputs" @@ -1684,7 +1699,7 @@ msgstr "未完成输出" #: build/templates/build/sidebar.html:15 msgid "Completed Outputs" -msgstr "" +msgstr "已完成输出" #: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" @@ -1692,1303 +1707,1338 @@ msgstr "不支持的文件格式: {ext.uper()}" #: common/files.py:64 msgid "Error reading file (invalid encoding)" -msgstr "" +msgstr "读取文件时发生错误 (无效编码)" #: common/files.py:69 msgid "Error reading file (invalid format)" -msgstr "" +msgstr "读取文件时发生错误 (无效编码)" #: common/files.py:71 msgid "Error reading file (incorrect dimension)" -msgstr "" +msgstr "读取文件时出错(不正确的尺寸)" #: common/files.py:73 msgid "Error reading file (data could be corrupted)" -msgstr "" +msgstr "读取文件时出错(数据可能已损坏)" #: common/forms.py:13 msgid "File" -msgstr "" +msgstr "文件" #: common/forms.py:14 msgid "Select file to upload" -msgstr "" +msgstr "选择要上传的文件" #: common/forms.py:28 msgid "{name.title()} File" -msgstr "" +msgstr "{name.title()} 文件" #: common/forms.py:29 #, python-brace-format msgid "Select {name} file to upload" -msgstr "" - -#: common/models.py:65 templates/js/translated/part.js:789 -msgid "Updated" -msgstr "" +msgstr "选择 {name} 文件上传" #: common/models.py:66 +msgid "Updated" +msgstr "已更新" + +#: common/models.py:67 msgid "Timestamp of last update" -msgstr "" +msgstr "最后一次更新时间" -#: common/models.py:495 +#: common/models.py:496 msgid "Settings key (must be unique - case insensitive)" -msgstr "" +msgstr "设置键值(必须是唯一的 - 大小写不敏感)" -#: common/models.py:497 +#: common/models.py:498 msgid "Settings value" -msgstr "" +msgstr "设定值" -#: common/models.py:538 +#: common/models.py:539 msgid "Chosen value is not a valid option" -msgstr "" +msgstr "选择的值不是一个有效的选项" -#: common/models.py:555 +#: common/models.py:556 msgid "Value must be a boolean value" -msgstr "" +msgstr "值必须是布尔量" -#: common/models.py:566 +#: common/models.py:567 msgid "Value must be an integer value" -msgstr "" +msgstr "值必须为整数" -#: common/models.py:611 +#: common/models.py:612 msgid "Key string must be unique" -msgstr "" +msgstr "关键字必须是唯一的" -#: common/models.py:806 +#: common/models.py:807 msgid "No group" -msgstr "" +msgstr "无群组" -#: common/models.py:831 +#: common/models.py:832 msgid "An empty domain is not allowed." -msgstr "" +msgstr "不允许空域。" -#: common/models.py:833 +#: common/models.py:834 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "" +msgstr "无效的域名: {domain}" -#: common/models.py:884 +#: common/models.py:891 msgid "Restart required" -msgstr "" - -#: common/models.py:885 -msgid "A setting has been changed which requires a server restart" -msgstr "" +msgstr "需要重启" #: common/models.py:892 -msgid "Server Instance Name" -msgstr "" +msgid "A setting has been changed which requires a server restart" +msgstr "设置已更改,需要服务器重启" -#: common/models.py:894 +#: common/models.py:899 +msgid "Server Instance Name" +msgstr "服务器实例名称" + +#: common/models.py:901 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:899 +#: common/models.py:906 msgid "Use instance name" msgstr "" -#: common/models.py:900 +#: common/models.py:907 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:906 +#: common/models.py:913 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:907 +#: common/models.py:914 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:913 company/models.py:98 company/models.py:99 +#: common/models.py:920 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "公司名称" -#: common/models.py:914 +#: common/models.py:921 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:919 +#: common/models.py:926 msgid "Base URL" msgstr "" -#: common/models.py:920 +#: common/models.py:927 msgid "Base URL for server instance" msgstr "" -#: common/models.py:927 +#: common/models.py:934 msgid "Default Currency" msgstr "" -#: common/models.py:928 +#: common/models.py:935 msgid "Select base currency for pricing caluclations" msgstr "" -#: common/models.py:935 +#: common/models.py:942 msgid "Download from URL" msgstr "" -#: common/models.py:936 +#: common/models.py:943 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:942 +#: common/models.py:949 msgid "Download Size Limit" msgstr "" -#: common/models.py:943 +#: common/models.py:950 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:954 +#: common/models.py:961 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:955 +#: common/models.py:962 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:960 +#: common/models.py:967 msgid "Require confirm" msgstr "" -#: common/models.py:961 +#: common/models.py:968 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:967 +#: common/models.py:974 msgid "Tree Depth" msgstr "" -#: common/models.py:968 +#: common/models.py:975 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:977 +#: common/models.py:984 msgid "Automatic Backup" msgstr "" -#: common/models.py:978 +#: common/models.py:985 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:984 +#: common/models.py:991 msgid "Days Between Backup" msgstr "" -#: common/models.py:985 +#: common/models.py:992 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:994 +#: common/models.py:1001 msgid "Delete Old Tasks" msgstr "" -#: common/models.py:995 +#: common/models.py:1002 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1005 +#: common/models.py:1012 msgid "Delete Error Logs" msgstr "" -#: common/models.py:1006 +#: common/models.py:1013 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1016 templates/InvenTree/notifications/history.html:13 +#: common/models.py:1023 templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:77 msgid "Delete Notifications" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Enable barcode scanner support" msgstr "启用条形码扫描支持" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1045 +#: common/models.py:1052 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1046 +#: common/models.py:1053 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1052 +#: common/models.py:1059 msgid "IPN Regex" msgstr "" -#: common/models.py:1053 +#: common/models.py:1060 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1057 +#: common/models.py:1064 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1058 +#: common/models.py:1065 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1064 +#: common/models.py:1071 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1065 +#: common/models.py:1072 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1071 +#: common/models.py:1078 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1072 +#: common/models.py:1079 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1078 +#: common/models.py:1085 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1079 +#: common/models.py:1086 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1085 +#: common/models.py:1092 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1086 +#: common/models.py:1093 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1092 +#: common/models.py:1099 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1093 +#: common/models.py:1100 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1099 part/admin.py:41 part/models.py:3234 +#: common/models.py:1106 part/admin.py:55 part/models.py:3285 #: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:520 msgid "Template" msgstr "模板" -#: common/models.py:1100 +#: common/models.py:1107 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:196 -#: templates/js/translated/table_filters.js:475 +#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927 +#: templates/js/translated/bom.js:1605 +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:479 msgid "Assembly" msgstr "组装" -#: common/models.py:1107 +#: common/models.py:1114 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1113 part/admin.py:38 part/models.py:964 -#: templates/js/translated/table_filters.js:483 +#: common/models.py:1120 part/admin.py:52 part/models.py:933 +#: templates/js/translated/table_filters.js:487 msgid "Component" msgstr "组件" -#: common/models.py:1114 +#: common/models.py:1121 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1120 part/admin.py:39 part/models.py:975 +#: common/models.py:1127 part/admin.py:53 part/models.py:944 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1127 part/admin.py:40 part/models.py:980 -#: templates/js/translated/table_filters.js:504 +#: common/models.py:1134 part/admin.py:54 part/models.py:949 +#: templates/js/translated/table_filters.js:508 msgid "Salable" msgstr "可销售" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1134 part/admin.py:42 part/models.py:970 +#: common/models.py:1141 part/admin.py:56 part/models.py:939 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:524 msgid "Trackable" msgstr "可追踪" -#: common/models.py:1135 +#: common/models.py:1142 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1141 part/admin.py:43 part/models.py:990 +#: common/models.py:1148 part/admin.py:57 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:528 msgid "Virtual" msgstr "虚拟" -#: common/models.py:1142 +#: common/models.py:1149 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:1148 +#: common/models.py:1155 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:1149 +#: common/models.py:1156 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:1155 +#: common/models.py:1162 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:1156 +#: common/models.py:1163 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1162 +#: common/models.py:1169 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1163 +#: common/models.py:1170 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1169 templates/js/translated/part.js:73 +#: common/models.py:1176 templates/js/translated/part.js:74 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1170 +#: common/models.py:1177 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1176 +#: common/models.py:1183 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1177 +#: common/models.py:1184 msgid "Format to display the part name" msgstr "" -#: common/models.py:1184 +#: common/models.py:1191 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1185 +#: common/models.py:1192 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1190 +#: common/models.py:1197 msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1191 +#: common/models.py:1198 msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1201 +#: common/models.py:1208 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1202 +#: common/models.py:1209 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1208 +#: common/models.py:1215 msgid "Purchase History Override" msgstr "" -#: common/models.py:1209 +#: common/models.py:1216 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1215 +#: common/models.py:1222 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1216 +#: common/models.py:1223 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1222 +#: common/models.py:1229 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1223 +#: common/models.py:1230 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1233 +#: common/models.py:1240 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1240 +#: common/models.py:1247 msgid "Active Variants Only" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1247 +#: common/models.py:1254 msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1249 common/models.py:1372 +#: common/models.py:1256 common/models.py:1379 msgid "days" msgstr "天" -#: common/models.py:1258 +#: common/models.py:1265 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1259 +#: common/models.py:1266 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Internal Price Override" msgstr "" -#: common/models.py:1266 +#: common/models.py:1273 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1272 +#: common/models.py:1279 msgid "Enable label printing" msgstr "" -#: common/models.py:1273 +#: common/models.py:1280 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1279 +#: common/models.py:1286 msgid "Label Image DPI" msgstr "" -#: common/models.py:1280 +#: common/models.py:1287 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Enable Reports" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1296 templates/stats.html:25 +#: common/models.py:1303 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1303 +#: common/models.py:1310 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1328 +#: common/models.py:1335 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1329 +#: common/models.py:1336 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1335 +#: common/models.py:1342 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1336 +#: common/models.py:1343 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1342 +#: common/models.py:1349 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1343 +#: common/models.py:1350 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1349 +#: common/models.py:1356 msgid "Batch Code Template" msgstr "" -#: common/models.py:1350 +#: common/models.py:1357 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1355 +#: common/models.py:1362 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1356 +#: common/models.py:1363 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1362 +#: common/models.py:1369 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1369 +#: common/models.py:1376 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1370 +#: common/models.py:1377 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1384 +#: common/models.py:1391 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1385 +#: common/models.py:1392 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1391 +#: common/models.py:1398 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1392 +#: common/models.py:1399 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1397 +#: common/models.py:1404 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1398 +#: common/models.py:1405 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1404 +#: common/models.py:1411 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1405 +#: common/models.py:1412 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1411 +#: common/models.py:1418 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1412 +#: common/models.py:1419 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1418 +#: common/models.py:1425 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1419 +#: common/models.py:1426 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1425 +#: common/models.py:1432 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1426 +#: common/models.py:1433 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1432 +#: common/models.py:1439 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1433 +#: common/models.py:1440 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1440 +#: common/models.py:1447 msgid "Enable password forgot" msgstr "" -#: common/models.py:1441 +#: common/models.py:1448 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1447 +#: common/models.py:1454 msgid "Enable registration" msgstr "" -#: common/models.py:1448 +#: common/models.py:1455 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1454 +#: common/models.py:1461 msgid "Enable SSO" msgstr "" -#: common/models.py:1455 +#: common/models.py:1462 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1461 +#: common/models.py:1468 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1462 +#: common/models.py:1469 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1468 +#: common/models.py:1475 msgid "Email required" msgstr "" -#: common/models.py:1469 +#: common/models.py:1476 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1475 +#: common/models.py:1482 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1476 +#: common/models.py:1483 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1482 +#: common/models.py:1489 msgid "Mail twice" msgstr "" -#: common/models.py:1483 +#: common/models.py:1490 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1489 +#: common/models.py:1496 msgid "Password twice" msgstr "" -#: common/models.py:1490 +#: common/models.py:1497 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1496 +#: common/models.py:1503 msgid "Allowed domains" msgstr "" -#: common/models.py:1497 +#: common/models.py:1504 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1503 +#: common/models.py:1510 msgid "Group on signup" msgstr "" -#: common/models.py:1504 +#: common/models.py:1511 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1510 +#: common/models.py:1517 msgid "Enforce MFA" msgstr "" -#: common/models.py:1511 +#: common/models.py:1518 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1517 +#: common/models.py:1524 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1518 +#: common/models.py:1525 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1525 +#: common/models.py:1532 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1526 +#: common/models.py:1533 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1533 +#: common/models.py:1540 msgid "Enable URL integration" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1541 +#: common/models.py:1548 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable app integration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1558 +#: common/models.py:1565 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1565 +#: common/models.py:1572 msgid "Enable event integration" msgstr "" -#: common/models.py:1566 +#: common/models.py:1573 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1585 common/models.py:1934 +#: common/models.py:1580 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:1581 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:1587 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:1588 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:1597 +msgid "Delete Old Reports" +msgstr "" + +#: common/models.py:1598 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1615 common/models.py:1980 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1607 +#: common/models.py:1634 +msgid "No Printer (Export to PDF)" +msgstr "" + +#: common/models.py:1655 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1608 +#: common/models.py:1656 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1614 +#: common/models.py:1662 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1615 +#: common/models.py:1663 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1621 +#: common/models.py:1669 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1622 +#: common/models.py:1670 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1628 +#: common/models.py:1676 msgid "Recent Part Count" msgstr "" -#: common/models.py:1629 +#: common/models.py:1677 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1635 +#: common/models.py:1683 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1636 +#: common/models.py:1684 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1642 +#: common/models.py:1690 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1643 +#: common/models.py:1691 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1649 +#: common/models.py:1697 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1650 +#: common/models.py:1698 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1656 +#: common/models.py:1704 msgid "Show low stock" msgstr "" -#: common/models.py:1657 +#: common/models.py:1705 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1663 +#: common/models.py:1711 msgid "Show depleted stock" msgstr "" -#: common/models.py:1664 +#: common/models.py:1712 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1670 +#: common/models.py:1718 msgid "Show needed stock" msgstr "" -#: common/models.py:1671 +#: common/models.py:1719 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1677 +#: common/models.py:1725 msgid "Show expired stock" msgstr "" -#: common/models.py:1678 +#: common/models.py:1726 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1684 +#: common/models.py:1732 msgid "Show stale stock" msgstr "" -#: common/models.py:1685 +#: common/models.py:1733 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1691 +#: common/models.py:1739 msgid "Show pending builds" msgstr "" -#: common/models.py:1692 +#: common/models.py:1740 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1698 +#: common/models.py:1746 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1699 +#: common/models.py:1747 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1705 +#: common/models.py:1753 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1706 +#: common/models.py:1754 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1712 +#: common/models.py:1760 msgid "Show overdue POs" msgstr "" -#: common/models.py:1713 +#: common/models.py:1761 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1719 +#: common/models.py:1767 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1720 +#: common/models.py:1768 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1726 +#: common/models.py:1774 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1727 +#: common/models.py:1775 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1733 +#: common/models.py:1781 msgid "Show News" msgstr "" -#: common/models.py:1734 +#: common/models.py:1782 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1740 +#: common/models.py:1788 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1741 +#: common/models.py:1789 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1747 -msgid "Inline report display" -msgstr "" - -#: common/models.py:1748 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" - -#: common/models.py:1754 -msgid "Search Parts" -msgstr "" - -#: common/models.py:1755 -msgid "Display parts in search preview window" -msgstr "" - -#: common/models.py:1761 -msgid "Seach Supplier Parts" -msgstr "" - -#: common/models.py:1762 -msgid "Display supplier parts in search preview window" -msgstr "" - -#: common/models.py:1768 -msgid "Search Manufacturer Parts" -msgstr "" - -#: common/models.py:1769 -msgid "Display manufacturer parts in search preview window" -msgstr "" - -#: common/models.py:1775 -msgid "Hide Inactive Parts" -msgstr "" - -#: common/models.py:1776 -msgid "Excluded inactive parts from search preview window" -msgstr "" - -#: common/models.py:1782 -msgid "Search Categories" -msgstr "" - -#: common/models.py:1783 -msgid "Display part categories in search preview window" -msgstr "" - -#: common/models.py:1789 -msgid "Search Stock" -msgstr "" - -#: common/models.py:1790 -msgid "Display stock items in search preview window" +#: common/models.py:1795 +msgid "Default label printer" msgstr "" #: common/models.py:1796 -msgid "Hide Unavailable Stock Items" +msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1797 -msgid "Exclude stock items which are not available from the search preview window" +#: common/models.py:1802 +msgid "Inline report display" msgstr "" #: common/models.py:1803 -msgid "Search Locations" -msgstr "" +msgid "Display PDF reports in the browser, instead of downloading as a file" +msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1804 -msgid "Display stock locations in search preview window" +#: common/models.py:1809 +msgid "Search Parts" msgstr "" #: common/models.py:1810 -msgid "Search Companies" +msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1811 -msgid "Display companies in search preview window" +#: common/models.py:1816 +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1817 -msgid "Search Build Orders" +msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1818 -msgid "Display build orders in search preview window" +#: common/models.py:1823 +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1824 -msgid "Search Purchase Orders" +msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1825 -msgid "Display purchase orders in search preview window" +#: common/models.py:1830 +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1831 -msgid "Exclude Inactive Purchase Orders" +msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1832 -msgid "Exclude inactive purchase orders from search preview window" +#: common/models.py:1837 +msgid "Search Categories" msgstr "" #: common/models.py:1838 -msgid "Search Sales Orders" +msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1839 -msgid "Display sales orders in search preview window" +#: common/models.py:1844 +msgid "Search Stock" msgstr "" #: common/models.py:1845 -msgid "Exclude Inactive Sales Orders" +msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1846 -msgid "Exclude inactive sales orders from search preview window" +#: common/models.py:1851 +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1852 -msgid "Search Preview Results" -msgstr "搜索预览结果" +msgid "Exclude stock items which are not available from the search preview window" +msgstr "" -#: common/models.py:1853 -msgid "Number of results to show in each section of the search preview window" +#: common/models.py:1858 +msgid "Search Locations" msgstr "" #: common/models.py:1859 -msgid "Show Quantity in Forms" -msgstr "在表格中显示数量" - -#: common/models.py:1860 -msgid "Display available part quantity in some forms" -msgstr "在某些表格中显示可用的商品数量" - -#: common/models.py:1866 -msgid "Escape Key Closes Forms" +msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1867 -msgid "Use the escape key to close modal forms" +#: common/models.py:1865 +msgid "Search Companies" +msgstr "" + +#: common/models.py:1866 +msgid "Display companies in search preview window" +msgstr "" + +#: common/models.py:1872 +msgid "Search Build Orders" msgstr "" #: common/models.py:1873 -msgid "Fixed Navbar" +msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1874 -msgid "The navbar position is fixed to the top of the screen" +#: common/models.py:1879 +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1880 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:1886 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:1893 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:1894 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:1900 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:1901 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:1907 +msgid "Search Preview Results" +msgstr "搜索预览结果" + +#: common/models.py:1908 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1914 +msgid "Show Quantity in Forms" +msgstr "在表格中显示数量" + +#: common/models.py:1915 +msgid "Display available part quantity in some forms" +msgstr "在某些表格中显示可用的商品数量" + +#: common/models.py:1921 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1922 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1928 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1929 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1935 msgid "Date Format" msgstr "" -#: common/models.py:1881 +#: common/models.py:1936 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1895 part/templates/part/detail.html:41 +#: common/models.py:1950 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1896 +#: common/models.py:1951 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1902 part/templates/part/detail.html:61 -#: templates/js/translated/part.js:805 +#: common/models.py:1957 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1903 -msgid "Display part stocktake information" +#: common/models.py:1958 +msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1909 +#: common/models.py:1964 msgid "Table String Length" msgstr "" -#: common/models.py:1910 +#: common/models.py:1965 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1974 +#: common/models.py:2020 msgid "Price break quantity" msgstr "" -#: common/models.py:1981 company/serializers.py:397 order/models.py:975 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399 -#: templates/js/translated/pricing.js:595 +#: common/models.py:2027 company/serializers.py:407 order/models.py:977 +#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484 +#: templates/js/translated/pricing.js:600 msgid "Price" msgstr "价格" -#: common/models.py:1982 +#: common/models.py:2028 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2142 common/models.py:2320 +#: common/models.py:2188 common/models.py:2366 msgid "Endpoint" msgstr "" -#: common/models.py:2143 +#: common/models.py:2189 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2152 +#: common/models.py:2198 msgid "Name for this webhook" msgstr "" -#: common/models.py:2157 part/admin.py:36 part/models.py:985 +#: common/models.py:2203 part/admin.py:50 part/models.py:954 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:344 -#: templates/js/translated/table_filters.js:470 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:474 msgid "Active" msgstr "" -#: common/models.py:2158 +#: common/models.py:2204 msgid "Is this webhook active" msgstr "" -#: common/models.py:2172 +#: common/models.py:2218 msgid "Token" msgstr "令牌" -#: common/models.py:2173 +#: common/models.py:2219 msgid "Token for access" msgstr "" -#: common/models.py:2180 +#: common/models.py:2226 msgid "Secret" msgstr "" -#: common/models.py:2181 +#: common/models.py:2227 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2287 +#: common/models.py:2333 msgid "Message ID" msgstr "" -#: common/models.py:2288 +#: common/models.py:2334 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2296 +#: common/models.py:2342 msgid "Host" msgstr "" -#: common/models.py:2297 +#: common/models.py:2343 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2304 +#: common/models.py:2350 msgid "Header" msgstr "" -#: common/models.py:2305 +#: common/models.py:2351 msgid "Header of this message" msgstr "" -#: common/models.py:2311 +#: common/models.py:2357 msgid "Body" msgstr "" -#: common/models.py:2312 +#: common/models.py:2358 msgid "Body of this message" msgstr "" -#: common/models.py:2321 +#: common/models.py:2367 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2326 +#: common/models.py:2372 msgid "Worked on" msgstr "" -#: common/models.py:2327 +#: common/models.py:2373 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2481 +#: common/models.py:2527 msgid "Id" msgstr "" -#: common/models.py:2487 templates/js/translated/news.js:35 +#: common/models.py:2533 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2497 templates/js/translated/news.js:51 +#: common/models.py:2543 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2507 templates/js/translated/news.js:43 +#: common/models.py:2553 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2512 +#: common/models.py:2558 msgid "Read" msgstr "" -#: common/models.py:2513 +#: common/models.py:2559 msgid "Was this news item read?" msgstr "" @@ -3015,7 +3065,7 @@ msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:25 order/views.py:102 -#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "上传文件" @@ -3023,7 +3073,7 @@ msgstr "上传文件" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "匹配字段" @@ -3061,7 +3111,7 @@ msgstr "公司简介" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:449 +#: templates/js/translated/company.js:488 msgid "Website" msgstr "网站" @@ -3106,7 +3156,7 @@ msgstr "" msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:140 part/models.py:879 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "图片" @@ -3138,229 +3188,219 @@ msgstr "是制造商" msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" -#: company/models.py:153 company/serializers.py:403 -#: company/templates/company/company_base.html:107 part/models.py:2774 -#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182 -#: templates/InvenTree/settings/settings.html:191 -msgid "Currency" -msgstr "货币" - #: company/models.py:156 msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:253 company/models.py:488 stock/models.py:656 -#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:588 -msgid "Base Part" -msgstr "" - -#: company/models.py:257 company/models.py:492 -msgid "Select part" -msgstr "选择商品" - -#: company/models.py:268 company/templates/company/company_base.html:77 -#: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:370 -#: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:433 -#: templates/js/translated/company.js:534 -#: templates/js/translated/company.js:669 -#: templates/js/translated/company.js:957 -#: templates/js/translated/table_filters.js:447 -msgid "Manufacturer" -msgstr "制造商" - -#: company/models.py:269 -msgid "Select manufacturer" -msgstr "选择制造商" - -#: company/models.py:275 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:376 -#: templates/js/translated/company.js:305 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:685 -#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320 -#: templates/js/translated/part.js:1321 -msgid "MPN" -msgstr "" - -#: company/models.py:276 -msgid "Manufacturer Part Number" -msgstr "制造商商品编号" - -#: company/models.py:282 -msgid "URL for external manufacturer part link" -msgstr "" - -#: company/models.py:288 -msgid "Manufacturer part description" -msgstr "制造商商品描述" - -#: company/models.py:333 company/models.py:357 company/models.py:511 -#: company/templates/company/manufacturer_part.html:7 -#: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:220 -msgid "Manufacturer Part" -msgstr "制造商商品" - -#: company/models.py:364 -msgid "Parameter name" -msgstr "参数名称" - -#: company/models.py:370 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2177 templates/js/translated/company.js:582 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143 -#: templates/js/translated/stock.js:1405 -msgid "Value" -msgstr "数值" - -#: company/models.py:371 -msgid "Parameter value" -msgstr "参数值" - -#: company/models.py:377 part/admin.py:26 part/models.py:952 -#: part/models.py:3194 part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:396 -#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149 -msgid "Units" -msgstr "单位" - -#: company/models.py:378 -msgid "Parameter units" -msgstr "参数单位" - -#: company/models.py:456 -msgid "Linked manufacturer part must reference the same base part" -msgstr "" - -#: company/models.py:498 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:264 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:359 stock/templates/stock/item_base.html:227 -#: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:437 -#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051 -#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472 -#: templates/js/translated/table_filters.js:451 -msgid "Supplier" -msgstr "供应商" - -#: company/models.py:499 -msgid "Select supplier" -msgstr "选择供应商" - -#: company/models.py:504 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:365 -#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307 -#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484 -msgid "SKU" -msgstr "" - -#: company/models.py:505 part/serializers.py:365 -msgid "Supplier stock keeping unit" -msgstr "" - -#: company/models.py:512 -msgid "Select manufacturer part" -msgstr "选择制造商商品" - -#: company/models.py:518 -msgid "URL for external supplier part link" -msgstr "外部供货商商品链接URL" - -#: company/models.py:524 -msgid "Supplier part description" -msgstr "供应商商品描述" - -#: company/models.py:529 company/templates/company/supplier_part.html:181 -#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59 -#: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 -msgid "Note" -msgstr "备注" - -#: company/models.py:533 part/models.py:1867 -msgid "base cost" -msgstr "" - -#: company/models.py:533 part/models.py:1867 -msgid "Minimum charge (e.g. stocking fee)" -msgstr "最低收费(例如库存费)" - -#: company/models.py:535 company/templates/company/supplier_part.html:167 -#: stock/admin.py:101 stock/models.py:682 -#: stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019 -msgid "Packaging" -msgstr "打包" - -#: company/models.py:535 -msgid "Part packaging" -msgstr "商品打包" - -#: company/models.py:538 company/serializers.py:242 -#: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:997 templates/js/translated/order.js:852 -#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368 -#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391 -msgid "Pack Quantity" -msgstr "" - -#: company/models.py:539 -msgid "Unit quantity supplied in a single pack" -msgstr "" - -#: company/models.py:545 part/models.py:1869 -msgid "multiple" -msgstr "" - -#: company/models.py:545 -msgid "Order multiple" -msgstr "" - -#: company/models.py:553 company/templates/company/supplier_part.html:115 -#: templates/email/build_order_required_stock.html:19 -#: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1884 -#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604 -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:206 -msgid "Available" -msgstr "空闲" - -#: company/models.py:554 -msgid "Quantity available from supplier" -msgstr "" - -#: company/models.py:558 -msgid "Availability Updated" -msgstr "" - -#: company/models.py:559 -msgid "Date of last update of availability data" -msgstr "" - -#: company/serializers.py:72 -msgid "Default currency used for this supplier" -msgstr "该公司使用的默认货币" - -#: company/serializers.py:73 -msgid "Currency Code" -msgstr "货币代码" - -#: company/templates/company/company_base.html:8 +#: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461 msgid "Company" msgstr "公司" +#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: stock/serializers.py:143 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:591 +msgid "Base Part" +msgstr "" + +#: company/models.py:276 company/models.py:511 +msgid "Select part" +msgstr "选择商品" + +#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: stock/templates/stock/item_base.html:213 +#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:573 +#: templates/js/translated/company.js:708 +#: templates/js/translated/company.js:996 +#: templates/js/translated/table_filters.js:451 +msgid "Manufacturer" +msgstr "制造商" + +#: company/models.py:288 +msgid "Select manufacturer" +msgstr "选择制造商" + +#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:359 +#: templates/js/translated/company.js:307 +#: templates/js/translated/company.js:572 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:1015 +#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406 +msgid "MPN" +msgstr "" + +#: company/models.py:295 +msgid "Manufacturer Part Number" +msgstr "制造商商品编号" + +#: company/models.py:301 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:307 +msgid "Manufacturer part description" +msgstr "制造商商品描述" + +#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:223 +msgid "Manufacturer Part" +msgstr "制造商商品" + +#: company/models.py:383 +msgid "Parameter name" +msgstr "参数名称" + +#: company/models.py:389 +#: report/templates/report/inventree_test_report_base.html:95 +#: stock/models.py:2189 templates/js/translated/company.js:621 +#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228 +#: templates/js/translated/stock.js:1442 +msgid "Value" +msgstr "数值" + +#: company/models.py:390 +msgid "Parameter value" +msgstr "参数值" + +#: company/models.py:396 part/admin.py:40 part/models.py:921 +#: part/models.py:3245 part/templates/part/part_base.html:286 +#: templates/InvenTree/settings/settings_staff_js.html:255 +#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234 +msgid "Units" +msgstr "单位" + +#: company/models.py:397 +msgid "Parameter units" +msgstr "参数单位" + +#: company/models.py:475 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:517 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:263 +#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:306 +#: templates/js/translated/company.js:476 +#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109 +#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477 +#: templates/js/translated/table_filters.js:455 +msgid "Supplier" +msgstr "供应商" + +#: company/models.py:518 +msgid "Select supplier" +msgstr "选择供应商" + +#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 +#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365 +#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489 +msgid "SKU" +msgstr "" + +#: company/models.py:524 part/serializers.py:348 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:531 +msgid "Select manufacturer part" +msgstr "选择制造商商品" + +#: company/models.py:537 +msgid "URL for external supplier part link" +msgstr "外部供货商商品链接URL" + +#: company/models.py:543 +msgid "Supplier part description" +msgstr "供应商商品描述" + +#: company/models.py:548 company/templates/company/supplier_part.html:181 +#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report.html:92 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +msgid "Note" +msgstr "备注" + +#: company/models.py:552 part/models.py:1836 +msgid "base cost" +msgstr "" + +#: company/models.py:552 part/models.py:1836 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "最低收费(例如库存费)" + +#: company/models.py:554 company/templates/company/supplier_part.html:167 +#: stock/admin.py:118 stock/models.py:694 +#: stock/templates/stock/item_base.html:246 +#: templates/js/translated/company.js:1031 +#: templates/js/translated/stock.js:2052 +msgid "Packaging" +msgstr "打包" + +#: company/models.py:554 +msgid "Part packaging" +msgstr "商品打包" + +#: company/models.py:557 company/serializers.py:302 +#: company/templates/company/supplier_part.html:174 +#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901 +#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:558 +msgid "Unit quantity supplied in a single pack" +msgstr "" + +#: company/models.py:564 part/models.py:1838 +msgid "multiple" +msgstr "" + +#: company/models.py:564 +msgid "Order multiple" +msgstr "" + +#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/bom.js:1128 templates/js/translated/build.js:1886 +#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610 +#: templates/js/translated/part.js:613 +#: templates/js/translated/table_filters.js:210 +msgid "Available" +msgstr "空闲" + +#: company/models.py:573 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:577 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:578 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:96 +msgid "Default currency used for this supplier" +msgstr "该公司使用的默认货币" + #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:710 +#: templates/js/translated/order.js:742 msgid "Create Purchase Order" msgstr "创建采购订单" @@ -3373,7 +3413,7 @@ msgid "Edit company information" msgstr "编辑公司信息" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:365 +#: templates/js/translated/company.js:404 msgid "Edit Company" msgstr "编辑公司信息" @@ -3401,14 +3441,14 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:665 -#: order/templates/order/sales_order_base.html:116 stock/models.py:701 -#: stock/models.py:702 stock/serializers.py:813 -#: stock/templates/stock/item_base.html:399 +#: company/templates/company/company_base.html:87 order/models.py:669 +#: order/templates/order/sales_order_base.html:116 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:794 +#: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857 -#: templates/js/translated/stock.js:2610 -#: templates/js/translated/table_filters.js:455 +#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909 +#: templates/js/translated/stock.js:2661 +#: templates/js/translated/table_filters.js:459 msgid "Customer" msgstr "客户" @@ -3421,7 +3461,7 @@ msgid "Phone" msgstr "电话" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:531 msgid "Remove Image" msgstr "" @@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:534 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:563 msgid "Upload Image" msgstr "上传图片" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:618 msgid "Download Image" msgstr "下载图片" @@ -3458,13 +3498,13 @@ msgstr "创建新的供应商商品" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:380 +#: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "新建供应商商品" #: company/templates/company/detail.html:36 #: company/templates/company/detail.html:84 -#: part/templates/part/category.html:177 +#: part/templates/part/category.html:183 msgid "Order parts" msgstr "订购商品" @@ -3487,7 +3527,7 @@ msgstr "制造商商品" msgid "Create new manufacturer part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:410 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "新建制造商商品" @@ -3501,11 +3541,11 @@ msgstr "供货商库存" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35 +#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 -#: templates/InvenTree/settings/sidebar.html:51 +#: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:293 templates/navbar.html:50 -#: users/models.py:42 +#: users/models.py:43 msgid "Purchase Orders" msgstr "采购订单" @@ -3524,11 +3564,11 @@ msgstr "新建采购订单" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39 +#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 -#: templates/InvenTree/settings/sidebar.html:53 +#: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:317 templates/navbar.html:61 -#: users/models.py:43 +#: users/models.py:44 msgid "Sales Orders" msgstr "销售订单" @@ -3543,7 +3583,7 @@ msgid "New Sales Order" msgstr "新建销售订单" #: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1735 msgid "Assigned Stock" msgstr "" @@ -3558,17 +3598,17 @@ msgstr "制造商" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:221 -#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "订购商品" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:756 msgid "Edit manufacturer part" msgstr "编辑制造商商品" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:757 msgid "Delete manufacturer part" msgstr "删除生产商商品" @@ -3583,34 +3623,34 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/admin.py:46 part/templates/part/part_sidebar.html:33 +#: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "供应商" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:391 +#: part/templates/part/detail.html:392 msgid "Delete supplier parts" msgstr "删除供应商商品" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:392 part/templates/part/detail.html:422 +#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36 -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187 -#: users/models.py:225 +#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 +#: users/models.py:231 msgid "Delete" msgstr "删除" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "参数" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" @@ -3621,7 +3661,7 @@ msgid "Delete parameters" msgstr "删除参数" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:873 +#: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "添加参数" @@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:665 -#: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207 -#: templates/js/translated/stock.js:1977 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:239 +#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265 +#: templates/js/translated/stock.js:2010 msgid "Supplier Part" msgstr "供应商商品" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:48 +#: stock/templates/stock/location.html:54 msgid "Barcode actions" msgstr "" #: company/templates/company/supplier_part.html:40 #: part/templates/part/part_base.html:46 #: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:50 templates/qr_button.html:1 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:52 +#: stock/templates/stock/location.html:58 #: templates/js/translated/barcode.js:454 #: templates/js/translated/barcode.js:459 msgid "Unlink Barcode" @@ -3674,7 +3714,7 @@ msgstr "" #: company/templates/company/supplier_part.html:44 #: part/templates/part/part_base.html:51 #: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:54 +#: stock/templates/stock/location.html:60 msgid "Link Barcode" msgstr "" @@ -3685,7 +3725,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 -#: part/templates/part/detail.html:111 +#: part/templates/part/detail.html:112 msgid "Order Part" msgstr "订购商品" @@ -3696,13 +3736,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:250 msgid "Edit Supplier Part" msgstr "编辑供应商商品" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:223 +#: templates/js/translated/company.js:225 msgid "Duplicate Supplier Part" msgstr "" @@ -3717,7 +3757,7 @@ msgstr "" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 #: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:150 +#: stock/templates/stock/location.html:156 msgid "Barcode Identifier" msgstr "" @@ -3726,23 +3766,21 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:200 -#: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" msgstr "供货商商品库存" #: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:466 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: templates/js/translated/stock.js:473 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 -#: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" msgstr "供应商商品订单" @@ -3751,58 +3789,40 @@ msgid "Pricing Information" msgstr "价格信息" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:317 -#: templates/js/translated/pricing.js:654 +#: templates/js/translated/company.js:355 +#: templates/js/translated/pricing.js:663 msgid "Add Price Break" msgstr "" +#: company/templates/company/supplier_part.html:274 +msgid "Supplier Part QR Code" +msgstr "" + #: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:375 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/part_sidebar.html:14 -#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 -#: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:153 -#: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632 -#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993 -#: templates/js/translated/stock.js:1802 templates/navbar.html:31 -msgid "Stock" -msgstr "库存" +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 +#: part/templates/part/category.html:204 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 +#: stock/templates/stock/location.html:174 +#: stock/templates/stock/location.html:188 +#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915 +#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520 +#: users/models.py:41 +msgid "Stock Items" +msgstr "库存项" -#: company/templates/company/supplier_part_navbar.html:22 -msgid "Orders" -msgstr "订单" - -#: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "供应商商品价格" -#: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:30 -#: templates/InvenTree/settings/sidebar.html:37 -msgid "Pricing" -msgstr "定价" - -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 -#: stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 -#: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2487 users/models.py:40 -msgid "Stock Items" -msgstr "库存项" - #: company/views.py:33 msgid "New Supplier" msgstr "新增供应商" @@ -3828,10 +3848,6 @@ msgstr "公司" msgid "New Company" msgstr "新建公司信息" -#: company/views.py:120 stock/views.py:125 -msgid "Stock Item QR Code" -msgstr "" - #: label/models.py:102 msgid "Label name" msgstr "标签名称" @@ -3848,7 +3864,7 @@ msgstr "标签" msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:123 report/models.py:254 +#: label/models.py:123 report/models.py:258 msgid "Enabled" msgstr "已启用" @@ -3872,7 +3888,7 @@ msgstr "高度 [mm]" msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:143 report/models.py:247 +#: label/models.py:143 report/models.py:251 msgid "Filename Pattern" msgstr "文件名样式" @@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "查询筛选器 (逗号分隔的键值对列表)" #: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:279 report/models.py:410 report/models.py:448 msgid "Filters" msgstr "筛选器" @@ -3897,447 +3913,443 @@ msgstr "查询筛选器 (逗号分隔的键值对列表" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "商品查询筛选器 (逗号分隔的键值对列表)" -#: order/api.py:161 +#: order/api.py:163 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1257 order/models.py:1021 order/models.py:1100 +#: order/api.py:1259 order/models.py:1023 order/models.py:1102 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208 -#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266 -#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957 -#: templates/js/translated/stock.js:2591 +#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 +#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351 +#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2642 msgid "Purchase Order" msgstr "" -#: order/api.py:1261 +#: order/api.py:1263 msgid "Unknown" msgstr "" -#: order/models.py:83 +#: order/models.py:82 msgid "Order description" msgstr "" -#: order/models.py:85 order/models.py:1283 +#: order/models.py:84 order/models.py:1285 msgid "Link to external page" msgstr "" -#: order/models.py:93 +#: order/models.py:92 msgid "Created By" msgstr "" -#: order/models.py:100 +#: order/models.py:99 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:105 +#: order/models.py:104 msgid "Order notes" msgstr "" -#: order/models.py:242 order/models.py:652 +#: order/models.py:241 order/models.py:656 msgid "Order reference" msgstr "" -#: order/models.py:250 order/models.py:670 +#: order/models.py:249 order/models.py:674 msgid "Purchase order status" msgstr "" -#: order/models.py:265 +#: order/models.py:264 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:268 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2060 +#: order/models.py:267 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2118 msgid "Supplier Reference" msgstr "" -#: order/models.py:268 +#: order/models.py:267 msgid "Supplier order reference code" msgstr "" -#: order/models.py:275 +#: order/models.py:274 msgid "received by" msgstr "" -#: order/models.py:280 +#: order/models.py:279 msgid "Issue Date" msgstr "" -#: order/models.py:281 +#: order/models.py:280 msgid "Date order was issued" msgstr "" -#: order/models.py:286 +#: order/models.py:285 msgid "Target Delivery Date" msgstr "" -#: order/models.py:287 +#: order/models.py:286 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:293 +#: order/models.py:292 msgid "Date order was completed" msgstr "" -#: order/models.py:332 +#: order/models.py:331 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:491 +#: order/models.py:490 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:666 +#: order/models.py:670 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer Reference " msgstr "" -#: order/models.py:677 +#: order/models.py:681 msgid "Customer order reference code" msgstr "" -#: order/models.py:682 +#: order/models.py:686 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:685 order/models.py:1241 -#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066 +#: order/models.py:689 order/models.py:1243 +#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118 msgid "Shipment Date" msgstr "" -#: order/models.py:692 +#: order/models.py:696 msgid "shipped by" msgstr "" -#: order/models.py:747 +#: order/models.py:751 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:751 +#: order/models.py:755 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:754 templates/js/translated/order.js:420 +#: order/models.py:758 templates/js/translated/order.js:424 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:757 +#: order/models.py:761 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:935 +#: order/models.py:938 msgid "Item quantity" msgstr "" -#: order/models.py:941 +#: order/models.py:944 msgid "Line item reference" msgstr "" -#: order/models.py:943 +#: order/models.py:946 msgid "Line item notes" msgstr "" -#: order/models.py:948 +#: order/models.py:951 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:966 +#: order/models.py:968 msgid "Context" msgstr "" -#: order/models.py:967 +#: order/models.py:969 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:978 msgid "Unit price" msgstr "" -#: order/models.py:1006 +#: order/models.py:1008 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1014 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:1020 order/models.py:1100 order/models.py:1141 -#: order/models.py:1235 order/models.py:1367 -#: templates/js/translated/order.js:3522 +#: order/models.py:1022 order/models.py:1102 order/models.py:1143 +#: order/models.py:1237 order/models.py:1369 +#: templates/js/translated/order.js:3574 msgid "Order" msgstr "" -#: order/models.py:1039 +#: order/models.py:1041 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1046 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436 -#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415 -#: templates/js/translated/table_filters.js:366 +#: order/models.py:1048 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494 +#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500 +#: templates/js/translated/table_filters.js:370 msgid "Received" msgstr "" -#: order/models.py:1047 +#: order/models.py:1049 msgid "Number of items received" msgstr "" -#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173 +#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2008 +#: templates/js/translated/stock.js:2041 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1055 +#: order/models.py:1057 msgid "Unit purchase price" msgstr "" -#: order/models.py:1063 +#: order/models.py:1065 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1129 +#: order/models.py:1131 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1134 +#: order/models.py:1136 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1160 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906 +#: order/models.py:1162 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1161 +#: order/models.py:1163 msgid "Unit sale price" msgstr "" -#: order/models.py:1166 +#: order/models.py:1168 msgid "Shipped quantity" msgstr "" -#: order/models.py:1242 +#: order/models.py:1244 msgid "Date of shipment" msgstr "" -#: order/models.py:1249 +#: order/models.py:1251 msgid "Checked By" msgstr "" -#: order/models.py:1250 +#: order/models.py:1252 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 -#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327 +#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 +#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327 msgid "Shipment" msgstr "" -#: order/models.py:1258 +#: order/models.py:1260 msgid "Shipment number" msgstr "" -#: order/models.py:1262 +#: order/models.py:1264 msgid "Shipment notes" msgstr "" -#: order/models.py:1268 +#: order/models.py:1270 msgid "Tracking Number" msgstr "" -#: order/models.py:1269 +#: order/models.py:1271 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1276 +#: order/models.py:1278 msgid "Invoice Number" msgstr "" -#: order/models.py:1277 +#: order/models.py:1279 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1295 +#: order/models.py:1297 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1298 +#: order/models.py:1300 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1401 order/models.py:1403 +#: order/models.py:1403 order/models.py:1405 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1407 +#: order/models.py:1409 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1409 +#: order/models.py:1411 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1422 order/serializers.py:1083 +#: order/models.py:1424 order/serializers.py:1059 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1425 +#: order/models.py:1427 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1426 +#: order/models.py:1428 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1434 +#: order/models.py:1436 msgid "Line" msgstr "" -#: order/models.py:1443 +#: order/models.py:1445 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1456 templates/js/translated/notification.js:55 +#: order/models.py:1458 msgid "Item" msgstr "" -#: order/models.py:1457 +#: order/models.py:1459 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1460 +#: order/models.py:1462 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:63 -msgid "Price currency" -msgstr "" - -#: order/serializers.py:193 +#: order/serializers.py:190 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:203 order/serializers.py:1101 +#: order/serializers.py:205 order/serializers.py:1077 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:214 order/serializers.py:1112 +#: order/serializers.py:216 order/serializers.py:1088 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:305 +#: order/serializers.py:328 msgid "Order is not open" msgstr "" -#: order/serializers.py:327 +#: order/serializers.py:346 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:364 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:351 +#: order/serializers.py:369 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:357 +#: order/serializers.py:375 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:358 +#: order/serializers.py:376 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:421 order/serializers.py:1189 +#: order/serializers.py:414 order/serializers.py:1165 msgid "Line Item" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:420 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:437 order/serializers.py:548 +#: order/serializers.py:430 order/serializers.py:549 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:456 templates/js/translated/order.js:1569 +#: order/serializers.py:449 templates/js/translated/order.js:1627 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:464 templates/js/translated/order.js:1580 +#: order/serializers.py:457 templates/js/translated/order.js:1638 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:471 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:492 +#: order/serializers.py:485 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:511 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:565 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:581 +#: order/serializers.py:582 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:592 +#: order/serializers.py:593 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:900 +#: order/serializers.py:902 msgid "Sale price currency" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:957 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1044 order/serializers.py:1198 +#: order/serializers.py:1020 order/serializers.py:1174 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1066 +#: order/serializers.py:1042 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1211 +#: order/serializers.py:1187 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1233 order/serializers.py:1357 +#: order/serializers.py:1209 order/serializers.py:1333 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1236 order/serializers.py:1360 +#: order/serializers.py:1212 order/serializers.py:1336 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1290 +#: order/serializers.py:1266 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1300 +#: order/serializers.py:1276 msgid "The following serial numbers are already allocated" msgstr "" @@ -4505,10 +4517,10 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:486 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089 -#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658 -#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656 -#: templates/js/translated/stock.js:824 +#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091 +#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 +#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663 +#: templates/js/translated/stock.js:833 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "移除行" @@ -4566,7 +4578,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:577 templates/js/translated/order.js:750 +#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 msgid "Add Line Item" msgstr "" @@ -4612,12 +4624,12 @@ msgid "Print packing list" msgstr "" #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:237 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:398 +#: templates/js/translated/order.js:402 msgid "Complete Sales Order" msgstr "" @@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2870 +#: templates/js/translated/order.js:2922 msgid "Customer Reference" msgstr "" @@ -4636,10 +4648,6 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:230 -msgid "Edit Sales Order" -msgstr "" - #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -4650,8 +4658,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:77 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:1990 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234 +#: templates/js/translated/build.js:1992 msgid "Actions" msgstr "" @@ -4681,174 +4689,175 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84 -#: templates/js/translated/model_renderers.js:214 +#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283 +#: stock/admin.py:101 templates/js/translated/model_renderers.js:214 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85 +#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284 +#: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:21 +#: part/admin.py:35 part/tasks.py:285 msgid "Part Description" msgstr "" -#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745 -#: templates/js/translated/stock.js:1768 +#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830 +#: templates/js/translated/stock.js:1801 msgid "IPN" msgstr "" -#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1022 +#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:1107 msgid "Revision" msgstr "" -#: part/admin.py:24 part/admin.py:178 part/models.py:839 -#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:808 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "关键词" -#: part/admin.py:28 part/admin.py:172 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:286 #: templates/js/translated/model_renderers.js:351 msgid "Category ID" msgstr "类别 ID" -#: part/admin.py:29 part/admin.py:173 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:287 msgid "Category Name" msgstr "" -#: part/admin.py:30 part/admin.py:177 +#: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" msgstr "" -#: part/admin.py:31 +#: part/admin.py:45 msgid "Default Supplier ID" msgstr "" -#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "最低库存" -#: part/admin.py:47 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1028 -#: templates/js/translated/table_filters.js:221 +#: part/admin.py:61 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1067 +#: templates/js/translated/table_filters.js:225 msgid "In Stock" msgstr "" -#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936 -#: templates/js/translated/part.js:594 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938 +#: templates/js/translated/part.js:600 templates/js/translated/part.js:620 +#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +#: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:50 templates/js/translated/build.js:1948 -#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784 -#: templates/js/translated/order.js:3979 +#: part/admin.py:64 templates/js/translated/build.js:1950 +#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786 +#: templates/js/translated/order.js:4031 msgid "Allocated" msgstr "" -#: part/admin.py:51 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:597 templates/js/translated/part.js:617 -#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820 +#: part/admin.py:65 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:623 +#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903 msgid "Building" msgstr "" -#: part/admin.py:52 part/models.py:2852 +#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820 msgid "Minimum Cost" msgstr "" -#: part/admin.py:53 part/models.py:2858 +#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830 msgid "Maximum Cost" msgstr "" -#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98 +#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 msgid "Parent ID" msgstr "" -#: part/admin.py:176 part/admin.py:251 stock/admin.py:27 +#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 msgid "Parent Name" msgstr "" -#: part/admin.py:179 part/templates/part/category.html:81 -#: part/templates/part/category.html:94 +#: part/admin.py:199 part/templates/part/category.html:87 +#: part/templates/part/category.html:100 msgid "Category Path" msgstr "类别路径" -#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146 +#: templates/InvenTree/settings/sidebar.html:45 +#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" -#: part/admin.py:244 +#: part/admin.py:264 msgid "BOM Level" msgstr "" -#: part/admin.py:246 +#: part/admin.py:266 msgid "BOM Item ID" msgstr "" -#: part/admin.py:250 +#: part/admin.py:270 msgid "Parent IPN" msgstr "" -#: part/admin.py:253 part/models.py:3336 +#: part/admin.py:273 part/models.py:3387 msgid "Part IPN" msgstr "" -#: part/admin.py:259 templates/js/translated/pricing.js:332 -#: templates/js/translated/pricing.js:973 +#: part/admin.py:279 templates/js/translated/pricing.js:337 +#: templates/js/translated/pricing.js:986 msgid "Minimum Price" msgstr "" -#: part/admin.py:260 templates/js/translated/pricing.js:327 -#: templates/js/translated/pricing.js:981 +#: part/admin.py:280 templates/js/translated/pricing.js:332 +#: templates/js/translated/pricing.js:994 msgid "Maximum Price" msgstr "" -#: part/api.py:536 +#: part/api.py:534 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:556 +#: part/api.py:554 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:574 +#: part/api.py:572 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:660 +#: part/api.py:658 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:818 +#: part/api.py:816 msgid "Valid" msgstr "" -#: part/api.py:819 +#: part/api.py:817 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:825 +#: part/api.py:823 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:116 part/models.py:888 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:374 +#: part/bom.py:175 part/models.py:121 part/models.py:857 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 msgid "Default Location" msgstr "默认仓储地点" @@ -4857,810 +4866,918 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3946 +#: templates/js/translated/order.js:3998 msgid "Available Stock" msgstr "可用库存" -#: part/forms.py:41 +#: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:117 -msgid "Default location for parts in this category" -msgstr "此类别商品的默认仓储地点" - -#: part/models.py:122 stock/models.py:113 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:150 -msgid "Structural" -msgstr "" - -#: part/models.py:124 -msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" - -#: part/models.py:128 -msgid "Default keywords" -msgstr "" - -#: part/models.py:128 -msgid "Default keywords for parts in this category" -msgstr "此类别商品的默认关键字" - -#: part/models.py:133 stock/models.py:102 -msgid "Icon" -msgstr "" - -#: part/models.py:134 stock/models.py:103 -msgid "Icon (optional)" -msgstr "" - -#: part/models.py:153 -msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" - -#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:160 part/templates/part/category.html:129 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:469 +#: part/models.py:122 +msgid "Default location for parts in this category" +msgstr "此类别商品的默认仓储地点" + +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:154 +msgid "Structural" +msgstr "" + +#: part/models.py:129 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:133 +msgid "Default keywords" +msgstr "" + +#: part/models.py:133 +msgid "Default keywords for parts in this category" +msgstr "此类别商品的默认关键字" + +#: part/models.py:138 stock/models.py:108 +msgid "Icon" +msgstr "" + +#: part/models.py:139 stock/models.py:109 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:158 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:539 part/models.py:551 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:641 +#: part/models.py:610 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:772 +#: part/models.py:741 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:777 +#: part/models.py:746 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:791 +#: part/models.py:760 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:809 part/models.py:3333 +#: part/models.py:778 part/models.py:3384 msgid "Part name" msgstr "商品名称" -#: part/models.py:816 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:817 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:827 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:828 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:834 +#: part/models.py:803 msgid "Part description" msgstr "商品描述" -#: part/models.py:840 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:847 part/models.py:3032 part/models.py:3276 -#: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:276 +#: part/models.py:816 part/models.py:3090 part/models.py:3327 +#: part/serializers.py:835 part/templates/part/part_base.html:263 +#: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034 +#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117 msgid "Category" msgstr "类别" -#: part/models.py:848 +#: part/models.py:817 msgid "Part category" msgstr "商品类别" -#: part/models.py:854 +#: part/models.py:823 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:860 +#: part/models.py:829 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:886 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:931 part/templates/part/part_base.html:383 +#: part/models.py:900 part/templates/part/part_base.html:384 msgid "Default Supplier" msgstr "" -#: part/models.py:932 +#: part/models.py:901 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:939 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:940 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:946 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:953 +#: part/models.py:922 msgid "Units of measure for this part" msgstr "" -#: part/models.py:959 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:965 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:976 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:981 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:986 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:991 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:993 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:995 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:998 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:1000 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:1004 +#: part/models.py:973 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1006 +#: part/models.py:975 msgid "User responsible for this part" msgstr "" -#: part/models.py:1010 part/templates/part/part_base.html:345 -#: stock/templates/stock/item_base.html:445 -#: templates/js/translated/part.js:1884 +#: part/models.py:979 part/templates/part/part_base.html:347 +#: stock/templates/stock/item_base.html:448 +#: templates/js/translated/part.js:1967 msgid "Last Stocktake" msgstr "" -#: part/models.py:1869 +#: part/models.py:1838 msgid "Sell multiple" msgstr "" -#: part/models.py:2775 +#: part/models.py:2745 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2792 +#: part/models.py:2762 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2793 +#: part/models.py:2763 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2798 +#: part/models.py:2768 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2799 +#: part/models.py:2769 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2804 +#: part/models.py:2774 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2805 +#: part/models.py:2775 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2810 +#: part/models.py:2780 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2811 +#: part/models.py:2781 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2816 +#: part/models.py:2786 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2817 +#: part/models.py:2787 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2822 +#: part/models.py:2792 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2823 +#: part/models.py:2793 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2828 +#: part/models.py:2798 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2829 +#: part/models.py:2799 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2834 +#: part/models.py:2804 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2835 +#: part/models.py:2805 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2840 +#: part/models.py:2810 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2841 +#: part/models.py:2811 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2846 +#: part/models.py:2816 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2847 +#: part/models.py:2817 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2853 +#: part/models.py:2823 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2859 +#: part/models.py:2829 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2864 +#: part/models.py:2834 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2865 +#: part/models.py:2835 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2870 +#: part/models.py:2840 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2871 +#: part/models.py:2841 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2876 +#: part/models.py:2846 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2847 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2882 +#: part/models.py:2852 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2853 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2872 msgid "Part for stocktake" msgstr "" -#: part/models.py:2908 +#: part/models.py:2877 +msgid "Item Count" +msgstr "" + +#: part/models.py:2878 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:2885 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2912 part/templates/part/part_scheduling.html:13 +#: part/models.py:2889 part/models.py:2972 +#: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870 -#: templates/js/translated/pricing.js:778 -#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519 +#: templates/InvenTree/settings/settings_staff_js.html:374 +#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940 +#: templates/js/translated/pricing.js:791 +#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570 msgid "Date" msgstr "" -#: part/models.py:2913 +#: part/models.py:2890 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2921 +#: part/models.py:2898 msgid "Additional notes" msgstr "" -#: part/models.py:2929 +#: part/models.py:2906 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3079 +#: part/models.py:2911 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:2912 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:2917 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:2918 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363 +msgid "Report" +msgstr "" + +#: part/models.py:2980 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370 +msgid "Part Count" +msgstr "" + +#: part/models.py:2986 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:2994 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3130 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3096 +#: part/models.py:3147 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3116 templates/js/translated/part.js:2380 +#: part/models.py:3167 templates/js/translated/part.js:2485 msgid "Test Name" msgstr "" -#: part/models.py:3117 +#: part/models.py:3168 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3122 +#: part/models.py:3173 msgid "Test Description" msgstr "" -#: part/models.py:3123 +#: part/models.py:3174 msgid "Enter description for this test" msgstr "" -#: part/models.py:3128 templates/js/translated/part.js:2389 -#: templates/js/translated/table_filters.js:330 +#: part/models.py:3179 templates/js/translated/part.js:2494 +#: templates/js/translated/table_filters.js:334 msgid "Required" msgstr "" -#: part/models.py:3129 +#: part/models.py:3180 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3134 templates/js/translated/part.js:2397 +#: part/models.py:3185 templates/js/translated/part.js:2502 msgid "Requires Value" msgstr "" -#: part/models.py:3135 +#: part/models.py:3186 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3140 templates/js/translated/part.js:2404 +#: part/models.py:3191 templates/js/translated/part.js:2509 msgid "Requires Attachment" msgstr "" -#: part/models.py:3141 +#: part/models.py:3192 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3182 +#: part/models.py:3233 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3190 +#: part/models.py:3241 msgid "Parameter Name" msgstr "" -#: part/models.py:3194 +#: part/models.py:3245 msgid "Parameter Units" msgstr "" -#: part/models.py:3199 +#: part/models.py:3250 msgid "Parameter description" msgstr "" -#: part/models.py:3232 +#: part/models.py:3283 msgid "Parent Part" msgstr "" -#: part/models.py:3234 part/models.py:3282 part/models.py:3283 -#: templates/InvenTree/settings/settings.html:271 +#: part/models.py:3285 part/models.py:3333 part/models.py:3334 +#: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Data" msgstr "" -#: part/models.py:3236 +#: part/models.py:3287 msgid "Parameter Value" msgstr "" -#: part/models.py:3287 templates/InvenTree/settings/settings.html:280 +#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "默认值" -#: part/models.py:3288 +#: part/models.py:3339 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3325 +#: part/models.py:3376 msgid "Part ID or part name" msgstr "" -#: part/models.py:3329 +#: part/models.py:3380 msgid "Unique part ID value" msgstr "" -#: part/models.py:3337 +#: part/models.py:3388 msgid "Part IPN value" msgstr "" -#: part/models.py:3340 +#: part/models.py:3391 msgid "Level" msgstr "" -#: part/models.py:3341 +#: part/models.py:3392 msgid "BOM level" msgstr "" -#: part/models.py:3410 +#: part/models.py:3472 msgid "Select parent part" msgstr "" -#: part/models.py:3418 +#: part/models.py:3480 msgid "Sub part" msgstr "" -#: part/models.py:3419 +#: part/models.py:3481 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3425 +#: part/models.py:3487 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3429 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993 -#: templates/js/translated/build.js:1869 +#: part/models.py:3491 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 +#: templates/js/translated/build.js:1871 #: templates/js/translated/table_filters.js:84 #: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "可选项" -#: part/models.py:3430 +#: part/models.py:3492 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3435 templates/js/translated/bom.js:936 -#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860 +#: part/models.py:3497 templates/js/translated/bom.js:939 +#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:3436 +#: part/models.py:3498 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3440 part/templates/part/upload_bom.html:55 +#: part/models.py:3502 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3441 +#: part/models.py:3503 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3444 +#: part/models.py:3506 msgid "BOM item reference" msgstr "" -#: part/models.py:3447 +#: part/models.py:3509 msgid "BOM item notes" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "Checksum" msgstr "" -#: part/models.py:3449 +#: part/models.py:3511 msgid "BOM line checksum" msgstr "" -#: part/models.py:3453 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1019 +#: part/models.py:3515 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1022 #: templates/js/translated/table_filters.js:76 #: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "继承项" -#: part/models.py:3454 +#: part/models.py:3516 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3459 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1011 +#: part/models.py:3521 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1014 msgid "Allow Variants" msgstr "" -#: part/models.py:3460 +#: part/models.py:3522 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3546 stock/models.py:558 +#: part/models.py:3608 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3555 part/models.py:3557 +#: part/models.py:3617 part/models.py:3619 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3684 +#: part/models.py:3735 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3705 +#: part/models.py:3756 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3769 msgid "Parent BOM item" msgstr "" -#: part/models.py:3726 +#: part/models.py:3777 msgid "Substitute part" msgstr "" -#: part/models.py:3741 +#: part/models.py:3792 msgid "Part 1" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Part 2" msgstr "" -#: part/models.py:3745 +#: part/models.py:3796 msgid "Select Related Part" msgstr "" -#: part/models.py:3763 +#: part/models.py:3814 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3767 +#: part/models.py:3818 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Original Part" msgstr "" -#: part/serializers.py:318 +#: part/serializers.py:301 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy Image" msgstr "" -#: part/serializers.py:323 +#: part/serializers.py:306 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:328 part/templates/part/detail.html:295 +#: part/serializers.py:311 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:328 +#: part/serializers.py:311 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:316 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:326 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:332 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:342 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:370 +#: part/serializers.py:353 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:376 +#: part/serializers.py:359 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:366 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:374 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:386 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:394 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:562 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:385 +#: part/serializers.py:607 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:386 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:562 +#: part/serializers.py:607 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:567 templates/js/translated/part.js:68 +#: part/serializers.py:612 templates/js/translated/part.js:69 msgid "Initial Stock" msgstr "" -#: part/serializers.py:567 +#: part/serializers.py:612 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Supplier Information" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:617 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:623 +msgid "Copy Category Parameters" +msgstr "复制类别参数" + +#: part/serializers.py:624 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:829 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:835 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:841 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:846 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:847 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:852 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:853 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:861 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:950 msgid "Update" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:951 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1113 +#: part/serializers.py:1235 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1121 +#: part/serializers.py:1243 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1244 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1127 +#: part/serializers.py:1249 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1128 +#: part/serializers.py:1250 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1255 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1256 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1139 +#: part/serializers.py:1261 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1262 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1302 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1181 +#: part/serializers.py:1303 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1333 msgid "No part column specified" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1376 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1379 msgid "No matching part found" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1382 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1391 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1399 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1298 +#: part/serializers.py:1420 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:25 +#: part/tasks.py:36 msgid "Low stock notification" msgstr "" -#: part/tasks.py:26 +#: part/tasks.py:37 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" +#: part/tasks.py:289 templates/js/translated/order.js:2409 +#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424 +#: templates/js/translated/part.js:1476 +msgid "Total Quantity" +msgstr "" + +#: part/tasks.py:290 +msgid "Total Cost Min" +msgstr "" + +#: part/tasks.py:291 +msgid "Total Cost Max" +msgstr "" + +#: part/tasks.py:355 +msgid "Stocktake Report Available" +msgstr "" + +#: part/tasks.py:356 +msgid "A new stocktake report is available for download" +msgstr "" + #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." msgstr "" @@ -5680,7 +5797,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:290 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 msgid "BOM actions" msgstr "" @@ -5688,85 +5805,89 @@ msgstr "" msgid "Delete Items" msgstr "" -#: part/templates/part/category.html:34 part/templates/part/category.html:38 +#: part/templates/part/category.html:34 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" msgstr "" -#: part/templates/part/category.html:42 +#: part/templates/part/category.html:48 msgid "Subscribe to notifications for this category" msgstr "" -#: part/templates/part/category.html:48 +#: part/templates/part/category.html:54 msgid "Category Actions" msgstr "" -#: part/templates/part/category.html:53 +#: part/templates/part/category.html:59 msgid "Edit category" msgstr "" -#: part/templates/part/category.html:54 +#: part/templates/part/category.html:60 msgid "Edit Category" msgstr "" -#: part/templates/part/category.html:58 +#: part/templates/part/category.html:64 msgid "Delete category" msgstr "" -#: part/templates/part/category.html:59 +#: part/templates/part/category.html:65 msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:95 +#: part/templates/part/category.html:101 msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:115 part/templates/part/category.html:224 +#: part/templates/part/category.html:121 part/templates/part/category.html:230 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "子类别" -#: part/templates/part/category.html:120 +#: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" msgstr "商品 (包括子类别)" -#: part/templates/part/category.html:158 +#: part/templates/part/category.html:164 msgid "Create new part" msgstr "新建商品" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:412 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:413 msgid "New Part" msgstr "新商品" -#: part/templates/part/category.html:169 part/templates/part/detail.html:389 -#: part/templates/part/detail.html:420 +#: part/templates/part/category.html:175 part/templates/part/detail.html:390 +#: part/templates/part/detail.html:421 msgid "Options" msgstr "选项" -#: part/templates/part/category.html:173 +#: part/templates/part/category.html:179 msgid "Set category" msgstr "设置类别" -#: part/templates/part/category.html:174 +#: part/templates/part/category.html:180 msgid "Set Category" msgstr "设置类别" -#: part/templates/part/category.html:181 part/templates/part/category.html:182 +#: part/templates/part/category.html:187 part/templates/part/category.html:188 msgid "Print Labels" msgstr "打印标签" -#: part/templates/part/category.html:207 +#: part/templates/part/category.html:213 msgid "Part Parameters" msgstr "商品参数" -#: part/templates/part/category.html:228 +#: part/templates/part/category.html:234 msgid "Create new part category" msgstr "新建商品类别" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:235 msgid "New Category" msgstr "" -#: part/templates/part/category.html:332 +#: part/templates/part/category.html:352 msgid "Create Part Category" msgstr "创建商品类别" @@ -5807,118 +5928,120 @@ msgstr "" msgid "Refresh" msgstr "" -#: part/templates/part/detail.html:65 +#: part/templates/part/detail.html:66 msgid "Add stocktake information" msgstr "" -#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49 -#: stock/admin.py:107 templates/js/translated/stock.js:1913 +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: templates/InvenTree/settings/sidebar.html:49 +#: templates/js/translated/stock.js:1946 users/models.py:39 msgid "Stocktake" msgstr "" -#: part/templates/part/detail.html:82 +#: part/templates/part/detail.html:83 msgid "Part Test Templates" msgstr "" -#: part/templates/part/detail.html:87 +#: part/templates/part/detail.html:88 msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:164 +#: part/templates/part/detail.html:165 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:179 +#: part/templates/part/detail.html:180 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:183 +#: part/templates/part/detail.html:184 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:185 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:211 +#: part/templates/part/detail.html:212 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57 +#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/detail.html:253 +#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:278 +#: part/templates/part/detail.html:279 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:284 +#: part/templates/part/detail.html:285 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:295 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:296 +#: part/templates/part/detail.html:297 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:301 part/templates/part/detail.html:302 -#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 +#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 +#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:315 +#: part/templates/part/detail.html:316 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:333 +#: part/templates/part/detail.html:334 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:377 msgid "Part Suppliers" msgstr "商品供应商" -#: part/templates/part/detail.html:406 +#: part/templates/part/detail.html:407 msgid "Part Manufacturers" msgstr "商品制造商" -#: part/templates/part/detail.html:422 +#: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" msgstr "删除制造商商品" -#: part/templates/part/detail.html:696 +#: part/templates/part/detail.html:703 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:704 +#: part/templates/part/detail.html:711 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:799 msgid "Add Test Result Template" msgstr "" @@ -5953,13 +6076,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1029 +#: templates/js/translated/order.js:1087 msgid "Select file format" msgstr "" @@ -5981,7 +6104,7 @@ msgstr "" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 -#: stock/templates/stock/location.html:67 +#: stock/templates/stock/location.html:73 msgid "Print Label" msgstr "打印标签" @@ -5991,7 +6114,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:75 +#: stock/templates/stock/location.html:81 msgid "Stock actions" msgstr "" @@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)" msgstr "商品是虚拟的(不是实体零件)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:921 +#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:960 #: templates/js/translated/model_renderers.js:206 -#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:686 msgid "Show Part Details" msgstr "" @@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:382 +#: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:375 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176 msgid "Can Build" msgstr "" @@ -6084,44 +6207,48 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:1003 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042 +#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941 +#: templates/js/translated/pricing.js:370 +#: templates/js/translated/pricing.js:1016 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:359 +#: part/templates/part/part_base.html:360 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:363 -#: stock/templates/stock/item_base.html:331 +#: part/templates/part/part_base.html:364 +#: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:452 +msgid "Part QR Code" +msgstr "商品二维码" + +#: part/templates/part/part_base.html:469 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:515 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:532 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:584 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:680 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464 msgid "Supplier Pricing" msgstr "" @@ -6136,6 +6263,7 @@ 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:927 msgid "Total Cost" msgstr "" @@ -6176,11 +6304,27 @@ msgstr "" msgid "Variants" msgstr "" +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +msgid "Stock" +msgstr "库存" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:37 +msgid "Pricing" +msgstr "定价" + #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:53 +#: part/templates/part/part_sidebar.html:54 msgid "Test Templates" msgstr "" @@ -6196,11 +6340,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:106 -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1039 -#: templates/js/translated/company.js:1048 -#: templates/js/translated/stock.js:1943 +#: part/templates/part/prices.html:25 stock/admin.py:123 +#: stock/templates/stock/item_base.html:443 +#: templates/js/translated/company.js:1078 +#: templates/js/translated/company.js:1087 +#: templates/js/translated/stock.js:1976 msgid "Last Updated" msgstr "" @@ -6263,8 +6407,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 -#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631 +#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714 msgid "No Stock" msgstr "" @@ -6327,32 +6471,28 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:111 +#: part/views.py:110 msgid "Match References" msgstr "" -#: part/views.py:239 +#: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" msgstr "" -#: part/views.py:378 -msgid "Part QR Code" -msgstr "商品二维码" - -#: part/views.py:396 +#: part/views.py:379 msgid "Select Part Image" msgstr "选择商品图像" -#: part/views.py:422 +#: part/views.py:405 msgid "Updated part image" msgstr "更新商品图像" -#: part/views.py:425 +#: part/views.py:408 msgid "Part image not found" msgstr "未找到商品图像" -#: part/views.py:520 +#: part/views.py:503 msgid "Part Pricing" msgstr "商品价格" @@ -6503,16 +6643,16 @@ msgstr "" msgid "No date found" msgstr "" -#: plugin/registry.py:444 +#: plugin/registry.py:445 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:446 +#: plugin/registry.py:447 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:448 +#: plugin/registry.py:449 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6549,27 +6689,27 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:72 +#: plugin/serializers.py:80 msgid "Source URL" msgstr "" -#: plugin/serializers.py:73 +#: plugin/serializers.py:81 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:78 +#: plugin/serializers.py:86 msgid "Package Name" msgstr "" -#: plugin/serializers.py:79 +#: plugin/serializers.py:87 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:90 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:83 +#: plugin/serializers.py:91 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" @@ -6610,71 +6750,71 @@ msgstr "" msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:248 +#: report/models.py:252 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:255 +#: report/models.py:259 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:376 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:378 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:449 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:501 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:502 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:506 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:543 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:544 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:551 msgid "Asset file description" msgstr "" @@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:706 stock/templates/stock/item_base.html:320 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:635 -#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746 +#: stock/models.py:718 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:479 templates/js/translated/build.js:637 +#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641 -#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521 +#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528 msgid "Serial Number" msgstr "序列号" @@ -6709,12 +6849,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2165 templates/js/translated/stock.js:1378 +#: stock/models.py:2177 templates/js/translated/stock.js:1415 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2171 +#: stock/models.py:2183 msgid "Result" msgstr "" @@ -6732,315 +6872,330 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:87 templates/js/translated/part.js:732 -#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:2768 +#: stock/admin.py:104 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819 msgid "Serial" msgstr "" -#: stock/admin.py:23 stock/admin.py:90 +#: stock/admin.py:39 stock/admin.py:107 #: templates/js/translated/model_renderers.js:161 msgid "Location ID" msgstr "" -#: stock/admin.py:24 stock/admin.py:91 +#: stock/admin.py:40 stock/admin.py:108 msgid "Location Name" msgstr "" -#: stock/admin.py:28 stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 +#: stock/admin.py:44 stock/templates/stock/location.html:129 +#: stock/templates/stock/location.html:135 msgid "Location Path" msgstr "" -#: stock/admin.py:83 +#: stock/admin.py:100 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:92 templates/js/translated/model_renderers.js:431 +#: stock/admin.py:109 templates/js/translated/model_renderers.js:431 msgid "Supplier Part ID" msgstr "供应商商品ID" -#: stock/admin.py:93 +#: stock/admin.py:110 msgid "Supplier ID" msgstr "" -#: stock/admin.py:94 +#: stock/admin.py:111 msgid "Supplier Name" msgstr "" -#: stock/admin.py:95 +#: stock/admin.py:112 msgid "Customer ID" msgstr "" -#: stock/admin.py:96 stock/models.py:689 -#: stock/templates/stock/item_base.html:359 +#: stock/admin.py:113 stock/models.py:701 +#: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:97 templates/js/translated/model_renderers.js:179 +#: stock/admin.py:114 templates/js/translated/model_renderers.js:179 msgid "Build ID" msgstr "" -#: stock/admin.py:99 +#: stock/admin.py:116 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:117 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:108 stock/models.py:762 -#: stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1927 +#: stock/admin.py:125 stock/models.py:774 +#: stock/templates/stock/item_base.html:430 +#: templates/js/translated/stock.js:1960 msgid "Expiry Date" msgstr "" -#: stock/api.py:541 +#: stock/api.py:575 msgid "Quantity is required" msgstr "" -#: stock/api.py:548 +#: stock/api.py:582 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:573 +#: stock/api.py:607 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:107 stock/models.py:803 -#: stock/templates/stock/item_base.html:250 -msgid "Owner" -msgstr "" - -#: stock/models.py:108 stock/models.py:804 -msgid "Select Owner" -msgstr "" - -#: stock/models.py:115 -msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" - -#: stock/models.py:158 -msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" - -#: stock/models.py:539 -msgid "Stock items cannot be located into structural stock locations!" -msgstr "" - -#: stock/models.py:564 stock/serializers.py:97 -msgid "Stock item cannot be created for virtual parts" -msgstr "" - -#: stock/models.py:581 -#, python-brace-format -msgid "Part type ('{pf}') must be {pe}" -msgstr "商品类型 ('{pf}') 必须是 {pe}" - -#: stock/models.py:591 stock/models.py:600 -msgid "Quantity must be 1 for item with a serial number" -msgstr "" - -#: stock/models.py:592 -msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" - -#: stock/models.py:614 -msgid "Item cannot belong to itself" -msgstr "" - -#: stock/models.py:620 -msgid "Item must have a build reference if is_building=True" -msgstr "" - -#: stock/models.py:634 -msgid "Build reference does not point to the same part object" -msgstr "" - -#: stock/models.py:648 -msgid "Parent Stock Item" -msgstr "" - -#: stock/models.py:658 -msgid "Base part" -msgstr "" - -#: stock/models.py:666 -msgid "Select a matching supplier part for this stock item" -msgstr "" - -#: stock/models.py:673 stock/templates/stock/location.html:17 +#: stock/models.py:53 stock/models.py:685 +#: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:676 +#: stock/models.py:54 stock/templates/stock/location.html:183 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: users/models.py:40 +msgid "Stock Locations" +msgstr "仓储地点" + +#: stock/models.py:113 stock/models.py:815 +#: stock/templates/stock/item_base.html:253 +msgid "Owner" +msgstr "" + +#: stock/models.py:114 stock/models.py:816 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:121 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:127 templates/js/translated/stock.js:2535 +#: templates/js/translated/table_filters.js:139 +msgid "External" +msgstr "" + +#: stock/models.py:128 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:170 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:551 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:576 stock/serializers.py:151 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:593 +#, python-brace-format +msgid "Part type ('{pf}') must be {pe}" +msgstr "商品类型 ('{pf}') 必须是 {pe}" + +#: stock/models.py:603 stock/models.py:612 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:604 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:626 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:632 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:646 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:660 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:670 +msgid "Base part" +msgstr "" + +#: stock/models.py:678 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:683 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:692 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:708 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:722 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:727 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:734 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:736 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:747 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:750 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:756 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:778 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:791 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:799 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:827 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1317 +#: stock/models.py:1329 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1335 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1341 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1332 +#: stock/models.py:1344 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1347 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1354 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1412 +#: stock/models.py:1424 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1415 +#: stock/models.py:1427 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1418 +#: stock/models.py:1430 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1421 +#: stock/models.py:1433 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1436 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1439 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1434 stock/serializers.py:963 +#: stock/models.py:1446 stock/serializers.py:944 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1450 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1442 +#: stock/models.py:1454 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1446 +#: stock/models.py:1458 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1615 +#: stock/models.py:1627 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2083 +#: stock/models.py:2095 msgid "Entry notes" msgstr "" -#: stock/models.py:2141 +#: stock/models.py:2153 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2147 +#: stock/models.py:2159 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2178 msgid "Test name" msgstr "" -#: stock/models.py:2172 +#: stock/models.py:2184 msgid "Test result" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2190 msgid "Test output value" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2197 msgid "Test result attachment" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2203 msgid "Test notes" msgstr "" @@ -7048,128 +7203,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:176 +#: stock/serializers.py:229 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:332 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:347 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/serializers.py:393 +#: stock/serializers.py:387 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:406 +#: stock/serializers.py:400 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:413 +#: stock/serializers.py:407 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:450 +#: stock/serializers.py:444 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:455 stock/serializers.py:536 +#: stock/serializers.py:449 stock/serializers.py:530 msgid "Add transaction note (optional)" msgstr "添加交易备注 (可选)" -#: stock/serializers.py:489 +#: stock/serializers.py:483 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:494 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:531 +#: stock/serializers.py:525 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:756 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:760 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:764 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:795 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:801 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:809 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:819 stock/serializers.py:1050 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:908 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:913 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:914 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:919 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:920 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:930 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1012 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1040 msgid "Stock transaction notes" msgstr "" @@ -7206,7 +7361,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968 msgid "Install Stock Item" msgstr "" @@ -7214,7 +7369,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568 +#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 msgid "Add Test Result" msgstr "" @@ -7227,7 +7382,7 @@ msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 -#: stock/templates/stock/location.html:63 +#: stock/templates/stock/location.html:69 msgid "Printing actions" msgstr "" @@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:82 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:47 msgid "Count stock" msgstr "" @@ -7253,7 +7408,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:88 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:48 msgid "Transfer stock" msgstr "" @@ -7297,125 +7452,129 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:196 +#: stock/templates/stock/item_base.html:199 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:214 +#: stock/templates/stock/item_base.html:217 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:254 +#: stock/templates/stock/item_base.html:257 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:255 -#: stock/templates/stock/location.html:141 +#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:268 +#: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." msgstr "此库存项目正在生产中,无法编辑。" -#: stock/templates/stock/item_base.html:269 +#: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:282 +#: stock/templates/stock/item_base.html:285 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:290 +#: stock/templates/stock/item_base.html:293 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:298 +#: stock/templates/stock/item_base.html:301 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:304 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:329 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:335 +#: stock/templates/stock/item_base.html:338 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:348 +#: stock/templates/stock/item_base.html:351 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:392 -#: templates/js/translated/build.js:1769 +#: stock/templates/stock/item_base.html:395 +#: templates/js/translated/build.js:1771 msgid "No location set" msgstr "未设置仓储地点" -#: stock/templates/stock/item_base.html:407 +#: stock/templates/stock/item_base.html:410 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:431 +#: stock/templates/stock/item_base.html:434 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:297 +#: stock/templates/stock/item_base.html:434 +#: templates/js/translated/table_filters.js:301 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:436 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:303 +#: stock/templates/stock/item_base.html:436 +#: templates/js/translated/table_filters.js:307 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:449 +#: stock/templates/stock/item_base.html:452 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:519 +#: stock/templates/stock/item_base.html:522 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:539 +#: stock/templates/stock/item_base.html:530 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:542 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:603 +#: stock/templates/stock/item_base.html:606 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:609 msgid "Warning" msgstr "警告" -#: stock/templates/stock/item_base.html:607 +#: stock/templates/stock/item_base.html:610 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:618 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:643 +#: stock/templates/stock/item_base.html:648 msgid "Return to Stock" msgstr "" @@ -7427,74 +7586,77 @@ msgstr "" msgid "Select quantity to serialize, and unique serial numbers." msgstr "" -#: stock/templates/stock/location.html:38 +#: stock/templates/stock/location.html:37 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:44 msgid "Locate stock location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" msgstr "" -#: stock/templates/stock/location.html:56 +#: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" msgstr "" -#: stock/templates/stock/location.html:57 +#: stock/templates/stock/location.html:63 msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:96 +#: stock/templates/stock/location.html:102 msgid "Location actions" msgstr "仓储地操作" -#: stock/templates/stock/location.html:98 +#: stock/templates/stock/location.html:104 msgid "Edit location" msgstr "编辑仓储地" -#: stock/templates/stock/location.html:100 +#: stock/templates/stock/location.html:106 msgid "Delete location" msgstr "删除仓储地" -#: stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:142 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:140 +#: stock/templates/stock/location.html:146 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:217 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167 -#: templates/js/translated/search.js:240 users/models.py:39 -msgid "Stock Locations" -msgstr "仓储地点" - -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:221 msgid "Create new stock location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:222 msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:310 +#: stock/templates/stock/location.html:330 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:394 +#: stock/templates/stock/location.html:403 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:414 msgid "Link Barcode to Stock Location" msgstr "" @@ -7514,10 +7676,6 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/views.py:109 -msgid "Stock Location QR code" -msgstr "仓储地点二维码" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -7672,7 +7830,7 @@ msgid "Delete all read notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:93 -#: templates/js/translated/notification.js:82 +#: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7769,8 +7927,16 @@ msgstr "导入商品" msgid "Part Parameter Templates" msgstr "商品参数模板" +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:24 +msgid "Stocktake Reports" +msgstr "" + #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:59 msgid "Plugin Settings" msgstr "" @@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:61 msgid "Plugins" msgstr "" @@ -7814,7 +7980,7 @@ msgid "Stage" msgstr "" #: templates/InvenTree/settings/plugin.html:105 -#: templates/js/translated/notification.js:75 +#: templates/js/translated/notification.js:66 msgid "Message" msgstr "" @@ -7931,71 +8097,71 @@ msgstr "未设置值" msgid "Edit setting" msgstr "编辑设置" -#: templates/InvenTree/settings/settings.html:118 +#: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:123 +#: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:196 +#: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" msgstr "" -#: templates/InvenTree/settings/settings.html:261 +#: templates/InvenTree/settings/settings_staff_js.html:117 msgid "No category parameter templates found" msgstr "未找到类别参数模板" -#: templates/InvenTree/settings/settings.html:283 -#: templates/InvenTree/settings/settings.html:408 +#: templates/InvenTree/settings/settings_staff_js.html:139 +#: templates/InvenTree/settings/settings_staff_js.html:267 msgid "Edit Template" msgstr "编辑模板" -#: templates/InvenTree/settings/settings.html:284 -#: templates/InvenTree/settings/settings.html:409 +#: templates/InvenTree/settings/settings_staff_js.html:140 +#: templates/InvenTree/settings/settings_staff_js.html:268 msgid "Delete Template" msgstr "删除模板" -#: templates/InvenTree/settings/settings.html:324 -msgid "Create Category Parameter Template" -msgstr "创建类别参数模板" - -#: templates/InvenTree/settings/settings.html:369 +#: templates/InvenTree/settings/settings_staff_js.html:179 msgid "Delete Category Parameter Template" msgstr "删除类别参数模板" -#: templates/InvenTree/settings/settings.html:381 +#: templates/InvenTree/settings/settings_staff_js.html:215 +msgid "Create Category Parameter Template" +msgstr "创建类别参数模板" + +#: templates/InvenTree/settings/settings_staff_js.html:240 msgid "No part parameter templates found" msgstr "未找到商品参数模板" -#: templates/InvenTree/settings/settings.html:385 +#: templates/InvenTree/settings/settings_staff_js.html:244 #: templates/js/translated/news.js:29 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:427 +#: templates/InvenTree/settings/settings_staff_js.html:286 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:305 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:460 +#: templates/InvenTree/settings/settings_staff_js.html:319 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:468 +#: templates/InvenTree/settings/settings_staff_js.html:327 msgid "Delete Part Parameter Template" msgstr "" @@ -8041,7 +8207,7 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:45 +#: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -8514,11 +8680,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 msgid "Add Attachment" msgstr "添加附件" @@ -8526,7 +8692,7 @@ msgstr "添加附件" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 msgid "Delete Attachments" msgstr "" @@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1640 msgid "Required Quantity" msgstr "" @@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2709 +#: templates/js/translated/part.js:2808 msgid "Minimum Quantity" msgstr "" @@ -8595,11 +8761,11 @@ msgstr "" msgid "Expand all rows" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" @@ -8611,27 +8777,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" @@ -8643,11 +8809,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" @@ -8659,27 +8825,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:98 +#: templates/js/translated/attachment.js:105 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:194 +#: templates/js/translated/attachment.js:245 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:220 +#: templates/js/translated/attachment.js:275 msgid "Edit Attachment" msgstr "编辑附件" -#: templates/js/translated/attachment.js:290 +#: templates/js/translated/attachment.js:316 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:313 +#: templates/js/translated/attachment.js:339 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:322 +#: templates/js/translated/attachment.js:348 msgid "Delete attachment" msgstr "" @@ -8716,7 +8882,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:237 -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" @@ -8740,7 +8906,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088 +#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 msgid "Remove stock item" msgstr "" @@ -8810,10 +8976,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666 -#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608 -#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010 -#: templates/js/translated/order.js:1251 templates/modals.html:15 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 +#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 +#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 +#: templates/js/translated/order.js:1309 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8886,122 +9052,122 @@ msgstr "" msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:557 +#: templates/js/translated/bom.js:560 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:611 +#: templates/js/translated/bom.js:614 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:622 +#: templates/js/translated/bom.js:625 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:628 +#: templates/js/translated/bom.js:631 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:667 +#: templates/js/translated/bom.js:670 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:668 +#: templates/js/translated/bom.js:671 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:733 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:746 +#: templates/js/translated/bom.js:749 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:875 +#: templates/js/translated/bom.js:878 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:885 +#: templates/js/translated/bom.js:888 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846 +#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:979 +#: templates/js/translated/bom.js:982 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268 +#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1110 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1117 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918 -#: templates/js/translated/order.js:3960 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920 +#: templates/js/translated/order.js:4012 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922 +#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924 -#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926 +#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926 +#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909 -#: templates/js/translated/build.js:1996 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911 +#: templates/js/translated/build.js:1998 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1242 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1244 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1246 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1250 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690 +#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829 +#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1649 msgid "Inherited from parent BOM" msgstr "" @@ -9046,12 +9212,12 @@ msgid "Complete Build Order" msgstr "生产订单完成" #: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:236 +#: templates/js/translated/stock.js:237 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:239 msgid "Latest serial number" msgstr "" @@ -9099,323 +9265,323 @@ msgstr "" msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:622 +#: templates/js/translated/build.js:466 templates/js/translated/build.js:624 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:623 +#: templates/js/translated/build.js:467 templates/js/translated/build.js:625 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:521 templates/js/translated/build.js:677 +#: templates/js/translated/build.js:521 templates/js/translated/build.js:679 msgid "Output" msgstr "" -#: templates/js/translated/build.js:543 +#: templates/js/translated/build.js:545 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:690 +#: templates/js/translated/build.js:692 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:780 +#: templates/js/translated/build.js:782 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:817 +#: templates/js/translated/build.js:819 msgid "Location not specified" msgstr "未指定仓储地点" -#: templates/js/translated/build.js:1205 +#: templates/js/translated/build.js:1207 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1276 +#: templates/js/translated/build.js:1278 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1283 +#: templates/js/translated/build.js:1285 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1305 +#: templates/js/translated/build.js:1307 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1310 +#: templates/js/translated/build.js:1312 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788 -#: templates/js/translated/order.js:3676 +#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790 +#: templates/js/translated/order.js:3728 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789 -#: templates/js/translated/order.js:3677 +#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791 +#: templates/js/translated/order.js:3729 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1806 +#: templates/js/translated/build.js:1808 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1816 +#: templates/js/translated/build.js:1818 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1842 +#: templates/js/translated/build.js:1844 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1878 +#: templates/js/translated/build.js:1880 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967 +#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965 +#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059 +#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2008 templates/stock_table.html:50 +#: templates/js/translated/build.js:2010 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052 +#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203 +#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "选择商品" -#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204 +#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152 +#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2179 +#: templates/js/translated/build.js:2181 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2180 +#: templates/js/translated/build.js:2182 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218 +#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2222 +#: templates/js/translated/build.js:2224 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315 +#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2402 +#: templates/js/translated/build.js:2404 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2405 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2405 +#: templates/js/translated/build.js:2407 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2406 +#: templates/js/translated/build.js:2408 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2407 +#: templates/js/translated/build.js:2409 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:2434 +#: templates/js/translated/build.js:2436 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2542 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720 -#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732 -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765 +#: templates/js/translated/stock.js:2464 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2591 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2623 +#: templates/js/translated/build.js:2625 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698 +#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749 msgid "No user information" msgstr "没有用户信息" -#: templates/js/translated/build.js:2765 +#: templates/js/translated/build.js:2767 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:67 +#: templates/js/translated/company.js:69 msgid "Add Manufacturer" msgstr "添加制造商" -#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 +#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 msgid "Add Manufacturer Part" msgstr "添加制造商商品" -#: templates/js/translated/company.js:101 +#: templates/js/translated/company.js:103 msgid "Edit Manufacturer Part" msgstr "编辑制造商商品" -#: templates/js/translated/company.js:170 templates/js/translated/order.js:597 +#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 msgid "Add Supplier" msgstr "添加供应商" -#: templates/js/translated/company.js:198 templates/js/translated/order.js:888 +#: templates/js/translated/company.js:200 templates/js/translated/order.js:937 msgid "Add Supplier Part" msgstr "添加供应商商品" -#: templates/js/translated/company.js:298 +#: templates/js/translated/company.js:300 msgid "All selected supplier parts will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/company.js:314 +#: templates/js/translated/company.js:316 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:386 +#: templates/js/translated/company.js:425 msgid "Add new Company" msgstr "增加新的公司信息" -#: templates/js/translated/company.js:463 +#: templates/js/translated/company.js:502 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:472 +#: templates/js/translated/company.js:511 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:526 msgid "No company information found" msgstr "未找到该公司信息" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:567 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:543 +#: templates/js/translated/company.js:582 msgid "Delete Manufacturer Parts" msgstr "删除制造商商品" -#: templates/js/translated/company.js:577 +#: templates/js/translated/company.js:616 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:591 +#: templates/js/translated/company.js:630 msgid "Delete Parameters" msgstr "删除参数" -#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:671 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:652 -#: templates/js/translated/company.js:913 templates/js/translated/part.js:647 -#: templates/js/translated/part.js:1001 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:952 templates/js/translated/part.js:653 +#: templates/js/translated/part.js:1086 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:656 -#: templates/js/translated/company.js:917 templates/js/translated/part.js:651 -#: templates/js/translated/part.js:1005 +#: templates/js/translated/company.js:695 +#: templates/js/translated/company.js:956 templates/js/translated/part.js:657 +#: templates/js/translated/part.js:1090 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166 +#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196 +#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281 msgid "Delete Parameter" msgstr "删除参数" -#: templates/js/translated/company.js:892 +#: templates/js/translated/company.js:931 msgid "No supplier parts found" msgstr "未找到供应商商品" -#: templates/js/translated/company.js:1033 +#: templates/js/translated/company.js:1072 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1061 +#: templates/js/translated/company.js:1100 msgid "Edit supplier part" msgstr "编辑供应商商品" -#: templates/js/translated/company.js:1062 +#: templates/js/translated/company.js:1101 msgid "Delete supplier part" msgstr "删除供应商商品" -#: templates/js/translated/company.js:1117 -#: templates/js/translated/pricing.js:664 +#: templates/js/translated/company.js:1156 +#: templates/js/translated/pricing.js:673 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1133 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1168 +#: templates/js/translated/pricing.js:691 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1150 +#: templates/js/translated/company.js:1185 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1179 +#: templates/js/translated/company.js:1214 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1185 +#: templates/js/translated/company.js:1220 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1186 +#: templates/js/translated/company.js:1221 msgid "Delete price break" msgstr "" @@ -9482,32 +9648,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1337 templates/modals.html:19 +#: templates/js/translated/forms.js:1341 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1791 +#: templates/js/translated/forms.js:1795 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2007 templates/search.html:29 +#: templates/js/translated/forms.js:2011 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2265 +#: templates/js/translated/forms.js:2269 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2721 +#: templates/js/translated/forms.js:2725 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2737 msgid "Select Columns" msgstr "" @@ -9519,7 +9685,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:364 +#: templates/js/translated/helpers.js:368 msgid "Notes updated" msgstr "" @@ -9528,7 +9694,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1112 +#: templates/js/translated/stock.js:1127 msgid "Select Stock Items" msgstr "选择库存项" @@ -9573,70 +9739,70 @@ msgstr "" msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:300 +#: templates/js/translated/label.js:304 msgid "stock items selected" msgstr "已选择库存项" -#: templates/js/translated/label.js:308 templates/js/translated/label.js:325 +#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 msgid "Select Label Template" msgstr "选择标签模板" -#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149 -#: templates/js/translated/modals.js:633 +#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:663 msgid "Cancel" msgstr "取消" -#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148 -#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149 +#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:147 +#: templates/js/translated/modals.js:148 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:428 +#: templates/js/translated/modals.js:429 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:575 +#: templates/js/translated/modals.js:576 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:632 +#: templates/js/translated/modals.js:662 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:690 +#: templates/js/translated/modals.js:720 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:961 +#: templates/js/translated/modals.js:991 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:973 +#: templates/js/translated/modals.js:1003 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1100 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1085 +#: templates/js/translated/modals.js:1115 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1086 +#: templates/js/translated/modals.js:1116 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1109 +#: templates/js/translated/modals.js:1139 msgid "Error requesting form data" msgstr "" @@ -9670,759 +9836,758 @@ msgstr "" msgid "Age" msgstr "" -#: templates/js/translated/notification.js:216 +#: templates/js/translated/notification.js:55 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:207 msgid "Mark as unread" msgstr "" -#: templates/js/translated/notification.js:220 +#: templates/js/translated/notification.js:211 msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:245 +#: templates/js/translated/notification.js:236 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:287 templates/notifications.html:10 +#: templates/js/translated/notification.js:278 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:98 +#: templates/js/translated/order.js:102 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/order.js:103 +#: templates/js/translated/order.js:107 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/order.js:143 +#: templates/js/translated/order.js:147 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/order.js:163 +#: templates/js/translated/order.js:167 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:223 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/order.js:223 +#: templates/js/translated/order.js:227 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/order.js:255 +#: templates/js/translated/order.js:259 msgid "Skip" msgstr "" -#: templates/js/translated/order.js:285 +#: templates/js/translated/order.js:289 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/order.js:302 templates/js/translated/order.js:414 +#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/order.js:308 +#: templates/js/translated/order.js:312 msgid "All line items have been received" msgstr "" -#: templates/js/translated/order.js:313 +#: templates/js/translated/order.js:317 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/order.js:314 templates/js/translated/order.js:428 +#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:341 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/order.js:342 +#: templates/js/translated/order.js:346 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/order.js:348 +#: templates/js/translated/order.js:352 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/order.js:371 +#: templates/js/translated/order.js:375 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/order.js:376 +#: templates/js/translated/order.js:380 msgid "After placing this purchase order, line items will no longer be editable." msgstr "" -#: templates/js/translated/order.js:427 +#: templates/js/translated/order.js:431 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/order.js:451 +#: templates/js/translated/order.js:455 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/order.js:456 +#: templates/js/translated/order.js:460 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/order.js:510 +#: templates/js/translated/order.js:514 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/order.js:537 +#: templates/js/translated/order.js:536 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:562 +#: templates/js/translated/order.js:579 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:641 +#: templates/js/translated/order.js:591 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/order.js:673 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/order.js:648 +#: templates/js/translated/order.js:680 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/order.js:649 +#: templates/js/translated/order.js:681 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/order.js:656 +#: templates/js/translated/order.js:688 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/order.js:657 +#: templates/js/translated/order.js:689 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/order.js:674 +#: templates/js/translated/order.js:706 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/order.js:691 +#: templates/js/translated/order.js:723 msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:1025 +#: templates/js/translated/order.js:1083 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1076 +#: templates/js/translated/order.js:1134 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1101 +#: templates/js/translated/order.js:1159 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1110 +#: templates/js/translated/order.js:1168 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1128 +#: templates/js/translated/order.js:1186 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1161 +#: templates/js/translated/order.js:1219 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1305 +#: templates/js/translated/order.js:1363 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1324 +#: templates/js/translated/order.js:1382 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1501 +#: templates/js/translated/order.js:1559 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1502 +#: templates/js/translated/order.js:1560 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635 +#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646 +#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1543 +#: templates/js/translated/order.js:1601 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1554 +#: templates/js/translated/order.js:1612 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187 +#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1711 +#: templates/js/translated/order.js:1769 msgid "Order Code" msgstr "订单编码" -#: templates/js/translated/order.js:1712 +#: templates/js/translated/order.js:1770 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1714 +#: templates/js/translated/order.js:1772 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1737 +#: templates/js/translated/order.js:1795 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1738 +#: templates/js/translated/order.js:1796 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237 +#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847 +#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912 -#: templates/js/translated/order.js:3053 +#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964 +#: templates/js/translated/order.js:3105 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133 +#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144 +#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2269 +#: templates/js/translated/order.js:2327 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865 +#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339 -#: templates/js/translated/part.js:1391 -msgid "Total Quantity" -msgstr "" - -#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567 -#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379 -#: templates/js/translated/pricing.js:501 -#: templates/js/translated/pricing.js:570 -#: templates/js/translated/pricing.js:786 +#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625 +#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424 +#: templates/js/translated/pricing.js:506 +#: templates/js/translated/pricing.js:575 +#: templates/js/translated/pricing.js:799 msgid "Unit Price" msgstr "单价" -#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577 -#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389 +#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635 +#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928 -#: templates/js/translated/part.js:1375 +#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980 +#: templates/js/translated/part.js:1460 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420 +#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065 +#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066 +#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423 +#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424 +#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425 +#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454 +#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475 +#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486 +#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:2739 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2850 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2861 +#: templates/js/translated/order.js:2913 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2959 +#: templates/js/translated/order.js:3011 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2962 +#: templates/js/translated/order.js:3014 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2967 +#: templates/js/translated/order.js:3019 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2987 +#: templates/js/translated/order.js:3039 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:3056 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:3038 +#: templates/js/translated/order.js:3090 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:3048 +#: templates/js/translated/order.js:3100 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3072 +#: templates/js/translated/order.js:3124 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3078 +#: templates/js/translated/order.js:3130 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3082 +#: templates/js/translated/order.js:3134 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3251 +#: templates/js/translated/order.js:3303 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3302 +#: templates/js/translated/order.js:3354 msgid "Confirm stock allocation" msgstr "确认库存分配" -#: templates/js/translated/order.js:3303 +#: templates/js/translated/order.js:3355 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:3563 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3590 +#: templates/js/translated/order.js:3642 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3607 +#: templates/js/translated/order.js:3659 msgid "Confirm Delete Operation" msgstr "确认删除操作" -#: templates/js/translated/order.js:3608 +#: templates/js/translated/order.js:3660 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742 -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794 +#: templates/js/translated/stock.js:1681 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751 +#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:4101 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4055 +#: templates/js/translated/order.js:4107 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260 +#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4074 +#: templates/js/translated/order.js:4126 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4077 +#: templates/js/translated/order.js:4129 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4159 +#: templates/js/translated/order.js:4204 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4268 +#: templates/js/translated/order.js:4313 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4282 +#: templates/js/translated/order.js:4327 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4497 +#: templates/js/translated/order.js:4536 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:57 msgid "Part Attributes" msgstr "商品属性" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:61 msgid "Part Creation Options" msgstr "商品创建选项" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:65 msgid "Part Duplication Options" msgstr "商品重复选项" -#: templates/js/translated/part.js:87 +#: templates/js/translated/part.js:88 msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:213 -msgid "Copy Category Parameters" -msgstr "复制类别参数" - -#: templates/js/translated/part.js:214 -msgid "Copy parameter templates from selected part category" -msgstr "" - #: templates/js/translated/part.js:253 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121 +#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:284 +#: templates/js/translated/part.js:285 msgid "Edit Part Category" msgstr "编辑商品类别" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:298 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:302 +#: templates/js/translated/part.js:303 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:311 +#: templates/js/translated/part.js:312 msgid "Delete Part Category" msgstr "删除商品类别" -#: templates/js/translated/part.js:315 +#: templates/js/translated/part.js:316 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:320 +#: templates/js/translated/part.js:321 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:344 +#: templates/js/translated/part.js:345 msgid "Create Part" msgstr "创建商品" -#: templates/js/translated/part.js:346 +#: templates/js/translated/part.js:347 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:348 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:376 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:377 +#: templates/js/translated/part.js:378 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:388 +#: templates/js/translated/part.js:389 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:440 +#: templates/js/translated/part.js:446 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:447 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:461 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:457 +#: templates/js/translated/part.js:463 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:458 +#: templates/js/translated/part.js:464 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:465 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:466 +#: templates/js/translated/part.js:472 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:502 +#: templates/js/translated/part.js:508 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:504 +#: templates/js/translated/part.js:510 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:515 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:511 +#: templates/js/translated/part.js:517 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:534 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:544 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:547 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:566 +#: templates/js/translated/part.js:572 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891 +#: templates/js/translated/table_filters.js:500 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:606 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:623 +#: templates/js/translated/part.js:629 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:639 templates/js/translated/part.js:993 +#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/part.js:643 templates/js/translated/part.js:997 +#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:655 +#: templates/js/translated/part.js:661 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:659 +#: templates/js/translated/part.js:665 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:744 -msgid "Stock item has not been checked recently" +#: templates/js/translated/part.js:740 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:740 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Generate Stocktake Report" msgstr "" #: templates/js/translated/part.js:752 -msgid "Update item" +msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:753 -msgid "Delete item" -msgstr "" - -#: templates/js/translated/part.js:854 +#: templates/js/translated/part.js:905 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:893 templates/js/translated/part.js:916 +#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:897 templates/js/translated/part.js:928 +#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1069 +#: templates/js/translated/part.js:1154 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1490 +#: templates/js/translated/part.js:1575 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1514 +#: templates/js/translated/part.js:1599 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919 +#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1775 +#: templates/js/translated/part.js:1858 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:1806 +#: templates/js/translated/part.js:1889 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:1913 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1834 +#: templates/js/translated/part.js:1917 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269 +#: templates/js/translated/stock.js:2423 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:2042 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2025 +#: templates/js/translated/part.js:2108 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2030 +#: templates/js/translated/part.js:2113 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:2035 +#: templates/js/translated/part.js:2118 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2048 +#: templates/js/translated/part.js:2131 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410 +#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2286 +#: templates/js/translated/part.js:2369 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2302 +#: templates/js/translated/part.js:2385 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2471 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337 +#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338 -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1639 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2424 +#: templates/js/translated/part.js:2529 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2446 +#: templates/js/translated/part.js:2545 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2460 +#: templates/js/translated/part.js:2559 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542 +#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2544 +#: templates/js/translated/part.js:2643 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2550 +#: templates/js/translated/part.js:2649 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2600 +#: templates/js/translated/part.js:2699 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2606 +#: templates/js/translated/part.js:2705 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2702 +#: templates/js/translated/part.js:2801 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2718 +#: templates/js/translated/part.js:2817 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2763 +#: templates/js/translated/part.js:2862 msgid "Minimum Stock Level" msgstr "" @@ -10434,49 +10599,49 @@ msgstr "" msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:295 +#: templates/js/translated/pricing.js:300 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:437 +#: templates/js/translated/pricing.js:442 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:546 +#: templates/js/translated/pricing.js:551 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:602 +#: templates/js/translated/pricing.js:607 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:603 +#: templates/js/translated/pricing.js:608 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:721 +#: templates/js/translated/pricing.js:734 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:743 +#: templates/js/translated/pricing.js:756 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:843 +#: templates/js/translated/pricing.js:856 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:865 +#: templates/js/translated/pricing.js:878 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:954 +#: templates/js/translated/pricing.js:967 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:994 +#: templates/js/translated/pricing.js:1007 msgid "Variant Part" msgstr "" @@ -10566,376 +10731,376 @@ msgstr "" msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:147 +#: templates/js/translated/stock.js:148 msgid "Edit Stock Location" msgstr "编辑仓储地点" -#: templates/js/translated/stock.js:162 +#: templates/js/translated/stock.js:163 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:177 msgid "Are you sure you want to delete this stock location?" msgstr "确实要删除此仓储地点吗?" -#: templates/js/translated/stock.js:183 +#: templates/js/translated/stock.js:184 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:192 +#: templates/js/translated/stock.js:193 msgid "Delete Stock Location" msgstr "删除仓储地点" -#: templates/js/translated/stock.js:196 +#: templates/js/translated/stock.js:197 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:201 +#: templates/js/translated/stock.js:202 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:255 +#: templates/js/translated/stock.js:256 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:297 +#: templates/js/translated/stock.js:298 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:304 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:368 +#: templates/js/translated/stock.js:375 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:388 +#: templates/js/translated/stock.js:395 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:411 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:409 +#: templates/js/translated/stock.js:416 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:430 +#: templates/js/translated/stock.js:437 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:480 +#: templates/js/translated/stock.js:487 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:493 +#: templates/js/translated/stock.js:500 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:518 +#: templates/js/translated/stock.js:525 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523 +#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:539 +#: templates/js/translated/stock.js:546 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:566 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:568 +#: templates/js/translated/stock.js:575 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:700 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:692 +#: templates/js/translated/stock.js:701 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:769 +#: templates/js/translated/stock.js:778 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:779 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:781 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:782 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:862 +#: templates/js/translated/stock.js:873 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:863 +#: templates/js/translated/stock.js:874 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:958 +#: templates/js/translated/stock.js:969 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:970 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:976 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:966 +#: templates/js/translated/stock.js:977 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:981 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:971 +#: templates/js/translated/stock.js:982 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:975 +#: templates/js/translated/stock.js:986 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:976 users/models.py:221 +#: templates/js/translated/stock.js:987 users/models.py:227 msgid "Add" msgstr "添加" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:991 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1088 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1113 +#: templates/js/translated/stock.js:1128 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1155 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1276 +#: templates/js/translated/stock.js:1291 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1278 +#: templates/js/translated/stock.js:1293 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1283 +#: templates/js/translated/stock.js:1298 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1330 +#: templates/js/translated/stock.js:1367 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1333 +#: templates/js/translated/stock.js:1370 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1359 +#: templates/js/translated/stock.js:1396 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1423 +#: templates/js/translated/stock.js:1460 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1622 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1611 +#: templates/js/translated/stock.js:1644 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1640 +#: templates/js/translated/stock.js:1673 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1677 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1652 +#: templates/js/translated/stock.js:1685 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1658 +#: templates/js/translated/stock.js:1691 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1823 +#: templates/js/translated/stock.js:1856 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:1828 +#: templates/js/translated/stock.js:1861 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1831 +#: templates/js/translated/stock.js:1864 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1834 +#: templates/js/translated/stock.js:1867 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1836 +#: templates/js/translated/stock.js:1869 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:1871 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1841 +#: templates/js/translated/stock.js:1874 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1845 +#: templates/js/translated/stock.js:1878 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1847 +#: templates/js/translated/stock.js:1880 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1854 +#: templates/js/translated/stock.js:1887 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1889 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:1891 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1862 -#: templates/js/translated/table_filters.js:216 +#: templates/js/translated/stock.js:1895 +#: templates/js/translated/table_filters.js:220 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1992 +#: templates/js/translated/stock.js:2025 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2029 +#: templates/js/translated/stock.js:2062 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2235 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2249 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2217 +#: templates/js/translated/stock.js:2250 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2482 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2595 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2611 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2582 +#: templates/js/translated/stock.js:2633 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2601 +#: templates/js/translated/stock.js:2652 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2671 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2689 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2712 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2669 +#: templates/js/translated/stock.js:2720 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2745 +#: templates/js/translated/stock.js:2796 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2848 +#: templates/js/translated/stock.js:2901 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2869 +#: templates/js/translated/stock.js:2922 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2870 +#: templates/js/translated/stock.js:2923 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2925 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2926 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:2927 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2928 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2888 +#: templates/js/translated/stock.js:2941 msgid "Select part to install" msgstr "" @@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:532 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:215 msgid "Include sublocations" msgstr "" @@ -10973,218 +11138,218 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:145 -#: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:465 +#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:150 +#: templates/js/translated/table_filters.js:469 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:154 -#: templates/js/translated/table_filters.js:508 +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:512 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:246 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:253 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:250 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:171 #: templates/js/translated/table_filters.js:257 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:172 #: templates/js/translated/table_filters.js:258 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:175 +#: templates/js/translated/table_filters.js:261 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:249 -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:262 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:179 +#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:254 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:271 +#: templates/js/translated/table_filters.js:184 +#: templates/js/translated/table_filters.js:275 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:191 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:441 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:192 +#: templates/js/translated/table_filters.js:196 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:197 +#: templates/js/translated/table_filters.js:201 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:201 +#: templates/js/translated/table_filters.js:205 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:202 +#: templates/js/translated/table_filters.js:206 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:211 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:216 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:217 +#: templates/js/translated/table_filters.js:221 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:222 +#: templates/js/translated/table_filters.js:226 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:226 +#: templates/js/translated/table_filters.js:230 msgid "In Production" msgstr "正在生产" -#: templates/js/translated/table_filters.js:227 +#: templates/js/translated/table_filters.js:231 msgid "Show items which are in production" msgstr "显示正在生产的项目" -#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:235 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:232 +#: templates/js/translated/table_filters.js:236 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:236 +#: templates/js/translated/table_filters.js:240 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:237 +#: templates/js/translated/table_filters.js:241 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:246 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:262 -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:267 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:270 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/table_filters.js:278 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:275 +#: templates/js/translated/table_filters.js:279 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:280 +#: templates/js/translated/table_filters.js:284 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:285 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:285 +#: templates/js/translated/table_filters.js:289 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:289 +#: templates/js/translated/table_filters.js:293 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:302 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:308 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:320 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:324 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:339 +#: templates/js/translated/table_filters.js:343 msgid "Build status" msgstr "生产状态" -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:393 +#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:397 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:380 -#: templates/js/translated/table_filters.js:410 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:414 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:385 -#: templates/js/translated/table_filters.js:402 -#: templates/js/translated/table_filters.js:415 +#: templates/js/translated/table_filters.js:389 +#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:419 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:466 +#: templates/js/translated/table_filters.js:470 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:471 +#: templates/js/translated/table_filters.js:475 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:479 +#: templates/js/translated/table_filters.js:483 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:491 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:492 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:512 +#: templates/js/translated/table_filters.js:516 msgid "Has stocktake entries" msgstr "" @@ -11512,51 +11677,51 @@ msgstr "用户" msgid "Select which users are assigned to this group" msgstr "选择分配给该组的用户" -#: users/admin.py:191 +#: users/admin.py:195 msgid "The following users are members of multiple groups:" msgstr "以下用户是多个群组的成员:" -#: users/admin.py:214 +#: users/admin.py:218 msgid "Personal info" msgstr "个人资料" -#: users/admin.py:215 +#: users/admin.py:219 msgid "Permissions" msgstr "权限" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Important dates" msgstr "重要日期" -#: users/models.py:208 +#: users/models.py:214 msgid "Permission set" msgstr "权限设置" -#: users/models.py:216 +#: users/models.py:222 msgid "Group" msgstr "群组" -#: users/models.py:219 +#: users/models.py:225 msgid "View" msgstr "视图" -#: users/models.py:219 +#: users/models.py:225 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:221 +#: users/models.py:227 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:223 +#: users/models.py:229 msgid "Change" msgstr "更改" -#: users/models.py:223 +#: users/models.py:229 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:225 +#: users/models.py:231 msgid "Permission to delete items" msgstr "删除项目权限" From 92a049be96ee666707f7d6a9398eb64f5939dd74 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 23 Feb 2023 07:20:03 +1100 Subject: [PATCH 025/140] Adds ability to export sales order line table to a file (#4392) * Adds ability to export sales order line table to a file * Fix expand / collapse buttons * Fix other expand / collapse buttons * Add export functionality for "extra" line items --- InvenTree/order/api.py | 41 ++++++++++++++++--- .../templates/order/sales_order_detail.html | 6 --- InvenTree/templates/collapse_rows.html | 5 --- InvenTree/templates/expand_rows.html | 5 --- InvenTree/templates/js/translated/order.js | 24 +++++++++-- InvenTree/templates/js/translated/tables.js | 23 +++++++++++ 6 files changed, 79 insertions(+), 25 deletions(-) delete mode 100644 InvenTree/templates/collapse_rows.html delete mode 100644 InvenTree/templates/expand_rows.html diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index f45381525e..e02f0d2b99 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -26,20 +26,22 @@ from InvenTree.helpers import DownloadFile, str2bool from InvenTree.mixins import (CreateAPI, ListAPI, ListCreateAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) from InvenTree.status_codes import PurchaseOrderStatus, SalesOrderStatus -from order.admin import (PurchaseOrderLineItemResource, PurchaseOrderResource, - SalesOrderResource) +from order.admin import (PurchaseOrderExtraLineResource, + PurchaseOrderLineItemResource, PurchaseOrderResource, + SalesOrderExtraLineResource, + SalesOrderLineItemResource, SalesOrderResource) from part.models import Part from plugin.serializers import MetadataSerializer from users.models import Owner -class GeneralExtraLineList: +class GeneralExtraLineList(APIDownloadMixin): """General template for ExtraLine API classes.""" def get_serializer(self, *args, **kwargs): """Return the serializer instance for this endpoint""" try: - params = self.request.query_params + params = self.request.query_params3 kwargs['order_detail'] = str2bool(params.get('order_detail', False)) except AttributeError: @@ -606,6 +608,15 @@ class PurchaseOrderExtraLineList(GeneralExtraLineList, ListCreateAPI): queryset = models.PurchaseOrderExtraLine.objects.all() serializer_class = serializers.PurchaseOrderExtraLineSerializer + def download_queryset(self, queryset, export_format): + """Download this queryset as a file""" + + dataset = PurchaseOrderExtraLineResource().export(queryset=queryset) + filedata = dataset.export(export_format) + filename = f"InvenTree_ExtraPurchaseOrderLines.{export_format}" + + return DownloadFile(filedata, filename) + class PurchaseOrderExtraLineDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a PurchaseOrderExtraLine object.""" @@ -686,6 +697,7 @@ class SalesOrderList(APIDownloadMixin, ListCreateAPI): def download_queryset(self, queryset, export_format): """Download this queryset as a file""" + dataset = SalesOrderResource().export(queryset=queryset) filedata = dataset.export(export_format) @@ -857,7 +869,7 @@ class SalesOrderLineItemFilter(rest_filters.FilterSet): return queryset -class SalesOrderLineItemList(ListCreateAPI): +class SalesOrderLineItemList(APIDownloadMixin, ListCreateAPI): """API endpoint for accessing a list of SalesOrderLineItem objects.""" queryset = models.SalesOrderLineItem.objects.all() @@ -898,6 +910,16 @@ class SalesOrderLineItemList(ListCreateAPI): return queryset + def download_queryset(self, queryset, export_format): + """Download the requested queryset as a file""" + + dataset = SalesOrderLineItemResource().export(queryset=queryset) + filedata = dataset.export(export_format) + + filename = f"InvenTree_SalesOrderItems.{export_format}" + + return DownloadFile(filedata, filename) + filter_backends = [ rest_filters.DjangoFilterBackend, filters.SearchFilter, @@ -924,6 +946,15 @@ class SalesOrderExtraLineList(GeneralExtraLineList, ListCreateAPI): queryset = models.SalesOrderExtraLine.objects.all() serializer_class = serializers.SalesOrderExtraLineSerializer + def download_queryset(self, queryset, export_format): + """Download this queryset as a file""" + + dataset = SalesOrderExtraLineResource().export(queryset=queryset) + filedata = dataset.export(export_format) + filename = f"InvenTree_ExtraSalesOrderLines.{export_format}" + + return DownloadFile(filedata, filename) + class SalesOrderExtraLineDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a SalesOrderExtraLine object.""" diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index a3c25391f9..5b28b88f1a 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -31,8 +31,6 @@
- {% include "expand_rows.html" with label="sales-lines" %} - {% include "collapse_rows.html" with label="sales-lines" %} {% include "filter_list.html" with id="sales-order-lines" %}
@@ -93,8 +91,6 @@ {% if roles.sales_order.change %}
- {% include "expand_rows.html" with label="pending-shipments" %} - {% include "collapse_rows.html" with label="pending-shipments" %} {% include "filter_list.html" with id="pending-shipments" %}
@@ -111,8 +107,6 @@
- {% include "expand_rows.html" with label="completed-shipments" %} - {% include "collapse_rows.html" with label="completed-shipments" %} {% include "filter_list.html" with id="completed-shipments" %}
diff --git a/InvenTree/templates/collapse_rows.html b/InvenTree/templates/collapse_rows.html deleted file mode 100644 index f9fb454268..0000000000 --- a/InvenTree/templates/collapse_rows.html +++ /dev/null @@ -1,5 +0,0 @@ -{% load i18n %} - - diff --git a/InvenTree/templates/expand_rows.html b/InvenTree/templates/expand_rows.html deleted file mode 100644 index bf6ac54425..0000000000 --- a/InvenTree/templates/expand_rows.html +++ /dev/null @@ -1,5 +0,0 @@ -{% load i18n %} - - diff --git a/InvenTree/templates/js/translated/order.js b/InvenTree/templates/js/translated/order.js index 9bdef47dd0..3272f41a9f 100644 --- a/InvenTree/templates/js/translated/order.js +++ b/InvenTree/templates/js/translated/order.js @@ -2231,7 +2231,14 @@ function loadPurchaseOrderLineItemTable(table, options={}) { var target = options.filter_target || '#filter-list-purchase-order-lines'; - setupFilterList('purchaseorderlineitem', $(table), target, {download: true}); + setupFilterList( + 'purchaseorderlineitem', + $(table), + target, + { + download: true + } + ); function setupCallbacks() { if (options.allow_edit) { @@ -2596,7 +2603,7 @@ function loadPurchaseOrderExtraLineTable(table, options={}) { var filter_target = options.filter_target || '#filter-list-purchase-order-extra-lines'; - setupFilterList('purchaseorderextraline', $(table), filter_target); + setupFilterList('purchaseorderextraline', $(table), filter_target, {download: true}); // Table columns to display var columns = [ @@ -3072,6 +3079,7 @@ function loadSalesOrderShipmentTable(table, options={}) { showColumns: true, detailView: true, detailViewByClick: false, + buttons: constructExpandCollapseButtons(table), detailFilter: function(index, row) { return row.allocations.length > 0; }, @@ -3871,7 +3879,14 @@ function loadSalesOrderLineItemTable(table, options={}) { var filter_target = options.filter_target || '#filter-list-sales-order-lines'; - setupFilterList('salesorderlineitem', $(table), filter_target); + setupFilterList( + 'salesorderlineitem', + $(table), + filter_target, + { + download: true, + } + ); // Is the order pending? var pending = options.pending; @@ -4333,6 +4348,7 @@ function loadSalesOrderLineItemTable(table, options={}) { uniqueId: 'pk', detailView: show_detail, detailViewByClick: false, + buttons: constructExpandCollapseButtons(table), detailFilter: function(index, row) { if (pending) { // Order is pending @@ -4395,7 +4411,7 @@ function loadSalesOrderExtraLineTable(table, options={}) { var filter_target = options.filter_target || '#filter-list-sales-order-extra-lines'; - setupFilterList('salesorderextraline', $(table), filter_target); + setupFilterList('salesorderextraline', $(table), filter_target, {download: true}); // Table columns to display var columns = [ diff --git a/InvenTree/templates/js/translated/tables.js b/InvenTree/templates/js/translated/tables.js index 807051e65f..6de27fb9cb 100644 --- a/InvenTree/templates/js/translated/tables.js +++ b/InvenTree/templates/js/translated/tables.js @@ -12,6 +12,7 @@ reloadtable, renderLink, reloadTableFilters, + constructExpandCollapseButtons, constructOrderTableButtons, */ @@ -98,6 +99,28 @@ function constructOrderTableButtons(options={}) { } +/* + * Construct buttons to expand / collapse all rows in a table + */ +function constructExpandCollapseButtons(table, idx=0) { + + return [ + { + html: ``, + event: function() { + $(table).bootstrapTable('expandAllRows'); + } + }, + { + html: ``, + event: function() { + $(table).bootstrapTable('collapseAllRows'); + } + } + ]; +} + + /* Return the 'selected' data rows from a bootstrap table. * If allowEmpty = false, and the returned dataset is empty, * then instead try to return *all* the data From 93ce55298f055c264231e4631afd09aa199ef961 Mon Sep 17 00:00:00 2001 From: simonkuehling Date: Wed, 22 Feb 2023 22:41:02 +0100 Subject: [PATCH 026/140] improve stock status badges for parts (#4385) (#4393) * improve stock status badges for parts (#4385) * fix trailing whitespace --- InvenTree/templates/js/translated/part.js | 91 +++++++++++++++-------- 1 file changed, 62 insertions(+), 29 deletions(-) diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 94ffbc5333..47cb33100b 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -584,54 +584,87 @@ function duplicateBom(part_id, options={}) { * Construct a "badge" label showing stock information for this particular part */ function partStockLabel(part, options={}) { + var classes = options.classes || ''; // Prevent literal string 'null' from being displayed var units = part.units || ''; + var text = ''; + + // Check for stock if (part.in_stock) { // There IS stock available for this part // Is stock "low" (below the 'minimum_stock' quantity)? if ((part.minimum_stock > 0) && (part.minimum_stock > part.in_stock)) { - return `{% trans "Low stock" %}: ${part.in_stock} ${units}`; + text += `{% trans "Low stock" %}: ${part.in_stock}`; } else if (part.unallocated_stock == 0) { - if (part.ordering) { - // There is no available stock, but stock is on order - return `{% trans "On Order" %}: ${part.ordering} ${units}`; - } else if (part.building) { - // There is no available stock, but stock is being built - return `{% trans "Building" %}: ${part.building} ${units}`; - } else { - // There is no available stock at all - return `{% trans "No stock available" %}`; - } + // There is no available stock at all + text += `{% trans "No stock available" %}`; } else if (part.unallocated_stock < part.in_stock) { // Unallocated quanttiy is less than total quantity - return `{% trans "Available" %}: ${part.unallocated_stock}/${part.in_stock} ${units}`; + text += `{% trans "Available" %}: ${part.unallocated_stock}/${part.in_stock}`; } else { // Stock is completely available - return `{% trans "Available" %}: ${part.unallocated_stock} ${units}`; + text += `{% trans "Available" %}: ${part.unallocated_stock}`; } } else { // There IS NO stock available for this part - - if (part.ordering) { - // There is no stock, but stock is on order - return `{% trans "On Order" %}: ${part.ordering} ${units}`; - } else if (part.building) { - // There is no stock, but stock is being built - return `{% trans "Building" %}: ${part.building} ${units}`; - } else { - // There is no stock - var unit_badge = ''; - if (units) { - // show units next to [No Stock] badge - unit_badge = `{% trans "Unit" %}: ${units} `; - } - return `${unit_badge}{% trans "No Stock" %}`; - } + text += `{% trans "No Stock" %}`; } + // Check for items on order + if (part.ordering) { + text += ` | {% trans "On Order" %}: ${part.ordering}`; + } + + // Check for items beeing built + if (part.building) { + text += ` | {% trans "Building" %}: ${part.building}`; + } + + // Check for demand from unallocated build orders + var required = null; + inventreeGet(`/api/part/${part.pk}/requirements/`, {}, { + async: false, + success: function(response) { + required = 0; + if (response.required_build_order_quantity) { + required = response.required_build_order_quantity; + } + } + }); + if (required == null) { + console.error(`Error loading part requirements for part ${part.pk}`); + return; + } + var demand = required - part.allocated_to_build_orders; + if (demand) { + text += ` | {% trans "Demand" %}: ${demand}`; + } + + // Determine badge color based on overall stock health + var stock_health = part.in_stock + part.building + part.ordering - part.minimum_stock - demand; + var bg_class = ''; + if (stock_health < 0) { + // Unsatisfied demand and/or below minimum stock + bg_class = 'bg-danger'; + } else if (stock_health == 0) { + // Demand and minimum stock matched exactly by available stock and incoming/building + bg_class = 'bg-warning'; + } else { + // Surplus stock available or already incoming/building in sufficient quantities + bg_class = 'bg-success'; + } + + // show units next to stock badge + var unit_badge = ''; + if (units && !options.no_units) { + unit_badge = `{% trans "Unit" %}: ${units} `; + } + + // return badge html + return `${unit_badge}${text}`; } From 89ac0a623b51256748d346f4e95ae371c2a14d47 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 23 Feb 2023 23:12:48 +1100 Subject: [PATCH 027/140] Add migration test (#4398) * Add migration test Looking at older data migration which removes stock items which are "scheduled_for_deletion" * Account for parent / child relationships --- .../migrations/0071_auto_20211205_1733.py | 8 ++- InvenTree/stock/test_migrations.py | 62 +++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/InvenTree/stock/migrations/0071_auto_20211205_1733.py b/InvenTree/stock/migrations/0071_auto_20211205_1733.py index 0e8ecba1b5..91a8c65163 100644 --- a/InvenTree/stock/migrations/0071_auto_20211205_1733.py +++ b/InvenTree/stock/migrations/0071_auto_20211205_1733.py @@ -22,7 +22,13 @@ def delete_scheduled(apps, schema_editor): if items.count() > 0: logger.info(f"Removing {items.count()} stock items scheduled for deletion") - items.delete() + + # Ensure any parent / child relationships are updated! + for item in items: + childs = StockItem.objects.filter(parent=item) + childs.update(parent=item.parent) + + item.delete() Task = apps.get_model('django_q', 'schedule') diff --git a/InvenTree/stock/test_migrations.py b/InvenTree/stock/test_migrations.py index 07fa9f2fc7..650472fd72 100644 --- a/InvenTree/stock/test_migrations.py +++ b/InvenTree/stock/test_migrations.py @@ -67,3 +67,65 @@ class TestSerialNumberMigration(MigratorTestCase): # Check that the StockItem maximum serial number self.assertEqual(big_ref_item.serial, '9999999999999999999999999999999999999999999999999999999999999') self.assertEqual(big_ref_item.serial_int, 0x7fffffff) + + +class TestScheduledForDeletionMigration(MigratorTestCase): + """Test data migration for removing 'scheduled_for_deletion' field""" + + migrate_from = ('stock', '0066_stockitem_scheduled_for_deletion') + migrate_to = ('stock', helpers.getNewestMigrationFile('stock')) + + def prepare(self): + """Create some initial stock items""" + + Part = self.old_state.apps.get_model('part', 'part') + StockItem = self.old_state.apps.get_model('stock', 'stockitem') + + for idx in range(5): + part = Part.objects.create( + name=f'Part_{idx}', + description='Just a part, nothing to see here', + active=True, + level=0, tree_id=0, + lft=0, rght=0, + ) + + for jj in range(5): + StockItem.objects.create( + part=part, + quantity=jj + 5, + level=0, tree_id=0, + lft=0, rght=0, + scheduled_for_deletion=True + ) + + # For extra points, create some parent-child relationships between stock items + part = Part.objects.first() + + item_1 = StockItem.objects.create( + part=part, + quantity=100, + level=0, tree_id=0, + lft=0, rght=0, + scheduled_for_deletion=True, + ) + + for ii in range(3): + StockItem.objects.create( + part=part, + quantity=200, + level=0, tree_id=0, + lft=0, rght=0, + scheduled_for_deletion=False, + parent=item_1, + ) + + self.assertEqual(StockItem.objects.count(), 29) + + def test_migration(self): + """Test that all stock items were actually removed""" + + StockItem = self.new_state.apps.get_model('stock', 'stockitem') + + # All the "scheduled for deletion" items have been removed + self.assertEqual(StockItem.objects.count(), 3) From efb55c720fe870bf203c088f56429887835a7004 Mon Sep 17 00:00:00 2001 From: simonkuehling Date: Thu, 23 Feb 2023 20:58:54 +0100 Subject: [PATCH 028/140] Improve wording for "Inherited" option of BOM items (#4376) (#4397) * improve wording for "Inherited" option of BOM items (#4376) * add migrations --- InvenTree/part/api.py | 2 +- .../migrations/0099_alter_bomitem_inherited.py | 18 ++++++++++++++++++ InvenTree/part/models.py | 2 +- InvenTree/part/templates/part/upload_bom.html | 2 +- InvenTree/templates/js/translated/bom.js | 7 ++----- InvenTree/templates/js/translated/helpers.js | 17 ++++++++++++++--- .../templates/js/translated/table_filters.js | 4 ++-- 7 files changed, 39 insertions(+), 13 deletions(-) create mode 100644 InvenTree/part/migrations/0099_alter_bomitem_inherited.py diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 233349e554..e67640ccef 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -1634,7 +1634,7 @@ class BomFilter(rest_filters.FilterSet): # Boolean filters for BOM item optional = rest_filters.BooleanFilter(label='BOM item is optional') consumable = rest_filters.BooleanFilter(label='BOM item is consumable') - inherited = rest_filters.BooleanFilter(label='BOM item is inherited') + inherited = rest_filters.BooleanFilter(label='BOM item gets inherited') allow_variants = rest_filters.BooleanFilter(label='Variants are allowed') # Filters for linked 'part' diff --git a/InvenTree/part/migrations/0099_alter_bomitem_inherited.py b/InvenTree/part/migrations/0099_alter_bomitem_inherited.py new file mode 100644 index 0000000000..f424e13143 --- /dev/null +++ b/InvenTree/part/migrations/0099_alter_bomitem_inherited.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.18 on 2023-02-23 11:53 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0098_auto_20230214_1115'), + ] + + operations = [ + migrations.AlterField( + model_name='bomitem', + name='inherited', + field=models.BooleanField(default=False, help_text='This BOM item is inherited by BOMs for variant parts', verbose_name='Gets inherited'), + ), + ] diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 59e5d78213..a0ff025147 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -3512,7 +3512,7 @@ class BomItem(DataImportMixin, models.Model): inherited = models.BooleanField( default=False, - verbose_name=_('Inherited'), + verbose_name=_('Gets inherited'), help_text=_('This BOM item is inherited by BOMs for variant parts'), ) diff --git a/InvenTree/part/templates/part/upload_bom.html b/InvenTree/part/templates/part/upload_bom.html index af0c88e529..68ec20f5e2 100644 --- a/InvenTree/part/templates/part/upload_bom.html +++ b/InvenTree/part/templates/part/upload_bom.html @@ -54,7 +54,7 @@ {% trans "Reference" %} {% trans "Overage" %} {% trans "Allow Variants" %} - {% trans "Inherited" %} + {% trans "Gets inherited" %} {% trans "Optional" %} {% trans "Note" %} diff --git a/InvenTree/templates/js/translated/bom.js b/InvenTree/templates/js/translated/bom.js index 4d277e9620..9ee63099b4 100644 --- a/InvenTree/templates/js/translated/bom.js +++ b/InvenTree/templates/js/translated/bom.js @@ -1019,7 +1019,7 @@ function loadBomTable(table, options={}) { cols.push({ field: 'inherited', - title: '{% trans "Inherited" %}', + title: '{% trans "Gets inherited" %}', searchable: false, formatter: function(value, row) { // This BOM item *is* inheritable, but is defined for this BOM @@ -1029,10 +1029,7 @@ function loadBomTable(table, options={}) { return yesNoLabel(true); } else { // If this BOM item is inherited from a parent part - return renderLink( - '{% trans "View BOM" %}', - `/part/${row.part}/bom/`, - ); + return yesNoLabel(true, {muted: true}); } } }); diff --git a/InvenTree/templates/js/translated/helpers.js b/InvenTree/templates/js/translated/helpers.js index 54be4db016..145a0e6c0e 100644 --- a/InvenTree/templates/js/translated/helpers.js +++ b/InvenTree/templates/js/translated/helpers.js @@ -19,12 +19,23 @@ withTitle, */ -function yesNoLabel(value) { +function yesNoLabel(value, options={}) { + var text = ''; + var color = ''; + if (value) { - return `{% trans "YES" %}`; + text = '{% trans "YES" %}'; + color = 'bg-success'; } else { - return `{% trans "NO" %}`; + text = '{% trans "NO" %}'; + color = 'bg-warning'; } + + if (options.muted) { + color = 'bg-secondary'; + } + + return `${text}`; } diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index 6eb1b35791..9eab6a1bb8 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -73,7 +73,7 @@ function getAvailableTableFilters(tableKey) { }, inherited: { type: 'bool', - title: '{% trans "Inherited" %}', + title: '{% trans "Gets inherited" %}', }, allow_variants: { type: 'bool', @@ -105,7 +105,7 @@ function getAvailableTableFilters(tableKey) { return { 'inherited': { type: 'bool', - title: '{% trans "Inherited" %}', + title: '{% trans "Gets inherited" %}', }, 'optional': { type: 'bool', From a28063a59c0f74f962a9c97191a6f080d0d24256 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 24 Feb 2023 06:59:24 +1100 Subject: [PATCH 029/140] Allow pricing updates when PartPricing object does not yet exist (#4400) - Previously if the Part did not have a referenced PartPricing object, the schedule_pricing_update method would fail - Required a PartPricing object to actually exist (i.e. be manually created) - This patch fixes a logic error which resulted in updating being skipped if a PartPricing instance did not already exist --- InvenTree/part/models.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index a0ff025147..fe6d1f37e3 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -1687,10 +1687,8 @@ class Part(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel): Ref: https://github.com/inventree/InvenTree/pull/3986 """ - try: - self.pricing.schedule_for_update() - except (PartPricing.DoesNotExist, IntegrityError): - pass + pricing = self.pricing + pricing.schedule_for_update() def get_price_info(self, quantity=1, buy=True, bom=True, internal=False): """Return a simplified pricing string for this part. @@ -2264,9 +2262,11 @@ class PartPricing(common.models.MetaMixin): """Schedule this pricing to be updated""" try: - self.refresh_from_db() + if self.pk: + self.refresh_from_db() except (PartPricing.DoesNotExist, IntegrityError): # Error thrown if this PartPricing instance has already been removed + logger.warning(f"Error refreshing PartPricing instance for part '{self.part}'") return # Ensure that the referenced part still exists in the database @@ -2274,6 +2274,7 @@ class PartPricing(common.models.MetaMixin): p = self.part p.refresh_from_db() except IntegrityError: + logger.error(f"Could not update PartPricing as Part '{self.part}' does not exist") return if self.scheduled_for_update: @@ -2291,6 +2292,7 @@ class PartPricing(common.models.MetaMixin): self.save() except IntegrityError: # An IntegrityError here likely indicates that the referenced part has already been deleted + logger.error(f"Could not save PartPricing for part '{self.part}' to the database") return import part.tasks as part_tasks From 8b7e41baf9f3ee3e7475384a012069a32841a137 Mon Sep 17 00:00:00 2001 From: simonkuehling Date: Fri, 24 Feb 2023 02:01:40 +0100 Subject: [PATCH 030/140] fix stock health calculation to account for allocated stock (#4385) (#4399) * fix stock health calculation to account for allocated stock (#4385) * add required stock from sales orders to demand and stock_health calculation --- InvenTree/templates/js/translated/part.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 47cb33100b..27b0545e2e 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -624,27 +624,32 @@ function partStockLabel(part, options={}) { } // Check for demand from unallocated build orders - var required = null; + var required_build_order_quantity = null; + var required_sales_order_quantity = null; inventreeGet(`/api/part/${part.pk}/requirements/`, {}, { async: false, success: function(response) { - required = 0; + required_build_order_quantity = 0; if (response.required_build_order_quantity) { - required = response.required_build_order_quantity; + required_build_order_quantity = response.required_build_order_quantity; + } + required_sales_order_quantity = 0; + if (response.required_sales_order_quantity) { + required_sales_order_quantity = response.required_sales_order_quantity; } } }); - if (required == null) { + if ((required_build_order_quantity == null) || (required_sales_order_quantity == null)) { console.error(`Error loading part requirements for part ${part.pk}`); return; } - var demand = required - part.allocated_to_build_orders; + var demand = (required_build_order_quantity - part.allocated_to_build_orders) + (required_sales_order_quantity - part.allocated_to_sales_orders); if (demand) { text += ` | {% trans "Demand" %}: ${demand}`; } // Determine badge color based on overall stock health - var stock_health = part.in_stock + part.building + part.ordering - part.minimum_stock - demand; + var stock_health = part.in_stock + part.building + part.ordering - part.minimum_stock - required_build_order_quantity - required_sales_order_quantity; var bg_class = ''; if (stock_health < 0) { // Unsatisfied demand and/or below minimum stock From ed7d2e1262606a7646c10412ad4e1a5d23f966dc Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 25 Feb 2023 07:19:41 +1100 Subject: [PATCH 031/140] Add option to filter stockitems by "external" location status (#4407) * Add option to filter stockitems by "external" location status * flake fix --- InvenTree/stock/api.py | 10 ++++++++++ InvenTree/templates/js/translated/table_filters.js | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 88df0a541e..1c1429cf0e 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -421,6 +421,16 @@ class StockFilter(rest_filters.FilterSet): else: return queryset.exclude(StockItem.EXPIRED_FILTER) + external = rest_filters.BooleanFilter(label=_('External Location'), method='filter_external') + + def filter_external(self, queryset, name, value): + """Filter by whether or not the stock item is located in an external location""" + + if str2bool(value): + return queryset.filter(location__external=True) + else: + return queryset.exclude(location__external=True) + in_stock = rest_filters.BooleanFilter(label='In Stock', method='filter_in_stock') def filter_in_stock(self, queryset, name, value): diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index 9eab6a1bb8..6eb5725e25 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -292,6 +292,10 @@ function getAvailableTableFilters(tableKey) { type: 'date', title: '{% trans "Expiry Date after" %}', }, + external: { + type: 'bool', + title: '{% trans "External Location" %}', + } }; // Optional filters if stock expiry functionality is enabled From c46f1534497a6869e6769df17545bd7814f69af5 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 25 Feb 2023 09:56:13 +1100 Subject: [PATCH 032/140] Bug fix for build detail template (#4412) - Remove reference to old expand/collapse templates (which no longer exist) - Update tables to use javascript buttons --- InvenTree/build/templates/build/detail.html | 5 ----- InvenTree/templates/js/translated/build.js | 3 ++- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/InvenTree/build/templates/build/detail.html b/InvenTree/build/templates/build/detail.html index f7d57b8288..3b0585d0c0 100644 --- a/InvenTree/build/templates/build/detail.html +++ b/InvenTree/build/templates/build/detail.html @@ -281,11 +281,6 @@
- {% if build.has_tracked_bom_items %} - {% include "expand_rows.html" with label="outputs" %} - {% include "collapse_rows.html" with label="outputs" %} - {% endif %} - {% include "filter_list.html" with id='incompletebuilditems' %}
{% endif %} diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index 36c175a640..4ccc44968c 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -1217,10 +1217,10 @@ function loadBuildOutputTable(build_info, options={}) { setupBuildOutputButtonCallbacks(); }, onLoadSuccess: function(rows) { - updateAllocationData(rows); updateTestResultData(rows); }, + buttons: constructExpandCollapseButtons(table), columns: [ { title: '', @@ -1713,6 +1713,7 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { detailFilter: function(index, row) { return allocatedQuantity(row) > 0; }, + buttons: constructExpandCollapseButtons(table), detailFormatter: function(index, row, element) { // Contruct an 'inner table' which shows which stock items have been allocated From f523fb44f6f63e489b994e5327a60ee0d8f778f0 Mon Sep 17 00:00:00 2001 From: simonkuehling Date: Sat, 25 Feb 2023 03:52:12 +0100 Subject: [PATCH 033/140] Filter build orders by responsible owner (#4383) (#4408) * add assigned_to filter to Build API * extend API to filter build orders by assigned owner * rename API filter to 'responsible' * add 'Responsible' filter to build oders table * add user/group icon to owners in 'Responsible' column * remove unused python class import * bump API version number * fix handling of invalid IDs * refactor filter options as a callback function * fix JS styling --- InvenTree/InvenTree/api_version.py | 5 ++++- InvenTree/build/api.py | 15 +++++++++++++++ InvenTree/templates/js/translated/build.js | 14 +++++++++++--- InvenTree/templates/js/translated/filters.js | 5 +++++ .../templates/js/translated/table_filters.js | 19 +++++++++++++++++++ 5 files changed, 54 insertions(+), 4 deletions(-) diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 203aa09713..29774af0d5 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 97 +INVENTREE_API_VERSION = 98 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v98 -> 2023-02-24 : https://github.com/inventree/InvenTree/pull/4408 + - Adds "responsible" filter to Build API + v97 -> 2023-02-20 : https://github.com/inventree/InvenTree/pull/4377 - Adds "external" attribute to StockLocation model diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 9fda2c3065..dd52145ad0 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -2,6 +2,7 @@ from django.urls import include, re_path from django.utils.translation import gettext_lazy as _ +from django.contrib.auth.models import User from rest_framework import filters from rest_framework.exceptions import ValidationError @@ -65,6 +66,20 @@ class BuildFilter(rest_filters.FilterSet): return queryset + assigned_to = rest_filters.NumberFilter(label='responsible', method='filter_responsible') + + def filter_responsible(self, queryset, name, value): + """Filter by orders which are assigned to the specified owner.""" + owners = list(Owner.objects.filter(pk=value)) + + # if we query by a user, also find all ownerships through group memberships + if len(owners) > 0 and owners[0].label() == 'user': + owners = Owner.get_owners_matching_user(User.objects.get(pk=owners[0].owner_id)) + + queryset = queryset.filter(responsible__in=owners) + + return queryset + # Exact match for reference reference = rest_filters.CharFilter( label='Filter by exact reference', diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index 4ccc44968c..fd9236994c 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -2695,11 +2695,19 @@ function loadBuildTable(table, options) { title: '{% trans "Responsible" %}', sortable: true, formatter: function(value, row) { - if (value) { - return row.responsible_detail.name; - } else { + if (!row.responsible_detail) { return '-'; } + + var html = row.responsible_detail.name; + + if (row.responsible_detail.label == 'group') { + html += ``; + } else { + html += ``; + } + + return html; } }, { diff --git a/InvenTree/templates/js/translated/filters.js b/InvenTree/templates/js/translated/filters.js index 78dd67043d..7a2d8687a2 100644 --- a/InvenTree/templates/js/translated/filters.js +++ b/InvenTree/templates/js/translated/filters.js @@ -241,6 +241,11 @@ function generateFilterInput(tableKey, filterKey) { // Return a 'select' input with the available values html = ` +
+
+ +{% endblock page_content %} + +{% block js_ready %} +{{ block.super }} + +// Callback function when the 'details' panel is loaded +onPanelLoad('order-details', function() { + + {% if roles.return_order.add %} + + $('#receive-line-items').click(function() { + let items = getTableData('#return-order-lines-table'); + + receiveReturnOrderItems( + {{ order.pk }}, + items, + { + onSuccess: function() { + reloadBootstrapTable('#return-order-lines-table'); + } + } + ); + }); + + $('#new-return-order-line').click(function() { + createReturnOrderLineItem({ + order: {{ order.pk }}, + customer: {{ order.customer.pk }}, + onSuccess: function() { + reloadBootstrapTable('#return-order-lines-table'); + } + }); + }); + + $('#new-return-order-extra-line').click(function() { + + createExtraLineItem({ + order: {{ order.pk }}, + table: '#return-order-extra-lines-table', + url: '{% url "api-return-order-extra-line-list" %}', + {% if order.customer.currency %} + currency: '{{ order.customer.currency }}', + {% endif %} + }); + }); + + {% endif %} + + {% settings_value "RETURNORDER_EDIT_COMPLETED_ORDERS" as allow_extra_editing %} + + loadReturnOrderLineItemTable({ + table: '#return-order-lines-table', + order: {{ order.pk }}, + {% if order.status == ReturnOrderStatus.IN_PROGRESS %} + allow_receive: true, + {% endif %} + {% if order.is_open or allow_extra_editing %} + allow_edit: {% js_bool roles.return_order.change %}, + allow_delete: {% js_bool roles.return_order.delete %}, + {% endif %} + }); + + loadExtraLineTable({ + order: {{ order.pk }}, + url: '{% url "api-return-order-extra-line-list" %}', + table: "#return-order-extra-lines-table", + name: 'returnorderextralines', + filtertarget: '#filter-list-return-order-extra-lines', + {% if order.is_open or allow_extra_editing %} + allow_edit: {% js_bool roles.return_order.change %}, + allow_delete: {% js_bool roles.return_order.delete %}, + {% endif %} + }); +}); + +// Callback function when the 'notes' panel is loaded +onPanelLoad('order-notes', function() { + setupNotesField( + 'order-notes', + '{% url "api-return-order-detail" order.pk %}', + { + {% if roles.purchase_order.change %} + editable: true, + {% else %} + editable: false, + {% endif %} + } + ); +}); + +// Callback function when the 'attachments' panel is loaded +onPanelLoad('order-attachments', function() { + + loadAttachmentTable('{% url "api-return-order-attachment-list" %}', { + filters: { + order: {{ order.pk }}, + }, + fields: { + order: { + value: {{ order.pk }}, + hidden: true, + }, + } + }); +}); + +enableSidebar('returnorder'); + +{% endblock js_ready %} diff --git a/InvenTree/order/templates/order/return_order_sidebar.html b/InvenTree/order/templates/order/return_order_sidebar.html new file mode 100644 index 0000000000..a9a0519885 --- /dev/null +++ b/InvenTree/order/templates/order/return_order_sidebar.html @@ -0,0 +1,10 @@ +{% load i18n %} +{% load static %} +{% load inventree_extras %} + +{% trans "Order Details" as text %} +{% include "sidebar_item.html" with label='order-details' text=text icon="fa-info-circle" %} +{% trans "Attachments" as text %} +{% include "sidebar_item.html" with label='order-attachments' text=text icon="fa-paperclip" %} +{% trans "Notes" as text %} +{% include "sidebar_item.html" with label='order-notes' text=text icon="fa-clipboard" %} diff --git a/InvenTree/order/templates/order/return_orders.html b/InvenTree/order/templates/order/return_orders.html new file mode 100644 index 0000000000..e364214c85 --- /dev/null +++ b/InvenTree/order/templates/order/return_orders.html @@ -0,0 +1,55 @@ +{% extends "page_base.html" %} + +{% load inventree_extras %} +{% load static %} +{% load i18n %} + +{% block page_title %} +{% inventree_title %} | {% trans "Return Orders" %} +{% endblock %} + +{% block breadcrumb_list %} +{% endblock %} + +{% block heading %} +{% trans "Return Orders" %} +{% endblock %} + + +{% block actions %} +{% if roles.return_order.add %} + +{% endif %} +{% endblock actions %} + +{% block page_info %} + +
+
+
+
+ {% include "filter_list.html" with id="returnorder" %} +
+
+
+ + +
+ +
+
+ +{% endblock page_info %} + +{% block js_ready %} +{{ block.super }} + +loadReturnOrderTable('#return-order-table', {}); + +$('#return-order-create').click(function() { + createReturnOrder(); +}); + +{% endblock js_ready %} diff --git a/InvenTree/order/templates/order/sales_order_base.html b/InvenTree/order/templates/order/sales_order_base.html index 20acc35379..b0892f9037 100644 --- a/InvenTree/order/templates/order/sales_order_base.html +++ b/InvenTree/order/templates/order/sales_order_base.html @@ -10,7 +10,7 @@ {% endblock %} {% block breadcrumbs %} - + {% endblock %} @@ -162,7 +162,10 @@ src="{% static 'img/blank_image.png' %}" {% trans "Target Date" %} - {% render_date order.target_date %} + + {% render_date order.target_date %} + {% if order.is_overdue %}{% endif %} + {% endif %} {% if order.shipment_date %} @@ -177,6 +180,13 @@ src="{% static 'img/blank_image.png' %}" {% endif %} + {% if order.contact %} + + + {% trans "Contact" %} + {{ order.contact.name }} + + {% endif %} {% if order.responsible %} @@ -187,7 +197,7 @@ src="{% static 'img/blank_image.png' %}" - {% trans "Total cost" %} + {% trans "Total Cost" %} {% with order.total_price as tp %} {% if tp == None %} @@ -204,12 +214,13 @@ src="{% static 'img/blank_image.png' %}" {% block js_ready %} {{ block.super }} +{% if roles.sales_order.change %} $("#edit-order").click(function() { - editSalesOrder({{ order.pk }}, { reload: true, }); }); +{% endif %} $("#complete-order-shipments").click(function() { @@ -242,7 +253,11 @@ $("#complete-order").click(function() { {% if report_enabled %} $('#print-order-report').click(function() { - printSalesOrderReports([{{ order.pk }}]); + printReports({ + items: [{{ order.pk }}], + key: 'order', + url: '{% url "api-so-report-list" %}', + }); }); {% endif %} diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index 5b28b88f1a..bcd96796d5 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -18,7 +18,7 @@

{% trans "Sales Order Items" %}

{% include "spacer.html" %}
- {% if roles.sales_order.change %} + {% if roles.sales_order.add %} {% if order.is_pending or allow_extra_editing %} - {% endif %} {% include "filter_list.html" with id="salesorder" %}
@@ -54,20 +49,6 @@ loadSalesOrderTable("#sales-order-table", { url: "{% url 'api-so-list' %}", }); -{% if report_enabled %} -$("#order-print").click(function() { - var rows = getTableData('#sales-order-table'); - - var orders = []; - - rows.forEach(function(row) { - orders.push(row.pk); - }); - - printSalesOrderReports(orders); -}) -{% endif %} - $("#so-create").click(function() { createSalesOrder(); }); diff --git a/InvenTree/order/test_api.py b/InvenTree/order/test_api.py index 631b54caaf..98bfe8f840 100644 --- a/InvenTree/order/test_api.py +++ b/InvenTree/order/test_api.py @@ -17,7 +17,9 @@ import order.models as models from common.settings import currency_codes from company.models import Company from InvenTree.api_tester import InvenTreeAPITestCase -from InvenTree.status_codes import PurchaseOrderStatus, SalesOrderStatus +from InvenTree.status_codes import (PurchaseOrderStatus, ReturnOrderLineStatus, + ReturnOrderStatus, SalesOrderStatus, + StockStatus) from part.models import Part from stock.models import StockItem @@ -1802,3 +1804,286 @@ class SalesOrderAllocateTest(OrderTest): response = self.get(url, expected_code=200) self.assertEqual(len(response.data), 1 + 3 * models.SalesOrder.objects.count()) + + +class ReturnOrderTests(InvenTreeAPITestCase): + """Unit tests for ReturnOrder API endpoints""" + + fixtures = [ + 'category', + 'company', + 'return_order', + 'part', + 'location', + 'supplier_part', + 'stock', + ] + + def test_options(self): + """Test the OPTIONS endpoint""" + + self.assignRole('return_order.add') + data = self.options(reverse('api-return-order-list'), expected_code=200).data + + self.assertEqual(data['name'], 'Return Order List') + + # Some checks on the 'reference' field + post = data['actions']['POST'] + reference = post['reference'] + + self.assertEqual(reference['default'], 'RMA-0007') + self.assertEqual(reference['label'], 'Reference') + self.assertEqual(reference['help_text'], 'Return Order reference') + self.assertEqual(reference['required'], True) + self.assertEqual(reference['type'], 'string') + + def test_list(self): + """Tests for the list endpoint""" + + url = reverse('api-return-order-list') + + response = self.get(url, expected_code=200) + + self.assertEqual(len(response.data), 6) + + # Paginated query + data = self.get( + url, + { + 'limit': 1, + 'ordering': 'reference', + 'customer_detail': True, + }, + expected_code=200 + ).data + + self.assertEqual(data['count'], 6) + self.assertEqual(len(data['results']), 1) + result = data['results'][0] + self.assertEqual(result['reference'], 'RMA-001') + self.assertEqual(result['customer_detail']['name'], 'A customer') + + # Reverse ordering + data = self.get( + url, + { + 'ordering': '-reference', + }, + expected_code=200 + ).data + + self.assertEqual(data[0]['reference'], 'RMA-006') + + # Filter by customer + for cmp_id in [4, 5]: + data = self.get( + url, + { + 'customer': cmp_id, + }, + expected_code=200 + ).data + + self.assertEqual(len(data), 3) + + for result in data: + self.assertEqual(result['customer'], cmp_id) + + # Filter by status + data = self.get( + url, + { + 'status': 20, + }, + expected_code=200 + ).data + + self.assertEqual(len(data), 2) + + for result in data: + self.assertEqual(result['status'], 20) + + def test_create(self): + """Test creation of ReturnOrder via the API""" + + url = reverse('api-return-order-list') + + # Do not have required permissions yet + self.post( + url, + { + 'customer': 1, + 'description': 'a return order', + }, + expected_code=403 + ) + + self.assignRole('return_order.add') + + data = self.post( + url, + { + 'customer': 4, + 'customer_reference': 'cr', + 'description': 'a return order', + }, + expected_code=201 + ).data + + # Reference automatically generated + self.assertEqual(data['reference'], 'RMA-0007') + self.assertEqual(data['customer_reference'], 'cr') + + def test_update(self): + """Test that we can update a ReturnOrder via the API""" + + url = reverse('api-return-order-detail', kwargs={'pk': 1}) + + # Test detail endpoint + data = self.get(url, expected_code=200).data + + self.assertEqual(data['reference'], 'RMA-001') + + # Attempt to update, incorrect permissions + self.patch( + url, + { + 'customer_reference': 'My customer reference', + }, + expected_code=403 + ) + + self.assignRole('return_order.change') + + self.patch( + url, + { + 'customer_reference': 'customer ref', + }, + expected_code=200 + ) + + rma = models.ReturnOrder.objects.get(pk=1) + self.assertEqual(rma.customer_reference, 'customer ref') + + def test_ro_issue(self): + """Test the 'issue' order for a ReturnOrder""" + + order = models.ReturnOrder.objects.get(pk=1) + self.assertEqual(order.status, ReturnOrderStatus.PENDING) + self.assertIsNone(order.issue_date) + + url = reverse('api-return-order-issue', kwargs={'pk': 1}) + + # POST without required permissions + self.post(url, expected_code=403) + + self.assignRole('return_order.add') + + self.post(url, expected_code=201) + order.refresh_from_db() + self.assertEqual(order.status, ReturnOrderStatus.IN_PROGRESS) + self.assertIsNotNone(order.issue_date) + + def test_receive(self): + """Test that we can receive items against a ReturnOrder""" + + customer = Company.objects.get(pk=4) + + # Create an order + rma = models.ReturnOrder.objects.create( + customer=customer, + description='A return order', + ) + + self.assertEqual(rma.reference, 'RMA-0007') + + # Create some line items + part = Part.objects.get(pk=25) + for idx in range(3): + stock_item = StockItem.objects.create( + part=part, customer=customer, + quantity=1, serial=idx + ) + + line_item = models.ReturnOrderLineItem.objects.create( + order=rma, + item=stock_item, + ) + + self.assertEqual(line_item.outcome, ReturnOrderLineStatus.PENDING) + self.assertIsNone(line_item.received_date) + self.assertFalse(line_item.received) + + self.assertEqual(rma.lines.count(), 3) + + def receive(items, location=None, expected_code=400): + """Helper function to receive items against this ReturnOrder""" + url = reverse('api-return-order-receive', kwargs={'pk': rma.pk}) + + response = self.post( + url, + { + 'items': items, + 'location': location, + }, + expected_code=expected_code + ) + + return response.data + + # Receive without required permissions + receive([], expected_code=403) + + self.assignRole('return_order.add') + + # Receive, without any location + data = receive([], expected_code=400) + self.assertIn('This field may not be null', str(data['location'])) + + # Receive, with incorrect order code + data = receive([], 1, expected_code=400) + self.assertIn('Items can only be received against orders which are in progress', str(data)) + + # Issue the order (via the API) + self.assertIsNone(rma.issue_date) + self.post( + reverse("api-return-order-issue", kwargs={"pk": rma.pk}), + expected_code=201, + ) + + rma.refresh_from_db() + self.assertIsNotNone(rma.issue_date) + self.assertEqual(rma.status, ReturnOrderStatus.IN_PROGRESS) + + # Receive, without any items + data = receive([], 1, expected_code=400) + self.assertIn('Line items must be provided', str(data)) + + # Get a reference to one of the stock items + stock_item = rma.lines.first().item + + n_tracking = stock_item.tracking_info.count() + + # Receive items successfully + data = receive( + [{'item': line.pk} for line in rma.lines.all()], + 1, + expected_code=201 + ) + + # Check that all line items have been received + for line in rma.lines.all(): + self.assertTrue(line.received) + self.assertIsNotNone(line.received_date) + + # A single tracking entry should have been added to the item + self.assertEqual(stock_item.tracking_info.count(), n_tracking + 1) + + tracking_entry = stock_item.tracking_info.last() + deltas = tracking_entry.deltas + + self.assertEqual(deltas['status'], StockStatus.QUARANTINED) + self.assertEqual(deltas['customer'], customer.pk) + self.assertEqual(deltas['location'], 1) + self.assertEqual(deltas['returnorder'], rma.pk) diff --git a/InvenTree/order/test_views.py b/InvenTree/order/test_views.py index cadd2914ad..d878cbc604 100644 --- a/InvenTree/order/test_views.py +++ b/InvenTree/order/test_views.py @@ -16,6 +16,8 @@ class OrderViewTestCase(InvenTreeTestCase): 'supplier_part', 'stock', 'order', + 'sales_order', + 'return_order', ] roles = [ @@ -25,14 +27,17 @@ class OrderViewTestCase(InvenTreeTestCase): 'sales_order.change', 'sales_order.add', 'sales_order.delete', + 'return_order.change', + 'return_order.add', + 'return_order.delete', ] -class OrderListTest(OrderViewTestCase): +class PurchaseOrderListTest(OrderViewTestCase): """Unit tests for the PurchaseOrder index page""" def test_order_list(self): """Tests for the PurchaseOrder index page""" - response = self.client.get(reverse('po-index')) + response = self.client.get(reverse('purchase-order-index')) self.assertEqual(response.status_code, 200) @@ -53,3 +58,31 @@ class PurchaseOrderTests(OrderViewTestCase): # Response should be streaming-content (file download) self.assertIn('streaming_content', dir(response)) + + +class SalesOrderViews(OrderViewTestCase): + """Unit tests for the SalesOrder pages""" + + def test_index(self): + """Test the SalesOrder index page""" + response = self.client.get(reverse('sales-order-index')) + self.assertEqual(response.status_code, 200) + + def test_detail(self): + """Test SalesOrder detail view""" + response = self.client.get(reverse('so-detail', args=(1,))) + self.assertEqual(response.status_code, 200) + + +class ReturnOrderVIews(OrderViewTestCase): + """Unit tests for the ReturnOrder pages""" + + def test_index(self): + """Test the ReturnOrder index page""" + response = self.client.get(reverse('return-order-index')) + self.assertEqual(response.status_code, 200) + + def test_detail(self): + """Test ReturnOrder detail view""" + response = self.client.get(reverse('return-order-detail', args=(1,))) + self.assertEqual(response.status_code, 200) diff --git a/InvenTree/order/urls.py b/InvenTree/order/urls.py index 278914bd75..7305bf8543 100644 --- a/InvenTree/order/urls.py +++ b/InvenTree/order/urls.py @@ -4,7 +4,7 @@ - Detail view of Purchase Orders """ -from django.urls import include, re_path +from django.urls import include, path, re_path from . import views @@ -21,10 +21,10 @@ purchase_order_urls = [ re_path(r'^pricing/', views.LineItemPricing.as_view(), name='line-pricing'), # Display detail view for a single purchase order - re_path(r'^(?P\d+)/', include(purchase_order_detail_urls)), + path(r'/', include(purchase_order_detail_urls)), # Display complete list of purchase orders - re_path(r'^.*$', views.PurchaseOrderIndex.as_view(), name='po-index'), + re_path(r'^.*$', views.PurchaseOrderIndex.as_view(), name='purchase-order-index'), ] sales_order_detail_urls = [ @@ -35,13 +35,23 @@ sales_order_detail_urls = [ sales_order_urls = [ # Display detail view for a single SalesOrder - re_path(r'^(?P\d+)/', include(sales_order_detail_urls)), + path(r'/', include(sales_order_detail_urls)), # Display list of all sales orders - re_path(r'^.*$', views.SalesOrderIndex.as_view(), name='so-index'), + re_path(r'^.*$', views.SalesOrderIndex.as_view(), name='sales-order-index'), ] + +return_order_urls = [ + path(r'/', views.ReturnOrderDetail.as_view(), name='return-order-detail'), + + # Display list of all return orders + re_path(r'^.*$', views.ReturnOrderIndex.as_view(), name='return-order-index'), +] + + order_urls = [ re_path(r'^purchase-order/', include(purchase_order_urls)), re_path(r'^sales-order/', include(sales_order_urls)), + re_path(r'^return-order/', include(return_order_urls)), ] diff --git a/InvenTree/order/validators.py b/InvenTree/order/validators.py index 3ca3a58940..ee9c832e05 100644 --- a/InvenTree/order/validators.py +++ b/InvenTree/order/validators.py @@ -17,6 +17,14 @@ def generate_next_purchase_order_reference(): return PurchaseOrder.generate_reference() +def generate_next_return_order_reference(): + """Generate the next available ReturnOrder reference""" + + from order.models import ReturnOrder + + return ReturnOrder.generate_reference() + + def validate_sales_order_reference_pattern(pattern): """Validate the SalesOrder reference 'pattern' setting""" @@ -33,6 +41,14 @@ def validate_purchase_order_reference_pattern(pattern): PurchaseOrder.validate_reference_pattern(pattern) +def validate_return_order_reference_pattern(pattern): + """Validate the ReturnOrder reference 'pattern' setting""" + + from order.models import ReturnOrder + + ReturnOrder.validate_reference_pattern(pattern) + + def validate_sales_order_reference(value): """Validate that the SalesOrder reference field matches the required pattern""" @@ -47,3 +63,11 @@ def validate_purchase_order_reference(value): from order.models import PurchaseOrder PurchaseOrder.validate_reference_field(value) + + +def validate_return_order_reference(value): + """Validate that the ReturnOrder reference field matches the required pattern""" + + from order.models import ReturnOrder + + ReturnOrder.validate_reference_field(value) diff --git a/InvenTree/order/views.py b/InvenTree/order/views.py index b3909971e0..3d319a8d28 100644 --- a/InvenTree/order/views.py +++ b/InvenTree/order/views.py @@ -24,8 +24,8 @@ from plugin.views import InvenTreePluginViewMixin from . import forms as order_forms from .admin import PurchaseOrderLineItemResource, SalesOrderLineItemResource -from .models import (PurchaseOrder, PurchaseOrderLineItem, SalesOrder, - SalesOrderLineItem) +from .models import (PurchaseOrder, PurchaseOrderLineItem, ReturnOrder, + SalesOrder, SalesOrderLineItem) logger = logging.getLogger("inventree") @@ -51,6 +51,14 @@ class SalesOrderIndex(InvenTreeRoleMixin, ListView): context_object_name = 'orders' +class ReturnOrderIndex(InvenTreeRoleMixin, ListView): + """ReturnOrder index (list) view""" + + model = ReturnOrder + template_name = 'order/return_orders.html' + context_object_name = 'orders' + + class PurchaseOrderDetail(InvenTreeRoleMixin, InvenTreePluginViewMixin, DetailView): """Detail view for a PurchaseOrder object.""" @@ -67,6 +75,14 @@ class SalesOrderDetail(InvenTreeRoleMixin, InvenTreePluginViewMixin, DetailView) template_name = 'order/sales_order_detail.html' +class ReturnOrderDetail(InvenTreeRoleMixin, InvenTreePluginViewMixin, DetailView): + """Detail view for a ReturnOrder object""" + + context_object_name = 'order' + queryset = ReturnOrder.objects.all() + template_name = 'order/return_order_detail.html' + + class PurchaseOrderUpload(FileManagementFormView): """PurchaseOrder: Upload file, match to fields and parts (using multi-Step form)""" diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 055ac98a82..6ea2a3b673 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -39,34 +39,20 @@ from .models import (BomItem, BomItemSubstitute, Part, PartAttachment, PartStocktake, PartStocktakeReport, PartTestTemplate) -class CategoryList(APIDownloadMixin, ListCreateAPI): - """API endpoint for accessing a list of PartCategory objects. - - - GET: Return a list of PartCategory objects - - POST: Create a new PartCategory object - """ - - queryset = PartCategory.objects.all() +class CategoryMixin: + """Mixin class for PartCategory endpoints""" serializer_class = part_serializers.CategorySerializer - - def download_queryset(self, queryset, export_format): - """Download the filtered queryset as a data file""" - - dataset = PartCategoryResource().export(queryset=queryset) - filedata = dataset.export(export_format) - filename = f"InvenTree_Categories.{export_format}" - - return DownloadFile(filedata, filename) + queryset = PartCategory.objects.all() def get_queryset(self, *args, **kwargs): - """Return an annotated queryset for the CategoryList endpoint""" + """Return an annotated queryset for the CategoryDetail endpoint""" queryset = super().get_queryset(*args, **kwargs) queryset = part_serializers.CategorySerializer.annotate_queryset(queryset) return queryset def get_serializer_context(self): - """Add extra context data to the serializer for the PartCategoryList endpoint""" + """Add extra context to the serializer for the CategoryDetail endpoint""" ctx = super().get_serializer_context() try: @@ -77,6 +63,23 @@ class CategoryList(APIDownloadMixin, ListCreateAPI): return ctx + +class CategoryList(CategoryMixin, APIDownloadMixin, ListCreateAPI): + """API endpoint for accessing a list of PartCategory objects. + + - GET: Return a list of PartCategory objects + - POST: Create a new PartCategory object + """ + + def download_queryset(self, queryset, export_format): + """Download the filtered queryset as a data file""" + + dataset = PartCategoryResource().export(queryset=queryset) + filedata = dataset.export(export_format) + filename = f"InvenTree_Categories.{export_format}" + + return DownloadFile(filedata, filename) + def filter_queryset(self, queryset): """Custom filtering: @@ -184,31 +187,9 @@ class CategoryList(APIDownloadMixin, ListCreateAPI): ] -class CategoryDetail(CustomRetrieveUpdateDestroyAPI): +class CategoryDetail(CategoryMixin, CustomRetrieveUpdateDestroyAPI): """API endpoint for detail view of a single PartCategory object.""" - serializer_class = part_serializers.CategorySerializer - queryset = PartCategory.objects.all() - - def get_queryset(self, *args, **kwargs): - """Return an annotated queryset for the CategoryDetail endpoint""" - - queryset = super().get_queryset(*args, **kwargs) - queryset = part_serializers.CategorySerializer.annotate_queryset(queryset) - return queryset - - def get_serializer_context(self): - """Add extra context to the serializer for the CategoryDetail endpoint""" - ctx = super().get_serializer_context() - - try: - ctx['starred_categories'] = [star.category for star in self.request.user.starred_categories.all()] - except AttributeError: - # Error is thrown if the view does not have an associated request - ctx['starred_categories'] = [] - - return ctx - def update(self, request, *args, **kwargs): """Perform 'update' function and mark this part as 'starred' (or not)""" # Clean up input data @@ -234,6 +215,21 @@ class CategoryDetail(CustomRetrieveUpdateDestroyAPI): delete_child_categories=delete_child_categories)) +class CategoryTree(ListAPI): + """API endpoint for accessing a list of PartCategory objects ready for rendering a tree.""" + + queryset = PartCategory.objects.all() + serializer_class = part_serializers.CategoryTree + + filter_backends = [ + DjangoFilterBackend, + filters.OrderingFilter, + ] + + # Order by tree level (top levels first) and then name + ordering = ['level', 'name'] + + class CategoryMetadata(RetrieveUpdateAPI): """API endpoint for viewing / updating PartCategory metadata.""" @@ -292,21 +288,6 @@ class CategoryParameterDetail(RetrieveUpdateDestroyAPI): serializer_class = part_serializers.CategoryParameterTemplateSerializer -class CategoryTree(ListAPI): - """API endpoint for accessing a list of PartCategory objects ready for rendering a tree.""" - - queryset = PartCategory.objects.all() - serializer_class = part_serializers.CategoryTree - - filter_backends = [ - DjangoFilterBackend, - filters.OrderingFilter, - ] - - # Order by tree level (top levels first) and then name - ordering = ['level', 'name'] - - class PartSalePriceDetail(RetrieveUpdateDestroyAPI): """Detail endpoint for PartSellPriceBreak model.""" @@ -845,76 +826,6 @@ class PartValidateBOM(RetrieveUpdateAPI): }) -class PartDetail(RetrieveUpdateDestroyAPI): - """API endpoint for detail view of a single Part object.""" - - queryset = Part.objects.all() - serializer_class = part_serializers.PartSerializer - - starred_parts = None - - def get_queryset(self, *args, **kwargs): - """Return an annotated queryset object for the PartDetail endpoint""" - queryset = super().get_queryset(*args, **kwargs) - - queryset = part_serializers.PartSerializer.annotate_queryset(queryset) - - return queryset - - def get_serializer(self, *args, **kwargs): - """Return a serializer instance for the PartDetail endpoint""" - # By default, include 'category_detail' information in the detail view - try: - kwargs['category_detail'] = str2bool(self.request.query_params.get('category_detail', True)) - except AttributeError: - pass - - # Ensure the request context is passed through - kwargs['context'] = self.get_serializer_context() - - # Pass a list of "starred" parts of the current user to the serializer - # We do this to reduce the number of database queries required! - if self.starred_parts is None and self.request is not None: - self.starred_parts = [star.part for star in self.request.user.starred_parts.all()] - - kwargs['starred_parts'] = self.starred_parts - - return self.serializer_class(*args, **kwargs) - - def destroy(self, request, *args, **kwargs): - """Delete a Part instance via the API - - - If the part is 'active' it cannot be deleted - - It must first be marked as 'inactive' - """ - part = Part.objects.get(pk=int(kwargs['pk'])) - # Check if inactive - if not part.active: - # Delete - return super(PartDetail, self).destroy(request, *args, **kwargs) - else: - # Return 405 error - message = 'Part is active: cannot delete' - return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED, data=message) - - def update(self, request, *args, **kwargs): - """Custom update functionality for Part instance. - - - If the 'starred' field is provided, update the 'starred' status against current user - """ - # Clean input data - data = self.clean_data(request.data) - - if 'starred' in data: - starred = str2bool(data.get('starred', False)) - - self.get_object().set_starred(request.user, starred) - - response = super().update(request, *args, **kwargs) - - return response - - class PartFilter(rest_filters.FilterSet): """Custom filters for the PartList endpoint. @@ -1090,22 +1001,30 @@ class PartFilter(rest_filters.FilterSet): virtual = rest_filters.BooleanFilter() -class PartList(APIDownloadMixin, ListCreateAPI): - """API endpoint for accessing a list of Part objects, or creating a new Part instance""" - +class PartMixin: + """Mixin class for Part API endpoints""" serializer_class = part_serializers.PartSerializer queryset = Part.objects.all() - filterset_class = PartFilter starred_parts = None + is_create = False + + def get_queryset(self, *args, **kwargs): + """Return an annotated queryset object for the PartDetail endpoint""" + queryset = super().get_queryset(*args, **kwargs) + + queryset = part_serializers.PartSerializer.annotate_queryset(queryset) + + return queryset + def get_serializer(self, *args, **kwargs): """Return a serializer instance for this endpoint""" # Ensure the request context is passed through kwargs['context'] = self.get_serializer_context() # Indicate that we can create a new Part via this endpoint - kwargs['create'] = True + kwargs['create'] = self.is_create # Pass a list of "starred" parts to the current user to the serializer # We do this to reduce the number of database queries required! @@ -1132,6 +1051,13 @@ class PartList(APIDownloadMixin, ListCreateAPI): return context + +class PartList(PartMixin, APIDownloadMixin, ListCreateAPI): + """API endpoint for accessing a list of Part objects, or creating a new Part instance""" + + filterset_class = PartFilter + is_create = True + def download_queryset(self, queryset, export_format): """Download the filtered queryset as a data file""" dataset = PartResource().export(queryset=queryset) @@ -1169,13 +1095,6 @@ class PartList(APIDownloadMixin, ListCreateAPI): else: return Response(data) - def get_queryset(self, *args, **kwargs): - """Return an annotated queryset object""" - queryset = super().get_queryset(*args, **kwargs) - queryset = part_serializers.PartSerializer.annotate_queryset(queryset) - - return queryset - def filter_queryset(self, queryset): """Perform custom filtering of the queryset""" params = self.request.query_params @@ -1358,6 +1277,43 @@ class PartList(APIDownloadMixin, ListCreateAPI): ] +class PartDetail(PartMixin, RetrieveUpdateDestroyAPI): + """API endpoint for detail view of a single Part object.""" + + def destroy(self, request, *args, **kwargs): + """Delete a Part instance via the API + + - If the part is 'active' it cannot be deleted + - It must first be marked as 'inactive' + """ + part = Part.objects.get(pk=int(kwargs['pk'])) + # Check if inactive + if not part.active: + # Delete + return super(PartDetail, self).destroy(request, *args, **kwargs) + else: + # Return 405 error + message = 'Part is active: cannot delete' + return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED, data=message) + + def update(self, request, *args, **kwargs): + """Custom update functionality for Part instance. + + - If the 'starred' field is provided, update the 'starred' status against current user + """ + # Clean input data + data = self.clean_data(request.data) + + if 'starred' in data: + starred = str2bool(data.get('starred', False)) + + self.get_object().set_starred(request.user, starred) + + response = super().update(request, *args, **kwargs) + + return response + + class PartRelatedList(ListCreateAPI): """API endpoint for accessing a list of PartRelated objects.""" @@ -1674,42 +1630,11 @@ class BomFilter(rest_filters.FilterSet): return queryset -class BomList(ListCreateDestroyAPIView): - """API endpoint for accessing a list of BomItem objects. - - - GET: Return list of BomItem objects - - POST: Create a new BomItem object - """ +class BomMixin: + """Mixin class for BomItem API endpoints""" serializer_class = part_serializers.BomItemSerializer queryset = BomItem.objects.all() - filterset_class = BomFilter - - def list(self, request, *args, **kwargs): - """Return serialized list response for this endpoint""" - - queryset = self.filter_queryset(self.get_queryset()) - - page = self.paginate_queryset(queryset) - - if page is not None: - serializer = self.get_serializer(page, many=True) - else: - serializer = self.get_serializer(queryset, many=True) - - data = serializer.data - - """ - Determine the response type based on the request. - a) For HTTP requests (e.g. via the browseable API) return a DRF response - b) For AJAX requests, simply return a JSON rendered response. - """ - if page is not None: - return self.get_paginated_response(data) - elif request.is_ajax(): - return JsonResponse(data, safe=False) - else: - return Response(data) def get_serializer(self, *args, **kwargs): """Return the serializer instance for this API endpoint @@ -1744,6 +1669,42 @@ class BomList(ListCreateDestroyAPIView): return queryset + +class BomList(BomMixin, ListCreateDestroyAPIView): + """API endpoint for accessing a list of BomItem objects. + + - GET: Return list of BomItem objects + - POST: Create a new BomItem object + """ + + filterset_class = BomFilter + + def list(self, request, *args, **kwargs): + """Return serialized list response for this endpoint""" + + queryset = self.filter_queryset(self.get_queryset()) + + page = self.paginate_queryset(queryset) + + if page is not None: + serializer = self.get_serializer(page, many=True) + else: + serializer = self.get_serializer(queryset, many=True) + + data = serializer.data + + """ + Determine the response type based on the request. + a) For HTTP requests (e.g. via the browseable API) return a DRF response + b) For AJAX requests, simply return a JSON rendered response. + """ + if page is not None: + return self.get_paginated_response(data) + elif request.is_ajax(): + return JsonResponse(data, safe=False) + else: + return Response(data) + def filter_queryset(self, queryset): """Custom query filtering for the BomItem list API""" queryset = super().filter_queryset(queryset) @@ -1828,6 +1789,11 @@ class BomList(ListCreateDestroyAPIView): } +class BomDetail(BomMixin, RetrieveUpdateDestroyAPI): + """API endpoint for detail view of a single BomItem object.""" + pass + + class BomImportUpload(CreateAPI): """API endpoint for uploading a complete Bill of Materials. @@ -1866,22 +1832,6 @@ class BomImportSubmit(CreateAPI): serializer_class = part_serializers.BomImportSubmitSerializer -class BomDetail(RetrieveUpdateDestroyAPI): - """API endpoint for detail view of a single BomItem object.""" - - queryset = BomItem.objects.all() - serializer_class = part_serializers.BomItemSerializer - - def get_queryset(self, *args, **kwargs): - """Prefetch related fields for this queryset""" - queryset = super().get_queryset(*args, **kwargs) - - queryset = self.get_serializer_class().setup_eager_loading(queryset) - queryset = self.get_serializer_class().annotate_queryset(queryset) - - return queryset - - class BomItemValidate(UpdateAPI): """API endpoint for validating a BomItem.""" @@ -1958,7 +1908,7 @@ part_api_urls = [ ])), # Category detail endpoints - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ re_path(r'^metadata/', CategoryMetadata.as_view(), name='api-part-category-metadata'), @@ -1971,31 +1921,31 @@ part_api_urls = [ # Base URL for PartTestTemplate API endpoints re_path(r'^test-template/', include([ - re_path(r'^(?P\d+)/', PartTestTemplateDetail.as_view(), name='api-part-test-template-detail'), + path(r'/', PartTestTemplateDetail.as_view(), name='api-part-test-template-detail'), path('', PartTestTemplateList.as_view(), name='api-part-test-template-list'), ])), # Base URL for PartAttachment API endpoints re_path(r'^attachment/', include([ - re_path(r'^(?P\d+)/', PartAttachmentDetail.as_view(), name='api-part-attachment-detail'), + path(r'/', PartAttachmentDetail.as_view(), name='api-part-attachment-detail'), path('', PartAttachmentList.as_view(), name='api-part-attachment-list'), ])), # Base URL for part sale pricing re_path(r'^sale-price/', include([ - re_path(r'^(?P\d+)/', PartSalePriceDetail.as_view(), name='api-part-sale-price-detail'), + path(r'/', PartSalePriceDetail.as_view(), name='api-part-sale-price-detail'), re_path(r'^.*$', PartSalePriceList.as_view(), name='api-part-sale-price-list'), ])), # Base URL for part internal pricing re_path(r'^internal-price/', include([ - re_path(r'^(?P\d+)/', PartInternalPriceDetail.as_view(), name='api-part-internal-price-detail'), + path(r'/', PartInternalPriceDetail.as_view(), name='api-part-internal-price-detail'), re_path(r'^.*$', PartInternalPriceList.as_view(), name='api-part-internal-price-list'), ])), # Base URL for PartRelated API endpoints re_path(r'^related/', include([ - re_path(r'^(?P\d+)/', PartRelatedDetail.as_view(), name='api-part-related-detail'), + path(r'/', PartRelatedDetail.as_view(), name='api-part-related-detail'), re_path(r'^.*$', PartRelatedList.as_view(), name='api-part-related-list'), ])), @@ -2009,7 +1959,7 @@ part_api_urls = [ re_path(r'^.*$', PartParameterTemplateList.as_view(), name='api-part-parameter-template-list'), ])), - re_path(r'^(?P\d+)/', PartParameterDetail.as_view(), name='api-part-parameter-detail'), + path(r'/', PartParameterDetail.as_view(), name='api-part-parameter-detail'), re_path(r'^.*$', PartParameterList.as_view(), name='api-part-parameter-list'), ])), @@ -2021,7 +1971,7 @@ part_api_urls = [ re_path(r'^.*$', PartStocktakeReportList.as_view(), name='api-part-stocktake-report-list'), ])), - re_path(r'^(?P\d+)/', PartStocktakeDetail.as_view(), name='api-part-stocktake-detail'), + path(r'/', PartStocktakeDetail.as_view(), name='api-part-stocktake-detail'), re_path(r'^.*$', PartStocktakeList.as_view(), name='api-part-stocktake-list'), ])), @@ -2033,7 +1983,7 @@ part_api_urls = [ # BOM template re_path(r'^bom_template/?', views.BomUploadTemplate.as_view(), name='api-bom-upload-template'), - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ # Endpoint for extra serial number information re_path(r'^serial-numbers/', PartSerialNumberDetail.as_view(), name='api-part-serial-number-detail'), @@ -2073,14 +2023,14 @@ bom_api_urls = [ re_path(r'^substitute/', include([ # Detail view - re_path(r'^(?P\d+)/', BomItemSubstituteDetail.as_view(), name='api-bom-substitute-detail'), + path(r'/', BomItemSubstituteDetail.as_view(), name='api-bom-substitute-detail'), # Catch all re_path(r'^.*$', BomItemSubstituteList.as_view(), name='api-bom-substitute-list'), ])), # BOM Item Detail - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ re_path(r'^validate/?', BomItemValidate.as_view(), name='api-bom-item-validate'), re_path(r'^metadata/?', BomItemMetadata.as_view(), name='api-bom-item-metadata'), re_path(r'^.*$', BomDetail.as_view(), name='api-bom-item-detail'), diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 9d103b0bcf..caaf46aa16 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -37,7 +37,6 @@ import common.settings import InvenTree.fields import InvenTree.ready import InvenTree.tasks -import part.filters as part_filters import part.settings as part_settings from build import models as BuildModels from common.models import InvenTreeSetting @@ -1223,6 +1222,9 @@ class Part(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel): @property def can_build(self): """Return the number of units that can be build with available stock.""" + + import part.filters + # If this part does NOT have a BOM, result is simply the currently available stock if not self.has_bom: return 0 @@ -1246,9 +1248,9 @@ class Part(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel): # Annotate the 'available stock' for each part in the BOM ref = 'sub_part__' queryset = queryset.alias( - total_stock=part_filters.annotate_total_stock(reference=ref), - so_allocations=part_filters.annotate_sales_order_allocations(reference=ref), - bo_allocations=part_filters.annotate_build_order_allocations(reference=ref), + total_stock=part.filters.annotate_total_stock(reference=ref), + so_allocations=part.filters.annotate_sales_order_allocations(reference=ref), + bo_allocations=part.filters.annotate_build_order_allocations(reference=ref), ) # Calculate the 'available stock' based on previous annotations @@ -1262,9 +1264,9 @@ class Part(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel): # Extract similar information for any 'substitute' parts ref = 'substitutes__part__' queryset = queryset.alias( - sub_total_stock=part_filters.annotate_total_stock(reference=ref), - sub_so_allocations=part_filters.annotate_sales_order_allocations(reference=ref), - sub_bo_allocations=part_filters.annotate_build_order_allocations(reference=ref), + sub_total_stock=part.filters.annotate_total_stock(reference=ref), + sub_so_allocations=part.filters.annotate_sales_order_allocations(reference=ref), + sub_bo_allocations=part.filters.annotate_build_order_allocations(reference=ref), ) queryset = queryset.annotate( @@ -1275,12 +1277,12 @@ class Part(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel): ) # Extract similar information for any 'variant' parts - variant_stock_query = part_filters.variant_stock_query(reference='sub_part__') + variant_stock_query = part.filters.variant_stock_query(reference='sub_part__') queryset = queryset.alias( - var_total_stock=part_filters.annotate_variant_quantity(variant_stock_query, reference='quantity'), - var_bo_allocations=part_filters.annotate_variant_quantity(variant_stock_query, reference='allocations__quantity'), - var_so_allocations=part_filters.annotate_variant_quantity(variant_stock_query, reference='sales_order_allocations__quantity'), + var_total_stock=part.filters.annotate_variant_quantity(variant_stock_query, reference='quantity'), + var_bo_allocations=part.filters.annotate_variant_quantity(variant_stock_query, reference='allocations__quantity'), + var_so_allocations=part.filters.annotate_variant_quantity(variant_stock_query, reference='sales_order_allocations__quantity'), ) queryset = queryset.annotate( @@ -2083,6 +2085,16 @@ class Part(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel): return tests + def getTestTemplateMap(self, **kwargs): + """Return a map of all test templates associated with this Part""" + + templates = {} + + for template in self.getTestTemplates(**kwargs): + templates[template.key] = template + + return templates + def getRequiredTests(self): """Return the tests which are required by this part""" return self.getTestTemplates(required=True) diff --git a/InvenTree/part/templates/part/category.html b/InvenTree/part/templates/part/category.html index 408d261c29..7370a10db6 100644 --- a/InvenTree/part/templates/part/category.html +++ b/InvenTree/part/templates/part/category.html @@ -183,11 +183,6 @@
  • {% trans "Order Parts" %}
  • - {% if report_enabled %} -
  • - {% trans "Print Labels" %} -
  • - {% endif %} {% include "filter_list.html" with id="parts" %} diff --git a/InvenTree/part/templates/part/detail.html b/InvenTree/part/templates/part/detail.html index 372eecd076..f9ddf2652a 100644 --- a/InvenTree/part/templates/part/detail.html +++ b/InvenTree/part/templates/part/detail.html @@ -548,7 +548,7 @@ deleteManufacturerParts(selections, { success: function() { - $("#manufacturer-part-table").bootstrapTable("refresh"); + $("#manufacturer-part-table").bootstrapTable('refresh'); } }); }); @@ -558,7 +558,7 @@ createManufacturerPart({ part: {{ part.pk }}, onSuccess: function() { - $("#manufacturer-part-table").bootstrapTable("refresh"); + $("#manufacturer-part-table").bootstrapTable('refresh'); } }); }); @@ -677,7 +677,11 @@ {% if report_enabled %} $("#print-bom-report").click(function() { - printBomReports([{{ part.pk }}]); + printReports({ + items: [{{ part.pk }}], + key: 'part', + url: '{% url "api-bom-report-list" %}' + }); }); {% endif %} }); @@ -709,9 +713,7 @@ }, focus: 'part_2', title: '{% trans "Add Related Part" %}', - onSuccess: function() { - $('#related-parts-table').bootstrapTable('refresh'); - } + refreshTable: '#related-parts-table', }); }); @@ -797,9 +799,7 @@ part: {{ part.pk }} }), title: '{% trans "Add Test Result Template" %}', - onSuccess: function() { - $("#test-template-table").bootstrapTable("refresh"); - } + refreshTable: '#test-template-table', }); }); }); @@ -870,9 +870,7 @@ data: {}, }, title: '{% trans "Add Parameter" %}', - onSuccess: function() { - $('#parameter-table').bootstrapTable('refresh'); - } + refreshTable: '#parameter-table', }); }); {% endif %} @@ -906,20 +904,6 @@ } } }); - - enableDragAndDrop( - '#attachment-dropzone', - '{% url "api-part-attachment-list" %}', - { - data: { - part: {{ part.id }}, - }, - label: 'attachment', - success: function(data, status, xhr) { - reloadAttachmentTable(); - } - } - ); }); onPanelLoad('pricing', function() { diff --git a/InvenTree/part/templates/part/part_base.html b/InvenTree/part/templates/part/part_base.html index 691e3c20a7..f7be28565b 100644 --- a/InvenTree/part/templates/part/part_base.html +++ b/InvenTree/part/templates/part/part_base.html @@ -475,7 +475,11 @@ {% if labels_enabled %} $('#print-label').click(function() { - printPartLabels([{{ part.pk }}]); + printLabels({ + items: [{{ part.pk }}], + key: 'part', + url: '{% url "api-part-label-list" %}', + }); }); {% endif %} diff --git a/InvenTree/part/templatetags/status_codes.py b/InvenTree/part/templatetags/status_codes.py index d3811c38f5..9eef869678 100644 --- a/InvenTree/part/templatetags/status_codes.py +++ b/InvenTree/part/templatetags/status_codes.py @@ -4,7 +4,8 @@ from django import template from django.utils.safestring import mark_safe from InvenTree.status_codes import (BuildStatus, PurchaseOrderStatus, - SalesOrderStatus, StockStatus) + ReturnOrderStatus, SalesOrderStatus, + StockStatus) register = template.Library() @@ -21,6 +22,12 @@ def sales_order_status_label(key, *args, **kwargs): return mark_safe(SalesOrderStatus.render(key, large=kwargs.get('large', False))) +@register.simple_tag +def return_order_status_label(key, *args, **kwargs): + """Render a ReturnOrder status label""" + return mark_safe(ReturnOrderStatus.render(key, large=kwargs.get('large', False))) + + @register.simple_tag def stock_status_label(key, *args, **kwargs): """Render a StockItem status label.""" diff --git a/InvenTree/part/urls.py b/InvenTree/part/urls.py index 9cd5cafbec..6654c3a9ea 100644 --- a/InvenTree/part/urls.py +++ b/InvenTree/part/urls.py @@ -6,7 +6,7 @@ - Display / Create / Edit / Delete SupplierPart """ -from django.urls import include, re_path +from django.urls import include, path, re_path from . import views @@ -35,7 +35,7 @@ part_urls = [ re_path(r'^import-api/', views.PartImportAjax.as_view(), name='api-part-import'), # Individual part using pk - re_path(r'^(?P\d+)/', include(part_detail_urls)), + path(r'/', include(part_detail_urls)), # Part category re_path(r'^category/', include(category_urls)), diff --git a/InvenTree/plugin/api.py b/InvenTree/plugin/api.py index 029cf2b20e..aedc2195cc 100644 --- a/InvenTree/plugin/api.py +++ b/InvenTree/plugin/api.py @@ -1,6 +1,6 @@ """API for the plugin app.""" -from django.urls import include, re_path +from django.urls import include, path, re_path from django_filters.rest_framework import DjangoFilterBackend from rest_framework import filters, permissions, status @@ -255,7 +255,7 @@ plugin_api_urls = [ ])), # Detail views for a single PluginConfig item - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ re_path(r'^settings/(?P\w+)/', PluginSettingDetail.as_view(), name='api-plugin-setting-detail-pk'), re_path(r'^activate/', PluginActivate.as_view(), name='api-plugin-detail-activate'), re_path(r'^.*$', PluginDetail.as_view(), name='api-plugin-detail'), diff --git a/InvenTree/report/admin.py b/InvenTree/report/admin.py index adf813aede..94acf89e98 100644 --- a/InvenTree/report/admin.py +++ b/InvenTree/report/admin.py @@ -3,7 +3,8 @@ from django.contrib import admin from .models import (BillOfMaterialsReport, BuildReport, PurchaseOrderReport, - ReportAsset, ReportSnippet, SalesOrderReport, TestReport) + ReportAsset, ReportSnippet, ReturnOrderReport, + SalesOrderReport, TestReport) class ReportTemplateAdmin(admin.ModelAdmin): @@ -28,4 +29,5 @@ admin.site.register(TestReport, ReportTemplateAdmin) admin.site.register(BuildReport, ReportTemplateAdmin) admin.site.register(BillOfMaterialsReport, ReportTemplateAdmin) admin.site.register(PurchaseOrderReport, ReportTemplateAdmin) +admin.site.register(ReturnOrderReport, ReportTemplateAdmin) admin.site.register(SalesOrderReport, ReportTemplateAdmin) diff --git a/InvenTree/report/api.py b/InvenTree/report/api.py index f4b9ac335c..e3c9820931 100644 --- a/InvenTree/report/api.py +++ b/InvenTree/report/api.py @@ -24,9 +24,10 @@ from plugin.serializers import MetadataSerializer from stock.models import StockItem, StockItemAttachment from .models import (BillOfMaterialsReport, BuildReport, PurchaseOrderReport, - SalesOrderReport, TestReport) + ReturnOrderReport, SalesOrderReport, TestReport) from .serializers import (BOMReportSerializer, BuildReportSerializer, PurchaseOrderReportSerializer, + ReturnOrderReportSerializer, SalesOrderReportSerializer, TestReportSerializer) @@ -423,6 +424,31 @@ class SalesOrderReportPrint(SalesOrderReportMixin, ReportPrintMixin, RetrieveAPI pass +class ReturnOrderReportMixin(ReportFilterMixin): + """Mixin for the ReturnOrderReport report template""" + + ITEM_MODEL = order.models.ReturnOrder + ITEM_KEY = 'order' + + queryset = ReturnOrderReport.objects.all() + serializer_class = ReturnOrderReportSerializer + + +class ReturnOrderReportList(ReturnOrderReportMixin, ReportListView): + """API list endpoint for the ReturnOrderReport model""" + pass + + +class ReturnOrderReportDetail(ReturnOrderReportMixin, RetrieveUpdateDestroyAPI): + """API endpoint for a single ReturnOrderReport object""" + pass + + +class ReturnOrderReportPrint(ReturnOrderReportMixin, ReportPrintMixin, RetrieveAPI): + """API endpoint for printing a ReturnOrderReport object""" + pass + + class ReportMetadata(RetrieveUpdateAPI): """API endpoint for viewing / updating Report metadata.""" MODEL_REF = 'reportmodel' @@ -453,7 +479,7 @@ report_api_urls = [ # Purchase order reports re_path(r'po/', include([ # Detail views - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ re_path(r'print/', PurchaseOrderReportPrint.as_view(), name='api-po-report-print'), re_path(r'metadata/', ReportMetadata.as_view(), {ReportMetadata.MODEL_REF: PurchaseOrderReport}, name='api-po-report-metadata'), path('', PurchaseOrderReportDetail.as_view(), name='api-po-report-detail'), @@ -466,7 +492,7 @@ report_api_urls = [ # Sales order reports re_path(r'so/', include([ # Detail views - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ re_path(r'print/', SalesOrderReportPrint.as_view(), name='api-so-report-print'), re_path(r'metadata/', ReportMetadata.as_view(), {ReportMetadata.MODEL_REF: SalesOrderReport}, name='api-so-report-metadata'), path('', SalesOrderReportDetail.as_view(), name='api-so-report-detail'), @@ -475,10 +501,19 @@ report_api_urls = [ path('', SalesOrderReportList.as_view(), name='api-so-report-list'), ])), + # Return order reports + re_path(r'return-order/', include([ + path(r'/', include([ + path(r'print/', ReturnOrderReportPrint.as_view(), name='api-return-order-report-print'), + path('', ReturnOrderReportDetail.as_view(), name='api-return-order-report-detail'), + ])), + path('', ReturnOrderReportList.as_view(), name='api-return-order-report-list'), + ])), + # Build reports re_path(r'build/', include([ # Detail views - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ re_path(r'print/?', BuildReportPrint.as_view(), name='api-build-report-print'), re_path(r'metadata/', ReportMetadata.as_view(), {ReportMetadata.MODEL_REF: BuildReport}, name='api-build-report-metadata'), re_path(r'^.$', BuildReportDetail.as_view(), name='api-build-report-detail'), @@ -492,7 +527,7 @@ report_api_urls = [ re_path(r'bom/', include([ # Detail views - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ re_path(r'print/?', BOMReportPrint.as_view(), name='api-bom-report-print'), re_path(r'metadata/', ReportMetadata.as_view(), {ReportMetadata.MODEL_REF: BillOfMaterialsReport}, name='api-bom-report-metadata'), re_path(r'^.*$', BOMReportDetail.as_view(), name='api-bom-report-detail'), @@ -505,7 +540,7 @@ report_api_urls = [ # Stock item test reports re_path(r'test/', include([ # Detail views - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ re_path(r'print/?', StockItemTestReportPrint.as_view(), name='api-stockitem-testreport-print'), re_path(r'metadata/', ReportMetadata.as_view(), {ReportMetadata.MODEL_REF: TestReport}, name='api-stockitem-testreport-metadata'), re_path(r'^.*$', StockItemTestReportDetail.as_view(), name='api-stockitem-testreport-detail'), diff --git a/InvenTree/report/apps.py b/InvenTree/report/apps.py index 63c994fa87..64eb80702a 100644 --- a/InvenTree/report/apps.py +++ b/InvenTree/report/apps.py @@ -8,8 +8,6 @@ from pathlib import Path from django.apps import AppConfig from django.conf import settings -from InvenTree.ready import canAppAccessDatabase - logger = logging.getLogger("inventree") @@ -19,12 +17,21 @@ class ReportConfig(AppConfig): def ready(self): """This function is called whenever the report app is loaded.""" + + from InvenTree.ready import canAppAccessDatabase + + # Configure logging for PDF generation (disable "info" messages) + logging.getLogger('fontTools').setLevel(logging.WARNING) + logging.getLogger('weasyprint').setLevel(logging.WARNING) + + # Create entries for default report templates if canAppAccessDatabase(allow_test=True): self.create_default_test_reports() self.create_default_build_reports() self.create_default_bill_of_materials_reports() self.create_default_purchase_order_reports() self.create_default_sales_order_reports() + self.create_default_return_order_reports() def create_default_reports(self, model, reports): """Copy defualt report files across to the media directory.""" @@ -174,3 +181,23 @@ class ReportConfig(AppConfig): ] self.create_default_reports(SalesOrderReport, reports) + + def create_default_return_order_reports(self): + """Create database entries for the default ReturnOrderReport templates""" + + try: + from report.models import ReturnOrderReport + except Exception: # pragma: no cover + # Database not yet ready + return + + # List of templates to copy across + reports = [ + { + 'file': 'inventree_return_order_report.html', + 'name': 'InvenTree Return Order', + 'description': 'Return Order example report', + } + ] + + self.create_default_reports(ReturnOrderReport, reports) diff --git a/InvenTree/report/migrations/0018_returnorderreport.py b/InvenTree/report/migrations/0018_returnorderreport.py new file mode 100644 index 0000000000..8bdbb6ebe8 --- /dev/null +++ b/InvenTree/report/migrations/0018_returnorderreport.py @@ -0,0 +1,31 @@ +# Generated by Django 3.2.18 on 2023-03-15 11:17 + +import django.core.validators +from django.db import migrations, models +import report.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('report', '0017_auto_20230317_0816'), + ] + + operations = [ + migrations.CreateModel( + name='ReturnOrderReport', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(help_text='Template name', max_length=100, verbose_name='Name')), + ('template', models.FileField(help_text='Report template file', upload_to=report.models.rename_template, validators=[django.core.validators.FileExtensionValidator(allowed_extensions=['html', 'htm'])], verbose_name='Template')), + ('description', models.CharField(help_text='Report template description', max_length=250, verbose_name='Description')), + ('revision', models.PositiveIntegerField(default=1, editable=False, help_text='Report revision number (auto-increments)', verbose_name='Revision')), + ('filename_pattern', models.CharField(default='report.pdf', help_text='Pattern for generating report filenames', max_length=100, verbose_name='Filename Pattern')), + ('enabled', models.BooleanField(default=True, help_text='Report template is enabled', verbose_name='Enabled')), + ('filters', models.CharField(blank=True, help_text='Return order query filters', max_length=250, validators=[report.models.validate_return_order_filters], verbose_name='Filters')), + ], + options={ + 'abstract': False, + }, + ), + ] diff --git a/InvenTree/report/migrations/0019_returnorderreport_metadata.py b/InvenTree/report/migrations/0019_returnorderreport_metadata.py new file mode 100644 index 0000000000..993f4045d5 --- /dev/null +++ b/InvenTree/report/migrations/0019_returnorderreport_metadata.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.18 on 2023-03-23 11:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('report', '0018_returnorderreport'), + ] + + operations = [ + migrations.AddField( + model_name='returnorderreport', + name='metadata', + field=models.JSONField(blank=True, help_text='JSON metadata field, for use by external plugins', null=True, verbose_name='Plugin Metadata'), + ), + ] diff --git a/InvenTree/report/models.py b/InvenTree/report/models.py index 4e645c1c6d..9776fb0077 100644 --- a/InvenTree/report/models.py +++ b/InvenTree/report/models.py @@ -68,6 +68,11 @@ def validate_sales_order_filters(filters): return validateFilterString(filters, model=order.models.SalesOrder) +def validate_return_order_filters(filters): + """Validate filter string against ReturnOrder model""" + return validateFilterString(filters, model=order.models.ReturnOrder) + + class WeasyprintReportMixin(WeasyTemplateResponseMixin): """Class for rendering a HTML template to a PDF.""" @@ -303,6 +308,30 @@ class TestReport(ReportTemplateBase): return items.exists() + def get_test_keys(self, stock_item): + """Construct a flattened list of test 'keys' for this StockItem: + + - First, any 'required' tests + - Second, any 'non required' tests + - Finally, any test results which do not match a test + """ + + keys = [] + + for test in stock_item.part.getTestTemplates(required=True): + if test.key not in keys: + keys.append(test.key) + + for test in stock_item.part.getTestTemplates(required=False): + if test.key not in keys: + keys.append(test.key) + + for result in stock_item.testResultList(include_installed=self.include_installed): + if result.key not in keys: + keys.append(result.key) + + return list(keys) + def get_context_data(self, request): """Return custom context data for the TestReport template""" stock_item = self.object_to_print @@ -312,6 +341,9 @@ class TestReport(ReportTemplateBase): 'serial': stock_item.serial, 'part': stock_item.part, 'parameters': stock_item.part.parameters_map(), + 'test_keys': self.get_test_keys(stock_item), + 'test_template_list': stock_item.part.getTestTemplates(), + 'test_template_map': stock_item.part.getTestTemplateMap(), 'results': stock_item.testResultMap(include_installed=self.include_installed), 'result_list': stock_item.testResultList(include_installed=self.include_installed), 'installed_items': stock_item.get_installed_items(cascade=True), @@ -468,6 +500,45 @@ class SalesOrderReport(ReportTemplateBase): } +class ReturnOrderReport(ReportTemplateBase): + """Render a custom report against a ReturnOrder object""" + + @staticmethod + def get_api_url(): + """Return the API URL associated with the ReturnOrderReport model""" + return reverse('api-return-order-report-list') + + @classmethod + def getSubdir(cls): + """Return the directory where the ReturnOrderReport templates are stored""" + return 'returnorder' + + filters = models.CharField( + blank=True, + max_length=250, + verbose_name=_('Filters'), + help_text=_('Return order query filters'), + validators=[ + validate_return_order_filters, + ] + ) + + def get_context_data(self, request): + """Return custom context data for the ReturnOrderReport template""" + + order = self.object_to_print + + return { + 'order': order, + 'description': order.description, + 'reference': order.reference, + 'customer': order.customer, + 'lines': order.lines, + 'extra_lines': order.extra_lines, + 'title': str(order), + } + + def rename_snippet(instance, filename): """Function to rename a report snippet once uploaded""" diff --git a/InvenTree/report/serializers.py b/InvenTree/report/serializers.py index 155da6e7cc..330279834f 100644 --- a/InvenTree/report/serializers.py +++ b/InvenTree/report/serializers.py @@ -4,99 +4,83 @@ from InvenTree.serializers import (InvenTreeAttachmentSerializerField, InvenTreeModelSerializer) from .models import (BillOfMaterialsReport, BuildReport, PurchaseOrderReport, - SalesOrderReport, TestReport) + ReturnOrderReport, SalesOrderReport, TestReport) -class TestReportSerializer(InvenTreeModelSerializer): +class ReportSerializerBase(InvenTreeModelSerializer): + """Base class for report serializer""" + + template = InvenTreeAttachmentSerializerField(required=True) + + @staticmethod + def report_fields(): + """Generic serializer fields for a report template""" + + return [ + 'pk', + 'name', + 'description', + 'template', + 'filters', + 'enabled', + ] + + +class TestReportSerializer(ReportSerializerBase): """Serializer class for the TestReport model""" class Meta: """Metaclass options.""" model = TestReport - fields = [ - 'pk', - 'name', - 'description', - 'template', - 'filters', - 'enabled', - ] - - template = InvenTreeAttachmentSerializerField(required=True) + fields = ReportSerializerBase.report_fields() -class BuildReportSerializer(InvenTreeModelSerializer): +class BuildReportSerializer(ReportSerializerBase): """Serializer class for the BuildReport model""" class Meta: """Metaclass options.""" model = BuildReport - fields = [ - 'pk', - 'name', - 'description', - 'template', - 'filters', - 'enabled', - ] - - template = InvenTreeAttachmentSerializerField(required=True) + fields = ReportSerializerBase.report_fields() -class BOMReportSerializer(InvenTreeModelSerializer): +class BOMReportSerializer(ReportSerializerBase): """Serializer class for the BillOfMaterialsReport model""" class Meta: """Metaclass options.""" model = BillOfMaterialsReport - fields = [ - 'pk', - 'name', - 'description', - 'template', - 'filters', - 'enabled', - ] - - template = InvenTreeAttachmentSerializerField(required=True) + fields = ReportSerializerBase.report_fields() -class PurchaseOrderReportSerializer(InvenTreeModelSerializer): +class PurchaseOrderReportSerializer(ReportSerializerBase): """Serializer class for the PurchaseOrdeReport model""" class Meta: """Metaclass options.""" model = PurchaseOrderReport - fields = [ - 'pk', - 'name', - 'description', - 'template', - 'filters', - 'enabled', - ] - - template = InvenTreeAttachmentSerializerField(required=True) + fields = ReportSerializerBase.report_fields() -class SalesOrderReportSerializer(InvenTreeModelSerializer): +class SalesOrderReportSerializer(ReportSerializerBase): """Serializer class for the SalesOrderReport model""" class Meta: """Metaclass options.""" model = SalesOrderReport - fields = [ - 'pk', - 'name', - 'description', - 'template', - 'filters', - 'enabled', - ] + fields = ReportSerializerBase.report_fields() - template = InvenTreeAttachmentSerializerField(required=True) + +class ReturnOrderReportSerializer(ReportSerializerBase): + """Serializer class for the ReturnOrderReport model""" + + class Meta: + """Metaclass options""" + + model = ReturnOrderReport + fields = ReportSerializerBase.report_fields() diff --git a/InvenTree/report/templates/report/inventree_order_report_base.html b/InvenTree/report/templates/report/inventree_order_report_base.html new file mode 100644 index 0000000000..f9adc114cd --- /dev/null +++ b/InvenTree/report/templates/report/inventree_order_report_base.html @@ -0,0 +1,70 @@ +{% extends "report/inventree_report_base.html" %} + +{% load i18n %} +{% load report %} +{% load barcode %} +{% load inventree_extras %} +{% load markdownify %} + +{% block page_margin %} +margin: 2cm; +margin-top: 4cm; +{% endblock %} + +{% block bottom_left %} +content: "v{{report_revision}} - {{ date.isoformat }}"; +{% endblock %} + +{% block bottom_center %} +content: "{% inventree_version shortstring=True %}"; +{% endblock %} + +{% block style %} + +.header-right { + text-align: right; + float: right; +} + +.logo { + height: 20mm; + vertical-align: middle; +} + +.thumb-container { + width: 32px; + display: inline; +} + + +.part-thumb { + max-width: 32px; + max-height: 32px; + display: inline; +} + +.part-text { + display: inline; +} + +table { + border: 1px solid #eee; + border-radius: 3px; + border-collapse: collapse; + width: 100%; + font-size: 80%; +} + +table td { + border: 1px solid #eee; +} + +table td.shrink { + white-space: nowrap +} + +table td.expand { + width: 99% +} + +{% endblock %} diff --git a/InvenTree/report/templates/report/inventree_po_report_base.html b/InvenTree/report/templates/report/inventree_po_report_base.html index 0aa77f6c3b..d6c5ee3ee3 100644 --- a/InvenTree/report/templates/report/inventree_po_report_base.html +++ b/InvenTree/report/templates/report/inventree_po_report_base.html @@ -1,72 +1,10 @@ -{% extends "report/inventree_report_base.html" %} +{% extends "report/inventree_order_report_base.html" %} {% load i18n %} {% load report %} {% load barcode %} {% load inventree_extras %} - -{% block page_margin %} -margin: 2cm; -margin-top: 4cm; -{% endblock %} - -{% block bottom_left %} -content: "v{{report_revision}} - {{ date.isoformat }}"; -{% endblock %} - -{% block bottom_center %} -content: "{% inventree_version shortstring=True %}"; -{% endblock %} - -{% block style %} - -.header-right { - text-align: right; - float: right; -} - -.logo { - height: 20mm; - vertical-align: middle; -} - -.thumb-container { - width: 32px; - display: inline; -} - - -.part-thumb { - max-width: 32px; - max-height: 32px; - display: inline; -} - -.part-text { - display: inline; -} - -table { - border: 1px solid #eee; - border-radius: 3px; - border-collapse: collapse; - width: 100%; - font-size: 80%; -} - -table td { - border: 1px solid #eee; -} - -table td.shrink { - white-space: nowrap -} - -table td.expand { - width: 99% -} - -{% endblock %} +{% load markdownify %} {% block header_content %} diff --git a/InvenTree/report/templates/report/inventree_return_order_report.html b/InvenTree/report/templates/report/inventree_return_order_report.html new file mode 100644 index 0000000000..cece937a0e --- /dev/null +++ b/InvenTree/report/templates/report/inventree_return_order_report.html @@ -0,0 +1 @@ +{% extends "report/inventree_return_order_report_base.html" %} diff --git a/InvenTree/report/templates/report/inventree_return_order_report_base.html b/InvenTree/report/templates/report/inventree_return_order_report_base.html new file mode 100644 index 0000000000..93b2f30c06 --- /dev/null +++ b/InvenTree/report/templates/report/inventree_return_order_report_base.html @@ -0,0 +1,62 @@ +{% extends "report/inventree_order_report_base.html" %} + +{% load i18n %} +{% load report %} +{% load barcode %} +{% load inventree_extras %} +{% load markdownify %} + +{% block header_content %} + + +
    +

    {% trans "Return Order" %} {{ prefix }}{{ reference }}

    + {% if customer %}{{ customer.name }}{% endif %} +
    +{% endblock header_content %} + +{% block page_content %} +

    {% trans "Line Items" %}

    + + + + + + + + + + + + {% for line in lines.all %} + + + + + + + {% endfor %} + + {% if extra_lines %} + + {% for line in extra_lines.all %} + + + + + + + {% endfor %} + {% endif %} + + +
    {% trans "Part" %}{% trans "Serial Number" %}{% trans "Reference" %}{% trans "Note" %}
    +
    + +
    +
    + {{ line.item.part.full_name }} +
    +
    {{ line.item.serial }}{{ line.reference }}{{ line.notes }}
    {% trans "Extra Line Items" %}
    {{ line.reference }}{{ line.notes }}
    + +{% endblock page_content %} diff --git a/InvenTree/report/templates/report/inventree_so_report_base.html b/InvenTree/report/templates/report/inventree_so_report_base.html index 4869a5453c..7ee4ca0edd 100644 --- a/InvenTree/report/templates/report/inventree_so_report_base.html +++ b/InvenTree/report/templates/report/inventree_so_report_base.html @@ -1,4 +1,4 @@ -{% extends "report/inventree_report_base.html" %} +{% extends "report/inventree_order_report_base.html" %} {% load i18n %} {% load report %} @@ -6,69 +6,6 @@ {% load inventree_extras %} {% load markdownify %} -{% block page_margin %} -margin: 2cm; -margin-top: 4cm; -{% endblock %} - -{% block bottom_left %} -content: "v{{report_revision}} - {{ date.isoformat }}"; -{% endblock %} - -{% block bottom_center %} -content: "{% inventree_version shortstring=True %}"; -{% endblock %} - -{% block style %} - -.header-right { - text-align: right; - float: right; -} - -.logo { - height: 20mm; - vertical-align: middle; -} - -.thumb-container { - width: 32px; - display: inline; -} - - -.part-thumb { - max-width: 32px; - max-height: 32px; - display: inline; -} - -.part-text { - display: inline; -} - -table { - border: 1px solid #eee; - border-radius: 3px; - border-collapse: collapse; - width: 100%; - font-size: 80%; -} - -table td { - border: 1px solid #eee; -} - -table td.shrink { - white-space: nowrap -} - -table td.expand { - width: 99% -} - -{% endblock %} - {% block header_content %} diff --git a/InvenTree/report/templates/report/inventree_test_report_base.html b/InvenTree/report/templates/report/inventree_test_report_base.html index 7074cb0ca6..fbb5f34d3f 100644 --- a/InvenTree/report/templates/report/inventree_test_report_base.html +++ b/InvenTree/report/templates/report/inventree_test_report_base.html @@ -33,6 +33,15 @@ content: "{% trans 'Stock Item Test Report' %}"; color: #F55; } +.test-not-found { + color: #33A; +} + +.required-test-not-found { + color: #EEE; + background-color: #F55; +} + .container { padding: 5px; border: 1px solid; @@ -84,7 +93,7 @@ content: "{% trans 'Stock Item Test Report' %}"; -{% if resul_list|length > 0 %} +{% if test_keys|length > 0 %}

    {% trans "Test Results" %}

    @@ -101,22 +110,44 @@ content: "{% trans 'Stock Item Test Report' %}"; - {% for test in result_list %} + {% for key in test_keys %} + + {% getkey test_template_map key as test_template %} + {% getkey results key as test_result %} - - {% if test.result %} + + {% if test_result %} + {% if test_result.result %} {% else %} {% endif %} - - - + + + + {% else %} + {% if test_template.required %} + + {% else %} + + {% endif %} + {% endif %} {% endfor %}

    {{ test.test }} + {% if test_template %} + {% render_html_text test_template.test_name bold=test_template.required %} + {% elif test_result %} + {% render_html_text test_result.test italic=True %} + {% else %} + + {{ key }} + {% endif %} + {% trans "Pass" %}{% trans "Fail" %}{{ test.value }}{{ test.user.username }}{{ test.date.date.isoformat }}{{ test_result.value }}{{ test_result.user.username }}{{ test_result.date.date.isoformat }}{% trans "No result (required)" %}{% trans "No result" %}
    +{% else %} +No tests defined for this stock item {% endif %} {% if installed_items|length > 0 %} diff --git a/InvenTree/report/templatetags/report.py b/InvenTree/report/templatetags/report.py index 474cb8fa02..c7f3365c04 100644 --- a/InvenTree/report/templatetags/report.py +++ b/InvenTree/report/templatetags/report.py @@ -19,17 +19,52 @@ logger = logging.getLogger('inventree') @register.simple_tag() -def getkey(value: dict, arg): +def getindex(container: list, index: int): + """Return the value contained at the specified index of the list. + + This function is provideed to get around template rendering limitations. + + Arguments: + container: A python list object + index: The index to retrieve from the list + """ + + # Index *must* be an integer + try: + index = int(index) + except ValueError: + return None + + if index < 0 or index >= len(container): + return None + + try: + value = container[index] + except IndexError: + value = None + + return value + + +@register.simple_tag() +def getkey(container: dict, key): """Perform key lookup in the provided dict object. This function is provided to get around template rendering limitations. Ref: https://stackoverflow.com/questions/1906129/dict-keys-with-spaces-in-django-templates Arguments: - value: A python dict object - arg: The 'key' to be found within the dict + container: A python dict object + key: The 'key' to be found within the dict """ - return value[arg] + if type(container) is not dict: + logger.warning("getkey() called with non-dict object") + return None + + if key in container: + return container[key] + else: + return None @register.simple_tag() @@ -215,3 +250,31 @@ def render_currency(money, **kwargs): """Render a currency / Money object""" return InvenTree.helpers.render_currency(money, **kwargs) + + +@register.simple_tag +def render_html_text(text: str, **kwargs): + """Render a text item with some simple html tags. + + kwargs: + bold: Boolean, whether bold (or not) + italic: Boolean, whether italic (or not) + heading: str, heading level e.g. 'h3' + """ + + tags = [] + + if kwargs.get('bold', False): + tags.append('strong') + + if kwargs.get('italic', False): + tags.append('em') + + if heading := kwargs.get('heading', ''): + tags.append(heading) + + output = ''.join([f'<{tag}>' for tag in tags]) + output += text + output += ''.join([f'' for tag in tags]) + + return mark_safe(output) diff --git a/InvenTree/report/tests.py b/InvenTree/report/tests.py index 27327c1d22..90b72f3980 100644 --- a/InvenTree/report/tests.py +++ b/InvenTree/report/tests.py @@ -29,6 +29,20 @@ class ReportTagTest(TestCase): """Enable or disable debug mode for reports""" InvenTreeSetting.set_setting('REPORT_DEBUG_MODE', value, change_user=None) + def test_getindex(self): + """Tests for the 'getindex' template tag""" + + fn = report_tags.getindex + data = [1, 2, 3, 4, 5, 6] + + # Out of bounds or invalid + self.assertEqual(fn(data, -1), None) + self.assertEqual(fn(data, 99), None) + self.assertEqual(fn(data, 'xx'), None) + + for idx in range(len(data)): + self.assertEqual(fn(data, idx), data[idx]) + def test_getkey(self): """Tests for the 'getkey' template tag""" @@ -419,7 +433,7 @@ class BOMReportTest(ReportTest): class PurchaseOrderReportTest(ReportTest): - """Unit test class fort he PurchaseOrderReport model""" + """Unit test class for the PurchaseOrderReport model""" model = report_models.PurchaseOrderReport list_url = 'api-po-report-list' @@ -446,3 +460,18 @@ class SalesOrderReportTest(ReportTest): self.copyReportTemplate('inventree_so_report.html', 'sales order report') return super().setUp() + + +class ReturnOrderReportTest(ReportTest): + """Unit tests for the ReturnOrderReport model""" + + model = report_models.ReturnOrderReport + list_url = 'api-return-order-report-list' + detail_url = 'api-return-order-report-detail' + print_url = 'api-return-order-report-print' + + def setUp(self): + """Setup function for the ReturnOrderReport tests""" + self.copyReportTemplate('inventree_return_order_report.html', 'return order report') + + return super().setUp() diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 1c1429cf0e..36355881c5 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -30,8 +30,10 @@ from InvenTree.helpers import (DownloadFile, extract_serial_numbers, isNull, from InvenTree.mixins import (CreateAPI, CustomRetrieveUpdateDestroyAPI, ListAPI, ListCreateAPI, RetrieveAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) -from order.models import PurchaseOrder, SalesOrder, SalesOrderAllocation -from order.serializers import PurchaseOrderSerializer +from order.models import (PurchaseOrder, ReturnOrder, SalesOrder, + SalesOrderAllocation) +from order.serializers import (PurchaseOrderSerializer, ReturnOrderSerializer, + SalesOrderSerializer) from part.models import BomItem, Part, PartCategory from part.serializers import PartBriefSerializer from plugin.serializers import MetadataSerializer @@ -1262,7 +1264,7 @@ class StockTrackingList(ListAPI): except Exception: pass - # Add purchaseorder detail + # Add PurchaseOrder detail if 'purchaseorder' in deltas: try: order = PurchaseOrder.objects.get(pk=deltas['purchaseorder']) @@ -1271,6 +1273,24 @@ class StockTrackingList(ListAPI): except Exception: pass + # Add SalesOrder detail + if 'salesorder' in deltas: + try: + order = SalesOrder.objects.get(pk=deltas['salesorder']) + serializer = SalesOrderSerializer(order) + deltas['salesorder_detail'] = serializer.data + except Exception: + pass + + # Add ReturnOrder detail + if 'returnorder' in deltas: + try: + order = ReturnOrder.objects.get(pk=deltas['returnorder']) + serializer = ReturnOrderSerializer(order) + deltas['returnorder_detail'] = serializer.data + except Exception: + pass + if request.is_ajax(): return JsonResponse(data, safe=False) else: @@ -1368,7 +1388,7 @@ stock_api_urls = [ re_path(r'^tree/', StockLocationTree.as_view(), name='api-location-tree'), # Stock location detail endpoints - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ re_path(r'^metadata/', LocationMetadata.as_view(), name='api-location-metadata'), @@ -1388,24 +1408,24 @@ stock_api_urls = [ # StockItemAttachment API endpoints re_path(r'^attachment/', include([ - re_path(r'^(?P\d+)/', StockAttachmentDetail.as_view(), name='api-stock-attachment-detail'), + path(r'/', StockAttachmentDetail.as_view(), name='api-stock-attachment-detail'), path('', StockAttachmentList.as_view(), name='api-stock-attachment-list'), ])), # StockItemTestResult API endpoints re_path(r'^test/', include([ - re_path(r'^(?P\d+)/', StockItemTestResultDetail.as_view(), name='api-stock-test-result-detail'), + path(r'/', StockItemTestResultDetail.as_view(), name='api-stock-test-result-detail'), re_path(r'^.*$', StockItemTestResultList.as_view(), name='api-stock-test-result-list'), ])), # StockItemTracking API endpoints re_path(r'^track/', include([ - re_path(r'^(?P\d+)/', StockTrackingDetail.as_view(), name='api-stock-tracking-detail'), + path(r'/', StockTrackingDetail.as_view(), name='api-stock-tracking-detail'), re_path(r'^.*$', StockTrackingList.as_view(), name='api-stock-tracking-list'), ])), # Detail views for a single stock item - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ re_path(r'^convert/', StockItemConvert.as_view(), name='api-stock-item-convert'), re_path(r'^install/', StockItemInstall.as_view(), name='api-stock-item-install'), re_path(r'^metadata/', StockMetadata.as_view(), name='api-stock-item-metadata'), diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 2f25b84354..ed3f727514 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -457,8 +457,6 @@ class StockItem(InvenTreeBarcodeMixin, MetadataMixin, common.models.MetaMixin, M if old.status != self.status: deltas['status'] = self.status - # TODO - Other interesting changes we are interested in... - if add_note and len(deltas) > 0: self.add_tracking_entry( StockHistoryCode.EDITED, @@ -960,17 +958,22 @@ class StockItem(InvenTreeBarcodeMixin, MetadataMixin, common.models.MetaMixin, M item.customer = customer item.location = None - item.save() + item.save(add_note=False) - # TODO - Remove any stock item allocations from this stock item + code = StockHistoryCode.SENT_TO_CUSTOMER + deltas = { + 'customer': customer.pk, + 'customer_name': customer.pk, + } + + if order: + code = StockHistoryCode.SHIPPED_AGAINST_SALES_ORDER + deltas['salesorder'] = order.pk item.add_tracking_entry( - StockHistoryCode.SENT_TO_CUSTOMER, + code, user, - { - 'customer': customer.id, - 'customer_name': customer.name, - }, + deltas, notes=notes, ) @@ -992,7 +995,9 @@ class StockItem(InvenTreeBarcodeMixin, MetadataMixin, common.models.MetaMixin, M """ notes = kwargs.get('notes', '') - tracking_info = {} + tracking_info = { + 'location': location.pk, + } if self.customer: tracking_info['customer'] = self.customer.id diff --git a/InvenTree/stock/templates/stock/item.html b/InvenTree/stock/templates/stock/item.html index 3bf9799c56..71df55c5b1 100644 --- a/InvenTree/stock/templates/stock/item.html +++ b/InvenTree/stock/templates/stock/item.html @@ -222,30 +222,18 @@ ); }); - enableDragAndDrop( - '#attachment-dropzone', - "{% url 'api-stock-attachment-list' %}", - { - data: { - stock_item: {{ item.id }}, - }, - label: 'attachment', - success: function(data, status, xhr) { - reloadAttachmentTable(); + onPanelLoad('attachments', function() { + loadAttachmentTable('{% url "api-stock-attachment-list" %}', { + filters: { + stock_item: {{ item.pk }}, + }, + fields: { + stock_item: { + value: {{ item.pk }}, + hidden: true, } } - ); - - loadAttachmentTable('{% url "api-stock-attachment-list" %}', { - filters: { - stock_item: {{ item.pk }}, - }, - fields: { - stock_item: { - value: {{ item.pk }}, - hidden: true, - } - } + }); }); loadStockTestResultsTable( @@ -255,12 +243,12 @@ } ); - function reloadTable() { - $("#test-result-table").bootstrapTable("refresh"); - } - $("#test-report").click(function() { - printTestReports([{{ item.pk }}]); + printReports({ + items: [{{ item.pk }}], + key: 'item', + url: '{% url "api-stockitem-testreport-list" %}', + }); }); {% if user.is_staff %} @@ -299,7 +287,7 @@ method: 'DELETE', title: '{% trans "Delete Test Data" %}', preFormContent: html, - onSuccess: reloadTable, + refreshTable: '#test-result-table', }); } } @@ -315,7 +303,7 @@ stock_item: {{ item.pk }}, }), title: '{% trans "Add Test Result" %}', - onSuccess: reloadTable, + refreshTable: '#test-result-table', }); }); diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index 049c0973c7..f897d7405c 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -493,11 +493,19 @@ $('#stock-uninstall').click(function() { }); $("#stock-test-report").click(function() { - printTestReports([{{ item.pk }}]); + printReports({ + items: [{{ item.pk }}], + key: 'item', + url: '{% url "api-stockitem-testreport-list" %}', + }); }); $("#print-label").click(function() { - printStockItemLabels([{{ item.pk }}]); + printLabels({ + items: [{{ item.pk }}], + url: '{% url "api-stockitem-label-list" %}', + key: 'item', + }); }); {% if roles.stock.change %} diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index 716e23bdf9..de742fa7ee 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -228,17 +228,6 @@
    - - {% if labels_enabled %} - - {% endif %} {% include "filter_list.html" with id="location" %}
    @@ -299,21 +288,11 @@ var locs = [{{ location.pk }}]; - printStockLocationLabels(locs); - - }); - - $('#multi-location-print-label').click(function() { - - var selections = getTableData('#sublocation-table'); - - var locations = []; - - selections.forEach(function(loc) { - locations.push(loc.pk); + printLabels({ + items: locs, + key: 'location', + url: '{% url "api-stocklocation-label-list" %}', }); - - printStockLocationLabels(locations); }); {% endif %} diff --git a/InvenTree/stock/tests.py b/InvenTree/stock/tests.py index bb3fe10ce8..c3d870b605 100644 --- a/InvenTree/stock/tests.py +++ b/InvenTree/stock/tests.py @@ -491,7 +491,7 @@ class StockTest(StockTestBase): # Check that a tracking item was added track = StockItemTracking.objects.filter(item=ait).latest('id') - self.assertEqual(track.tracking_type, StockHistoryCode.SENT_TO_CUSTOMER) + self.assertEqual(track.tracking_type, StockHistoryCode.SHIPPED_AGAINST_SALES_ORDER) self.assertIn('Allocated some stock', track.notes) def test_return_from_customer(self): diff --git a/InvenTree/stock/urls.py b/InvenTree/stock/urls.py index b8912b3ca2..37ea1ce6d9 100644 --- a/InvenTree/stock/urls.py +++ b/InvenTree/stock/urls.py @@ -1,12 +1,12 @@ """URL lookup for Stock app.""" -from django.urls import include, re_path +from django.urls import include, path, re_path from stock import views location_urls = [ - re_path(r'^(?P\d+)/', include([ + path(r'/', include([ # Anything else - direct to the location detail view re_path('^.*$', views.StockLocationDetail.as_view(), name='stock-location-detail'), ])), diff --git a/InvenTree/templates/InvenTree/notifications/notifications.html b/InvenTree/templates/InvenTree/notifications/notifications.html index 460f747191..db9593cf23 100644 --- a/InvenTree/templates/InvenTree/notifications/notifications.html +++ b/InvenTree/templates/InvenTree/notifications/notifications.html @@ -75,9 +75,7 @@ $('#history-delete').click(function() { multi_delete: true, preFormContent: html, title: '{% trans "Delete Notifications" %}', - onSuccess: function() { - $('#history-table').bootstrapTable('refresh'); - }, + refreshTable: '#history-table', form_data: { filters: { read: true, @@ -88,7 +86,7 @@ $('#history-delete').click(function() { }); $("#history-table").on('click', '.notification-delete', function() { - constructForm(`/api/notifications/${$(this).attr('pk')}/`, { + constructForm(`{% url "api-notifications-list" %}${$(this).attr('pk')}/`, { method: 'DELETE', title: '{% trans "Delete Notification" %}', onSuccess: function(data) { diff --git a/InvenTree/templates/InvenTree/settings/returns.html b/InvenTree/templates/InvenTree/settings/returns.html new file mode 100644 index 0000000000..48092c0e7a --- /dev/null +++ b/InvenTree/templates/InvenTree/settings/returns.html @@ -0,0 +1,20 @@ +{% extends "panel.html" %} +{% load i18n %} + +{% block label %}return-order{% endblock %} + +{% block heading %} +{% trans "Return Order Settings" %} +{% endblock %} + +{% block content %} + + + + {% include "InvenTree/settings/setting.html" with key="RETURNORDER_ENABLED" icon="fa-check-circle" %} + {% include "InvenTree/settings/setting.html" with key="RETURNORDER_REFERENCE_PATTERN" %} + {% include "InvenTree/settings/setting.html" with key="RETURNORDER_EDIT_COMPLETED_ORDERS" icon="fa-edit" %} + +
    + +{% endblock %} diff --git a/InvenTree/templates/InvenTree/settings/settings.html b/InvenTree/templates/InvenTree/settings/settings.html index b427da7c44..128efa932b 100644 --- a/InvenTree/templates/InvenTree/settings/settings.html +++ b/InvenTree/templates/InvenTree/settings/settings.html @@ -42,6 +42,7 @@ {% include "InvenTree/settings/build.html" %} {% include "InvenTree/settings/po.html" %} {% include "InvenTree/settings/so.html" %} +{% include "InvenTree/settings/returns.html" %} {% include "InvenTree/settings/plugin.html" %} {% plugin_list as pl_list %} diff --git a/InvenTree/templates/InvenTree/settings/settings_staff_js.html b/InvenTree/templates/InvenTree/settings/settings_staff_js.html index 3da3bd804f..3e6ccd1f0e 100644 --- a/InvenTree/templates/InvenTree/settings/settings_staff_js.html +++ b/InvenTree/templates/InvenTree/settings/settings_staff_js.html @@ -284,9 +284,7 @@ onPanelLoad('parts', function() { }, method: 'POST', title: '{% trans "Create Part Parameter Template" %}', - onSuccess: function() { - $("#param-table").bootstrapTable('refresh'); - }, + refreshTable: '#param-table', }); }); @@ -303,9 +301,7 @@ onPanelLoad('parts', function() { description: {}, }, title: '{% trans "Edit Part Parameter Template" %}', - onSuccess: function() { - $("#param-table").bootstrapTable('refresh'); - }, + refreshTable: '#param-table', } ); }); @@ -325,9 +321,7 @@ onPanelLoad('parts', function() { method: 'DELETE', preFormContent: html, title: '{% trans "Delete Part Parameter Template" %}', - onSuccess: function() { - $("#param-table").bootstrapTable('refresh'); - }, + refreshTable: '#param-table', } ); }); diff --git a/InvenTree/templates/InvenTree/settings/sidebar.html b/InvenTree/templates/InvenTree/settings/sidebar.html index cbfe275de0..3ba4aa1d47 100644 --- a/InvenTree/templates/InvenTree/settings/sidebar.html +++ b/InvenTree/templates/InvenTree/settings/sidebar.html @@ -52,6 +52,8 @@ {% include "sidebar_item.html" with label='purchase-order' text=text icon="fa-shopping-cart" %} {% trans "Sales Orders" as text %} {% include "sidebar_item.html" with label='sales-order' text=text icon="fa-truck" %} +{% trans "Return Orders" as text %} +{% include "sidebar_item.html" with label='return-order' text=text icon="fa-undo" %} {% trans "Plugin Settings" as text %} {% include "sidebar_header.html" with text=text %} diff --git a/InvenTree/templates/InvenTree/settings/user_search.html b/InvenTree/templates/InvenTree/settings/user_search.html index 2cd18f9641..25a507c682 100644 --- a/InvenTree/templates/InvenTree/settings/user_search.html +++ b/InvenTree/templates/InvenTree/settings/user_search.html @@ -28,6 +28,8 @@ {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_EXCLUDE_INACTIVE_PURCHASE_ORDERS" user_setting=True icon='fa-eye-slash' %} {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_SHOW_SALES_ORDERS" user_setting=True icon='fa-truck' %} {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_EXCLUDE_INACTIVE_SALES_ORDERS" user_setting=True icon='fa-eye-slash' %} + {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_SHOW_RETURN_ORDERS" user_setting=True icon='fa-truck' %} + {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_EXCLUDE_INACTIVE_RETURN_ORDERS" user_setting=True icon='fa-eye-slash' %} {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_RESULTS" user_setting=True icon='fa-search' %} diff --git a/InvenTree/templates/base.html b/InvenTree/templates/base.html index e2dcdaa768..7dcf7ea7ba 100644 --- a/InvenTree/templates/base.html +++ b/InvenTree/templates/base.html @@ -5,6 +5,7 @@ {% plugins_enabled as plugins_enabled %} {% settings_value 'BARCODE_ENABLE' as barcodes %} {% settings_value 'REPORT_ENABLE_TEST_REPORT' as test_report_enabled %} +{% settings_value 'RETURNORDER_ENABLED' as return_order_enabled %} {% settings_value "REPORT_ENABLE" as report_enabled %} {% settings_value "SERVER_RESTART_REQUIRED" as server_restart_required %} {% settings_value "LABEL_ENABLE" as labels_enabled %} @@ -164,8 +165,12 @@ + + + + diff --git a/InvenTree/templates/email/return_order_received.html b/InvenTree/templates/email/return_order_received.html new file mode 100644 index 0000000000..46ff982e90 --- /dev/null +++ b/InvenTree/templates/email/return_order_received.html @@ -0,0 +1,11 @@ +{% extends "email/email.html" %} + +{% load i18n %} +{% load inventree_extras %} + +{% block title %} +{{ message }} +{% if link %} +

    {% trans "Click on the following link to view this order" %}: {{ link }}

    +{% endif %} +{% endblock title %} diff --git a/InvenTree/templates/js/dynamic/calendar.js b/InvenTree/templates/js/dynamic/calendar.js index 0b0ccc2915..4041f9a952 100644 --- a/InvenTree/templates/js/dynamic/calendar.js +++ b/InvenTree/templates/js/dynamic/calendar.js @@ -14,18 +14,24 @@ * Helper functions for calendar display */ +/* + * Extract the first displayed date on the calendar + */ function startDate(calendar) { - // Extract the first displayed date on the calendar return calendar.currentData.dateProfile.activeRange.start.toISOString().split('T')[0]; } +/* + * Extract the last display date on the calendar + */ function endDate(calendar) { - // Extract the last display date on the calendar return calendar.currentData.dateProfile.activeRange.end.toISOString().split('T')[0]; } +/* + * Remove all events from the calendar + */ function clearEvents(calendar) { - // Remove all events from the calendar var events = calendar.getEvents(); diff --git a/InvenTree/templates/js/translated/api.js b/InvenTree/templates/js/translated/api.js index 0bb8b2b2ea..89203eda66 100644 --- a/InvenTree/templates/js/translated/api.js +++ b/InvenTree/templates/js/translated/api.js @@ -40,8 +40,17 @@ function getCookie(name) { return cookieValue; } + +/* + * Perform a GET request to the InvenTree server + */ function inventreeGet(url, filters={}, options={}) { + if (!url) { + console.error('inventreeGet called without url'); + return; + } + // Middleware token required for data update var csrftoken = getCookie('csrftoken'); @@ -78,14 +87,20 @@ function inventreeGet(url, filters={}, options={}) { }); } + +/* Upload via AJAX using the FormData approach. + * + * Note that the following AJAX parameters are required for FormData upload + * + * processData: false + * contentType: false + */ function inventreeFormDataUpload(url, data, options={}) { - /* Upload via AJAX using the FormData approach. - * - * Note that the following AJAX parameters are required for FormData upload - * - * processData: false - * contentType: false - */ + + if (!url) { + console.error('inventreeFormDataUpload called without url'); + return; + } // CSRF cookie token var csrftoken = getCookie('csrftoken'); @@ -116,8 +131,17 @@ function inventreeFormDataUpload(url, data, options={}) { }); } + +/* + * Perform a PUT or PATCH request to the InvenTree server + */ function inventreePut(url, data={}, options={}) { + if (!url) { + console.error('inventreePut called without url'); + return; + } + var method = options.method || 'PUT'; // Middleware token required for data update @@ -164,6 +188,11 @@ function inventreePut(url, data={}, options={}) { */ function inventreeDelete(url, options={}) { + if (!url) { + console.error('inventreeDelete called without url'); + return; + } + options = options || {}; options.method = 'DELETE'; diff --git a/InvenTree/templates/js/translated/attachment.js b/InvenTree/templates/js/translated/attachment.js index 2ef3018123..5435db98dc 100644 --- a/InvenTree/templates/js/translated/attachment.js +++ b/InvenTree/templates/js/translated/attachment.js @@ -1,15 +1,14 @@ {% load i18n %} /* globals - makeIconButton, renderLink, + wrapButtons, */ /* exported attachmentLink, addAttachmentButtonCallbacks, - loadAttachmentTable, - reloadAttachmentTable, + loadAttachmentTable */ @@ -35,7 +34,7 @@ function addAttachmentButtonCallbacks(url, fields={}) { constructForm(url, { fields: file_fields, method: 'POST', - onSuccess: reloadAttachmentTable, + refreshTable: '#attachment-table', title: '{% trans "Add Attachment" %}', }); }); @@ -57,7 +56,7 @@ function addAttachmentButtonCallbacks(url, fields={}) { constructForm(url, { fields: link_fields, method: 'POST', - onSuccess: reloadAttachmentTable, + refreshTable: '#attachment-table', title: '{% trans "Add Link" %}', }); }); @@ -79,9 +78,9 @@ function deleteAttachments(attachments, url, options={}) { var icon = ''; if (attachment.filename) { - icon = ``; + icon = makeIcon(attachmentIcon(attachment.filename), ''); } else if (attachment.link) { - icon = ``; + icon = makeIcon('fa-link', ''); } return ` @@ -123,29 +122,15 @@ function deleteAttachments(attachments, url, options={}) { items: ids, filters: options.filters, }, - onSuccess: function() { - // Refresh the table once all attachments are deleted - $('#attachment-table').bootstrapTable('refresh'); - } + refreshTable: '#attachment-table', }); } -function reloadAttachmentTable() { - - $('#attachment-table').bootstrapTable('refresh'); -} - - /* - * Render a link (with icon) to an internal attachment (file) + * Return a particular icon based on filename extension */ -function attachmentLink(filename) { - - if (!filename) { - return null; - } - +function attachmentIcon(filename) { // Default file icon (if no better choice is found) let icon = 'fa-file-alt'; let fn = filename.toLowerCase(); @@ -171,10 +156,25 @@ function attachmentLink(filename) { }); } - let split = filename.split('/'); - fn = split[split.length - 1]; + return icon; +} - let html = ` ${fn}`; + +/* + * Render a link (with icon) to an internal attachment (file) + */ +function attachmentLink(filename) { + + if (!filename) { + return null; + } + + let split = filename.split('/'); + let fn = split[split.length - 1]; + + let icon = attachmentIcon(filename); + + let html = makeIcon(icon) + ` ${fn}`; return renderLink(html, filename, {download: true}); @@ -271,7 +271,7 @@ function loadAttachmentTable(url, options) { delete opts.fields.link; } }, - onSuccess: reloadAttachmentTable, + refreshTable: '#attachment-table', title: '{% trans "Edit Attachment" %}', }); }); @@ -299,7 +299,7 @@ function loadAttachmentTable(url, options) { if (row.attachment) { return attachmentLink(row.attachment); } else if (row.link) { - var html = ` ${row.link}`; + let html = makeIcon('fa-link') + ` ${row.link}`; return renderLink(html, row.link); } else { return '-'; @@ -327,13 +327,10 @@ function loadAttachmentTable(url, options) { { field: 'actions', formatter: function(value, row) { - var html = ''; - - html = `
    `; + let buttons = ''; if (permissions.change) { - html += makeIconButton( - 'fa-edit icon-blue', + buttons += makeEditButton( 'button-attachment-edit', row.pk, '{% trans "Edit attachment" %}', @@ -341,19 +338,30 @@ function loadAttachmentTable(url, options) { } if (permissions.delete) { - html += makeIconButton( - 'fa-trash-alt icon-red', + buttons += makeDeleteButton( 'button-attachment-delete', row.pk, '{% trans "Delete attachment" %}', ); } - html += `
    `; - - return html; + return wrapButtons(buttons); } } ] }); + + // Enable drag-and-drop functionality + enableDragAndDrop( + '#attachment-dropzone', + url, + { + data: options.filters, + label: 'attachment', + method: 'POST', + success: function() { + reloadBootstrapTable('#attachment-table'); + } + } + ); } diff --git a/InvenTree/templates/js/translated/barcode.js b/InvenTree/templates/js/translated/barcode.js index 8e75e9efb6..c8213e41da 100644 --- a/InvenTree/templates/js/translated/barcode.js +++ b/InvenTree/templates/js/translated/barcode.js @@ -3,7 +3,6 @@ /* globals imageHoverIcon, inventreePut, - makeIconButton, modalEnable, modalSetContent, modalSetTitle, @@ -43,11 +42,11 @@ function makeBarcodeInput(placeholderText='', hintText='') {
    - + ${makeIcon('fa-qrcode')}
    ${hintText}
    @@ -132,7 +131,7 @@ function makeNotesField(options={}) {
    - + ${makeIcon('fa-sticky-note')}
    @@ -149,7 +148,7 @@ function postBarcodeData(barcode_data, options={}) { var modal = options.modal || '#modal-form'; - var url = options.url || '/api/barcode/'; + var url = options.url || '{% url "api-barcode-scan" %}'; var data = options.data || {}; @@ -462,7 +461,7 @@ function unlinkBarcode(data, options={}) { accept_text: '{% trans "Unlink" %}', accept: function() { inventreePut( - '/api/barcode/unlink/', + '{% url "api-barcode-unlink" %}', data, { method: 'POST', @@ -521,7 +520,7 @@ function barcodeCheckInStockItems(location_id, options={}) { ${imageHoverIcon(item.part_detail.thumbnail)} ${item.part_detail.name} ${location_info} ${item.quantity} - ${makeIconButton('fa-times-circle icon-red', 'button-item-remove', item.pk, '{% trans "Remove stock item" %}')} + ${makeRemoveButton('button-item-remove', item.pk, '{% trans "Remove stock item" %}')} `; }); @@ -691,7 +690,7 @@ function barcodeCheckInStockLocations(location_id, options={}) { if ('stocklocation' in response) { var pk = response.stocklocation.pk; - var url = `/api/stock/location/${pk}/`; + var url = `{% url "api-location-list" %}${pk}/`; // Move the scanned location into *this* location inventreePut( @@ -812,7 +811,7 @@ function scanItemsIntoLocation(item_list, options={}) { var pk = response.stocklocation.pk; - inventreeGet(`/api/stock/location/${pk}/`, {}, { + inventreeGet(`{% url "api-location-list" %}${pk}/`, {}, { success: function(response) { stock_location = response; diff --git a/InvenTree/templates/js/translated/bom.js b/InvenTree/templates/js/translated/bom.js index 9ee63099b4..23e6a028c8 100644 --- a/InvenTree/templates/js/translated/bom.js +++ b/InvenTree/templates/js/translated/bom.js @@ -96,12 +96,12 @@ function constructBomUploadTable(data, options={}) { var optional = constructRowField('optional'); var note = constructRowField('note'); - var buttons = `
    `; + let buttons = ''; - buttons += makeIconButton('fa-info-circle', 'button-row-data', idx, '{% trans "Display row data" %}'); - buttons += makeIconButton('fa-times icon-red', 'button-row-remove', idx, '{% trans "Remove row" %}'); + buttons += makeInfoButton('button-row-data', idx, '{% trans "Display row data" %}'); + buttons += makeRemoveButton('button-row-remove', idx, '{% trans "Remove row" %}'); - buttons += `
    `; + buttons = wrapButtons(buttons); var html = ` @@ -557,7 +557,7 @@ function bomSubstitutesDialog(bom_item_id, substitutes, options={}) { var buttons = ''; - buttons += makeIconButton('fa-times icon-red', 'button-row-remove', pk, '{% trans "Remove substitute part" %}'); + buttons += makeRemoveButton('button-row-remove', pk, '{% trans "Remove substitute part" %}'); // Render a single row var html = ` @@ -626,7 +626,7 @@ function bomSubstitutesDialog(bom_item_id, substitutes, options={}) {
    `; - constructForm(`/api/bom/substitute/${pk}/`, { + constructForm(`{% url "api-bom-substitute-list" %}${pk}/`, { method: 'DELETE', title: '{% trans "Remove Substitute Part" %}', preFormContent: pre, @@ -785,9 +785,7 @@ function loadBomTable(table, options={}) { filters = loadTableFilters('bom'); } - for (var key in params) { - filters[key] = params[key]; - } + Object.assign(filters, params); setupFilterList('bom', $(table)); @@ -1142,7 +1140,7 @@ function loadBomTable(table, options={}) { } if (available_stock <= 0) { - text += ``; + text += makeIconBadge('fa-times-circle icon-red', '{% trans "No Stock Available" %}'); } else { var extra = ''; @@ -1160,7 +1158,10 @@ function loadBomTable(table, options={}) { } if (row.on_order && row.on_order > 0) { - text += ``; + text += makeIconBadge( + 'fa-shopping-cart', + `{% trans "On Order" %}: ${row.on_order}`, + ); } return renderLink(text, url); @@ -1242,11 +1243,10 @@ function loadBomTable(table, options={}) { var bSubs = makeIconButton('fa-exchange-alt icon-blue', 'bom-substitutes-button', row.pk, '{% trans "Edit substitute parts" %}'); - var bEdit = makeIconButton('fa-edit icon-blue', 'bom-edit-button', row.pk, '{% trans "Edit BOM Item" %}'); + var bEdit = makeEditButton('bom-edit-button', row.pk, '{% trans "Edit BOM Item" %}'); - var bDelt = makeIconButton('fa-trash-alt icon-red', 'bom-delete-button', row.pk, '{% trans "Delete BOM Item" %}'); + var bDelt = makeDeleteButton('bom-delete-button', row.pk, '{% trans "Delete BOM Item" %}'); - var html = `
    `; if (!row.validated) { html += bValidate; @@ -1254,13 +1254,13 @@ function loadBomTable(table, options={}) { html += bValid; } - html += bEdit; - html += bSubs; - html += bDelt; + var buttons = ''; + buttons += bEdit; + buttons += bSubs; + buttons += bDelt; - html += `
    `; + return wrapButtons(buttons); - return html; } else { // Return a link to the external BOM @@ -1273,7 +1273,7 @@ function loadBomTable(table, options={}) { footerFormatter: function(data) { return ` `; } @@ -1436,7 +1436,7 @@ function loadBomTable(table, options={}) { var fields = bomItemFields(); - constructForm(`/api/bom/${pk}/`, { + constructForm(`{% url "api-bom-list" %}${pk}/`, { fields: fields, title: '{% trans "Edit BOM Item" %}', focus: 'sub_part', @@ -1508,15 +1508,7 @@ function loadUsedInTable(table, part_id, options={}) { params.part_detail = true; params.sub_part_detail = true; - var filters = {}; - - if (!options.disableFilters) { - filters = loadTableFilters('usedin'); - } - - for (var key in params) { - filters[key] = params[key]; - } + var filters = loadTableFilters('usedin', params); setupFilterList('usedin', $(table), options.filterTarget || '#filter-list-usedin'); diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index 8e91ce3855..9af3d66299 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -90,7 +90,7 @@ function editBuildOrder(pk) { var fields = buildFormFields(); - constructForm(`/api/build/${pk}/`, { + constructForm(`{% url "api-build-list" %}${pk}/`, { fields: fields, reload: true, title: '{% trans "Edit Build Order" %}', @@ -147,7 +147,7 @@ function newBuildOrder(options={}) { */ function duplicateBuildOrder(build_id, options={}) { - inventreeGet(`/api/build/${build_id}/`, {}, { + inventreeGet(`{% url "api-build-list" %}${build_id}/`, {}, { success: function(data) { // Clear out data we do not want to be duplicated delete data['pk']; @@ -166,7 +166,7 @@ function duplicateBuildOrder(build_id, options={}) { function cancelBuildOrder(build_id, options={}) { constructForm( - `/api/build/${build_id}/cancel/`, + `{% url "api-build-list" %}${build_id}/cancel/`, { method: 'POST', title: '{% trans "Cancel Build Order" %}', @@ -208,7 +208,7 @@ function cancelBuildOrder(build_id, options={}) { /* Construct a form to "complete" (finish) a build order */ function completeBuildOrder(build_id, options={}) { - constructForm(`/api/build/${build_id}/finish/`, { + constructForm(`{% url "api-build-list" %}${build_id}/finish/`, { fieldsFunction: function(opts) { var ctx = opts.context || {}; @@ -287,7 +287,7 @@ function createBuildOutput(build_id, options) { // Request build order information from the server inventreeGet( - `/api/build/${build_id}/`, + `{% url "api-build-list" %}${build_id}/`, {}, { success: function(build) { @@ -312,7 +312,7 @@ function createBuildOutput(build_id, options) { }; // Work out the next available serial numbers - inventreeGet(`/api/part/${build.part}/serial-numbers/`, {}, { + inventreeGet(`{% url "api-part-list" %}${build.part}/serial-numbers/`, {}, { success: function(data) { if (data.next) { fields.serial_numbers.placeholder = `{% trans "Next available serial number" %}: ${data.next}`; @@ -341,7 +341,7 @@ function createBuildOutput(build_id, options) { `; } - constructForm(`/api/build/${build_id}/create-output/`, { + constructForm(`{% url "api-build-list" %}${build_id}/create-output/`, { method: 'POST', title: '{% trans "Create Build Output" %}', confirm: true, @@ -364,7 +364,7 @@ function createBuildOutput(build_id, options) { */ function makeBuildOutputButtons(output_id, build_info, options={}) { - var html = `
    `; + var html = ''; // Tracked parts? Must be individually allocated if (options.has_bom_items) { @@ -398,17 +398,13 @@ function makeBuildOutputButtons(output_id, build_info, options={}) { ); // Add a button to "delete" this build output - html += makeIconButton( - 'fa-trash-alt icon-red', + html += makeDeleteButton( 'button-output-delete', output_id, '{% trans "Delete build output" %}', ); - html += `
    `; - - return html; - + return wrapButtons(html); } @@ -421,7 +417,7 @@ function makeBuildOutputButtons(output_id, build_info, options={}) { */ function unallocateStock(build_id, options={}) { - var url = `/api/build/${build_id}/unallocate/`; + var url = `{% url "api-build-list" %}${build_id}/unallocate/`; var html = `
    @@ -486,7 +482,7 @@ function completeBuildOutputs(build_id, outputs, options={}) { var buttons = `
    `; - buttons += makeIconButton('fa-times icon-red', 'button-row-remove', pk, '{% trans "Remove row" %}'); + buttons += makeRemoveButton('button-row-remove', pk, '{% trans "Remove row" %}'); buttons += '
    '; @@ -529,7 +525,7 @@ function completeBuildOutputs(build_id, outputs, options={}) { `; - constructForm(`/api/build/${build_id}/complete/`, { + constructForm(`{% url "api-build-list" %}${build_id}/complete/`, { method: 'POST', preFormContent: html, fields: { @@ -647,7 +643,7 @@ function deleteBuildOutputs(build_id, outputs, options={}) { var buttons = `
    `; - buttons += makeIconButton('fa-times icon-red', 'button-row-remove', pk, '{% trans "Remove row" %}'); + buttons += makeRemoveButton('button-row-remove', pk, '{% trans "Remove row" %}'); buttons += '
    '; @@ -690,7 +686,7 @@ function deleteBuildOutputs(build_id, outputs, options={}) { `; - constructForm(`/api/build/${build_id}/delete-outputs/`, { + constructForm(`{% url "api-build-list" %}${build_id}/delete-outputs/`, { method: 'POST', preFormContent: html, fields: {}, @@ -768,11 +764,7 @@ function loadBuildOrderAllocationTable(table, options={}) { options.params['location_detail'] = true; options.params['stock_detail'] = true; - var filters = loadTableFilters('buildorderallocation'); - - for (var key in options.params) { - filters[key] = options.params[key]; - } + var filters = loadTableFilters('buildorderallocation', options.params); setupFilterList('buildorderallocation', $(table)); @@ -893,7 +885,12 @@ function loadBuildOutputTable(build_info, options={}) { filters[key] = params[key]; } - setupFilterList('builditems', $(table), options.filterTarget || '#filter-list-incompletebuilditems'); + setupFilterList('builditems', $(table), options.filterTarget || '#filter-list-incompletebuilditems', { + labels: { + url: '{% url "api-stockitem-label-list" %}', + key: 'item', + } + }); function setupBuildOutputButtonCallbacks() { @@ -1407,19 +1404,6 @@ function loadBuildOutputTable(build_info, options={}) { ); }); - // Print stock item labels - $('#incomplete-output-print-label').click(function() { - var outputs = getTableData(table); - - var stock_id_values = []; - - outputs.forEach(function(output) { - stock_id_values.push(output.pk); - }); - - printStockItemLabels(stock_id_values); - }); - $('#outputs-expand').click(function() { $(table).bootstrapTable('expandAllRows'); }); @@ -1482,13 +1466,7 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { } // Filters - var filters = loadTableFilters('builditems'); - - var params = options.params || {}; - - for (var key in params) { - filters[key] = params[key]; - } + let filters = loadTableFilters('builditems', options.params); setupFilterList('builditems', $(table), options.filterTarget); @@ -1703,6 +1681,8 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { name: 'build-allocation', uniqueId: 'sub_part', search: options.search || false, + queryParams: filters, + original: options.params, onPostBody: function(data) { // Setup button callbacks setupCallbacks(); @@ -1796,15 +1776,13 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { var pk = row.pk; - var html = `
    `; + var html = ''; - html += makeIconButton('fa-edit icon-blue', 'button-allocation-edit', pk, '{% trans "Edit stock allocation" %}'); + html += makeEditButton('button-allocation-edit', pk, '{% trans "Edit stock allocation" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-allocation-delete', pk, '{% trans "Delete stock allocation" %}'); + html += makeDeleteButton('button-allocation-delete', pk, '{% trans "Delete stock allocation" %}'); - html += `
    `; - - return html; + return wrapButtons(html); } } ] @@ -1814,7 +1792,7 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { subTable.find('.button-allocation-edit').click(function() { var pk = $(this).attr('pk'); - constructForm(`/api/build/item/${pk}/`, { + constructForm(`{% url "api-build-item-list" %}${pk}/`, { fields: { quantity: {}, }, @@ -1826,7 +1804,7 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { subTable.find('.button-allocation-delete').click(function() { var pk = $(this).attr('pk'); - constructForm(`/api/build/item/${pk}/`, { + constructForm(`{% url "api-build-item-list" %}${pk}/`, { method: 'DELETE', title: '{% trans "Remove Allocation" %}', onSuccess: reloadAllocationData, @@ -1935,9 +1913,9 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { icons += ``; } else { if (available_stock < (required - allocated)) { - icons += ``; + icons += makeIconBadge('fa-times-circle icon-red', '{% trans "Insufficient stock available" %}'); } else { - icons += ``; + icons += makeIconBadge('fa-check-circle icon-green', '{% trans "Sufficient stock available" %}'); } if (available_stock <= 0) { @@ -1953,13 +1931,15 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { } if (extra) { - icons += ``; + icons += makeInfoButton('fa-info-circle icon-blue', extra); } } } if (row.on_order && row.on_order > 0) { - icons += ``; + makeIconBadge('fa-shopping-cart', '{% trans "On Order" %}', { + content: row.on_order, + }); } return renderLink(text, url) + icons; @@ -2027,7 +2007,7 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { } // Generate action buttons for this build output - var html = `
    `; + let html = ''; if (allocatedQuantity(row) < requiredQuantity(row)) { if (row.sub_part_detail.assembly) { @@ -2041,17 +2021,16 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { html += makeIconButton('fa-sign-in-alt icon-green', 'button-add', row.sub_part, '{% trans "Allocate stock" %}'); } - html += makeIconButton( - 'fa-minus-circle icon-red', 'button-unallocate', row.sub_part, + html += makeRemoveButton( + 'button-unallocate', + row.sub_part, '{% trans "Unallocate stock" %}', { disabled: allocatedQuantity(row) == 0, } ); - html += '
    '; - - return html; + return wrapButtons(html); } }, ] @@ -2093,7 +2072,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { if (output_id) { // Request information on the particular build output (stock item) - inventreeGet(`/api/stock/${output_id}/`, {}, { + inventreeGet(`{% url "api-stock-list" %}${output_id}/`, {}, { success: function(output) { if (output.quantity == 1 && output.serial != null) { auto_fill_filters.serial = output.serial; @@ -2112,8 +2091,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { var delete_button = `
    `; - delete_button += makeIconButton( - 'fa-times icon-red', + delete_button += makeRemoveButton( 'button-row-remove', pk, '{% trans "Remove row" %}', @@ -2245,7 +2223,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { `; - constructForm(`/api/build/${build_id}/allocate/`, { + constructForm(`{% url "api-build-list" %}${build_id}/allocate/`, { method: 'POST', fields: {}, preFormContent: html, @@ -2459,7 +2437,7 @@ function autoAllocateStockToBuild(build_id, bom_items=[], options={}) { }, }; - constructForm(`/api/build/${build_id}/auto-allocate/`, { + constructForm(`{% url "api-build-list" %}${build_id}/auto-allocate/`, { method: 'POST', fields: fields, title: '{% trans "Allocate Stock Items" %}', @@ -2484,21 +2462,19 @@ function loadBuildTable(table, options) { var params = options.params || {}; - var filters = {}; - params['part_detail'] = true; - if (!options.disableFilters) { - filters = loadTableFilters('build'); - } - - for (var key in params) { - filters[key] = params[key]; - } + var filters = loadTableFilters('build', params); var filterTarget = options.filterTarget || null; - setupFilterList('build', table, filterTarget, {download: true}); + setupFilterList('build', table, filterTarget, { + download: true, + report: { + url: '{% url "api-build-report-list" %}', + key: 'build', + } + }); // Which display mode to use for the build table? var display_mode = inventreeLoad('build-table-display-mode', 'list'); diff --git a/InvenTree/templates/js/translated/company.js b/InvenTree/templates/js/translated/company.js index 7d50a5d6c6..f5393909d2 100644 --- a/InvenTree/templates/js/translated/company.js +++ b/InvenTree/templates/js/translated/company.js @@ -4,23 +4,26 @@ constructForm, imageHoverIcon, loadTableFilters, - makeIconButton, renderLink, setupFilterList, */ /* exported createCompany, + createContact, createManufacturerPart, createSupplierPart, createSupplierPartPriceBreak, + deleteContacts, deleteManufacturerParts, deleteManufacturerPartParameters, deleteSupplierParts, duplicateSupplierPart, editCompany, + editContact, editSupplierPartPriceBreak, loadCompanyTable, + loadContactTable, loadManufacturerPartTable, loadManufacturerPartParameterTable, loadSupplierPartTable, @@ -197,7 +200,7 @@ function createSupplierPart(options={}) { var header = ''; if (options.part) { var part_model = {}; - inventreeGet(`/api/part/${options.part}/.*`, {}, { + inventreeGet(`{% url "api-part-list" %}${options.part}/.*`, {}, { async: false, success: function(response) { part_model = response; @@ -226,7 +229,7 @@ function duplicateSupplierPart(part, options={}) { var fields = options.fields || supplierPartFields(); // Retrieve information for the supplied part - inventreeGet(`/api/company/part/${part}/`, {}, { + inventreeGet(`{% url "api-supplier-part-list" %}${part}/`, {}, { success: function(data) { // Remove fields which we do not want to duplicate @@ -234,7 +237,7 @@ function duplicateSupplierPart(part, options={}) { delete data['available']; delete data['availability_updated']; - constructForm(`/api/company/part/`, { + constructForm('{% url "api-supplier-part-list" %}', { method: 'POST', fields: fields, title: '{% trans "Duplicate Supplier Part" %}', @@ -260,7 +263,7 @@ function editSupplierPart(part, options={}) { fields.part.hidden = true; } - constructForm(`/api/company/part/${part}/`, { + constructForm(`{% url "api-supplier-part-list" %}${part}/`, { fields: fields, title: options.title || '{% trans "Edit Supplier Part" %}', onSuccess: options.onSuccess @@ -443,24 +446,18 @@ function createCompany(options={}) { } +/* + * Load company listing data into specified table. + * + * Args: + * - table: Table element on the page + * - url: Base URL for the API query + * - options: table options. + */ function loadCompanyTable(table, url, options={}) { - /* - * Load company listing data into specified table. - * - * Args: - * - table: Table element on the page - * - url: Base URL for the API query - * - options: table options. - */ - // Query parameters - var params = options.params || {}; - - var filters = loadTableFilters('company'); - - for (var key in params) { - filters[key] = params[key]; - } + let params = options.params || {}; + let filters = loadTableFilters('company', params); setupFilterList('company', $(table)); @@ -547,6 +544,230 @@ function loadCompanyTable(table, url, options={}) { } +/* + * Construct a set of form fields for the Contact model + */ +function contactFields(options={}) { + + let fields = { + company: { + icon: 'fa-building', + }, + name: { + icon: 'fa-user', + }, + phone: { + icon: 'fa-phone' + }, + email: { + icon: 'fa-at', + }, + role: { + icon: 'fa-user-tag', + }, + }; + + if (options.company) { + fields.company.value = options.company; + } + + return fields; +} + + +/* + * Launches a form to create a new Contact + */ +function createContact(options={}) { + let fields = options.fields || contactFields(options); + + constructForm('{% url "api-contact-list" %}', { + method: 'POST', + fields: fields, + title: '{% trans "Create New Contact" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + +/* + * Launches a form to edit an existing Contact + */ +function editContact(pk, options={}) { + let fields = options.fields || contactFields(options); + + constructForm(`{% url "api-contact-list" %}${pk}/`, { + fields: fields, + title: '{% trans "Edit Contact" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + +/* + * Launches a form to delete one (or more) contacts + */ +function deleteContacts(contacts, options={}) { + + if (contacts.length == 0) { + return; + } + + function renderContact(contact) { + return ` + + ${contact.name} + ${contact.email} + ${contact.role} + `; + } + + let rows = ''; + let ids = []; + + contacts.forEach(function(contact) { + rows += renderContact(contact); + ids.push(contact.pk); + }); + + let html = ` +
    + {% trans "All selected contacts will be deleted" %} +
    + + + + + + + ${rows} +
    {% trans "Name" %}{% trans "Email" %}{% trans "Role" %}
    `; + + constructForm('{% url "api-contact-list" %}', { + method: 'DELETE', + multi_delete: true, + title: '{% trans "Delete Contacts" %}', + preFormContent: html, + form_data: { + items: ids, + }, + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + +/* + * Load table listing company contacts + */ +function loadContactTable(table, options={}) { + + var params = options.params || {}; + + var filters = loadTableFilters('contact', params); + + setupFilterList('contact', $(table), '#filter-list-contacts'); + + $(table).inventreeTable({ + url: '{% url "api-contact-list" %}', + queryParams: filters, + original: params, + idField: 'pk', + uniqueId: 'pk', + sidePagination: 'server', + formatNoMatches: function() { + return '{% trans "No contacts found" %}'; + }, + showColumns: true, + name: 'contacts', + columns: [ + { + field: 'name', + title: '{% trans "Name" %}', + sortable: true, + switchable: false, + }, + { + field: 'phone', + title: '{% trans "Phone Number" %}', + sortable: false, + switchable: true, + }, + { + field: 'email', + title: '{% trans "Email Address" %}', + sortable: false, + switchable: true, + }, + { + field: 'role', + title: '{% trans "Role" %}', + sortable: false, + switchable: false, + }, + { + field: 'actions', + title: '', + sortable: false, + switchable: false, + visible: options.allow_edit || options.allow_delete, + formatter: function(value, row) { + var pk = row.pk; + + let html = ''; + + if (options.allow_edit) { + html += makeEditButton('btn-contact-edit', pk, '{% trans "Edit Contact" %}'); + } + + if (options.allow_delete) { + html += makeDeleteButton('btn-contact-delete', pk, '{% trans "Delete Contact" %}'); + } + + return wrapButtons(html); + } + } + ], + onPostBody: function() { + // Edit button callback + if (options.allow_edit) { + $(table).find('.btn-contact-edit').click(function() { + var pk = $(this).attr('pk'); + editContact(pk, { + onSuccess: function() { + $(table).bootstrapTable('refresh'); + } + }); + }); + } + + // Delete button callback + if (options.allow_delete) { + $(table).find('.btn-contact-delete').click(function() { + var pk = $(this).attr('pk'); + + var row = $(table).bootstrapTable('getRowByUniqueId', pk); + + if (row && row.pk) { + + deleteContacts([row], { + onSuccess: function() { + $(table).bootstrapTable('refresh'); + } + }); + } + }); + } + } + }); +} + + /* Delete one or more ManufacturerPart objects from the database. * - User will be provided with a modal form, showing all the parts to be deleted. * - Delete operations are performed sequentialy, not simultaneously @@ -653,21 +874,16 @@ function deleteManufacturerPartParameters(selections, options={}) { } +/* + * Load manufacturer part table + */ function loadManufacturerPartTable(table, url, options) { - /* - * Load manufacturer part table - * - */ // Query parameters var params = options.params || {}; // Load filters - var filters = loadTableFilters('manufacturer-part'); - - for (var key in params) { - filters[key] = params[key]; - } + var filters = loadTableFilters('manufacturer-part', params); var filterTarget = options.filterTarget || '#filter-list-manufacturer-part'; @@ -703,11 +919,11 @@ function loadManufacturerPartTable(table, url, options) { var html = imageHoverIcon(row.part_detail.thumbnail) + renderLink(value, url); if (row.part_detail.is_template) { - html += ``; + html += makeIconBadge('fa-clone', '{% trans "Template part" %}'); } if (row.part_detail.assembly) { - html += ``; + html += makeIconBadge('fa-tools', '{% trans "Assembled part" %}'); } if (!row.part_detail.active) { @@ -764,16 +980,13 @@ function loadManufacturerPartTable(table, url, options) { sortable: false, switchable: false, formatter: function(value, row) { - var pk = row.pk; + let pk = row.pk; + let html = ''; - var html = `
    `; + html += makeEditButton('button-manufacturer-part-edit', pk, '{% trans "Edit manufacturer part" %}'); + html += makeDeleteButton('button-manufacturer-part-delete', pk, '{% trans "Delete manufacturer part" %}'); - html += makeIconButton('fa-edit icon-blue', 'button-manufacturer-part-edit', pk, '{% trans "Edit manufacturer part" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-manufacturer-part-delete', pk, '{% trans "Delete manufacturer part" %}'); - - html += '
    '; - - return html; + return wrapButtons(html); } } ], @@ -810,20 +1023,15 @@ function loadManufacturerPartTable(table, url, options) { } +/* + * Load table of ManufacturerPartParameter objects + */ function loadManufacturerPartParameterTable(table, url, options) { - /* - * Load table of ManufacturerPartParameter objects - */ var params = options.params || {}; // Load filters - var filters = loadTableFilters('manufacturer-part-parameters'); - - // Overwrite explicit parameters - for (var key in params) { - filters[key] = params[key]; - } + var filters = loadTableFilters('manufacturer-part-parameters', params); setupFilterList('manufacturer-part-parameters', $(table)); @@ -867,17 +1075,13 @@ function loadManufacturerPartParameterTable(table, url, options) { switchable: false, sortable: false, formatter: function(value, row) { + let pk = row.pk; + let html = ''; - var pk = row.pk; + html += makeEditButton('button-parameter-edit', pk, '{% trans "Edit parameter" %}'); + html += makeDeleteButton('button-parameter-delete', pk, '{% trans "Delete parameter" %}'); - var html = `
    `; - - html += makeIconButton('fa-edit icon-blue', 'button-parameter-edit', pk, '{% trans "Edit parameter" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-parameter-delete', pk, '{% trans "Delete parameter" %}'); - - html += `
    `; - - return html; + return wrapButtons(html); } } ], @@ -886,27 +1090,23 @@ function loadManufacturerPartParameterTable(table, url, options) { $(table).find('.button-parameter-edit').click(function() { var pk = $(this).attr('pk'); - constructForm(`/api/company/part/manufacturer/parameter/${pk}/`, { + constructForm(`{% url "api-manufacturer-part-parameter-list" %}${pk}/`, { fields: { name: {}, value: {}, units: {}, }, title: '{% trans "Edit Parameter" %}', - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } + refreshTable: table, }); }); $(table).find('.button-parameter-delete').click(function() { var pk = $(this).attr('pk'); - constructForm(`/api/company/part/manufacturer/parameter/${pk}/`, { + constructForm(`{% url "api-manufacturer-part-parameter-list" %}${pk}/`, { method: 'DELETE', title: '{% trans "Delete Parameter" %}', - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } + refreshTable: table, }); }); } @@ -914,21 +1114,16 @@ function loadManufacturerPartParameterTable(table, url, options) { } +/* + * Load supplier part table + */ function loadSupplierPartTable(table, url, options) { - /* - * Load supplier part table - * - */ // Query parameters var params = options.params || {}; // Load filters - var filters = loadTableFilters('supplier-part'); - - for (var key in params) { - filters[key] = params[key]; - } + var filters = loadTableFilters('supplier-part', params); setupFilterList('supplier-part', $(table)); @@ -964,11 +1159,11 @@ function loadSupplierPartTable(table, url, options) { var html = imageHoverIcon(row.part_detail.thumbnail) + renderLink(value, url); if (row.part_detail.is_template) { - html += ``; + html += makeIconBadge('fa-clone', '{% trans "Template part" %}'); } if (row.part_detail.assembly) { - html += ``; + html += makeIconBadge('fa-tools', '{% trans "Assembled part" %}'); } if (!row.part_detail.active) { @@ -1088,9 +1283,13 @@ function loadSupplierPartTable(table, url, options) { sortable: true, formatter: function(value, row) { if (row.availability_updated) { - var html = formatDecimal(value); - var date = renderDate(row.availability_updated, {showTime: true}); - html += ``; + let html = formatDecimal(value); + let date = renderDate(row.availability_updated, {showTime: true}); + + html += makeIconBadge( + 'fa-info-circle', + `{% trans "Last Updated" %}: ${date}` + ); return html; } else { return '-'; @@ -1108,16 +1307,13 @@ function loadSupplierPartTable(table, url, options) { sortable: false, switchable: false, formatter: function(value, row) { - var pk = row.pk; + let pk = row.pk; + let html = ''; - var html = `
    `; + html += makeEditButton('button-supplier-part-edit', pk, '{% trans "Edit supplier part" %}'); + html += makeDeleteButton('button-supplier-part-delete', pk, '{% trans "Delete supplier part" %}'); - html += makeIconButton('fa-edit icon-blue', 'button-supplier-part-edit', pk, '{% trans "Edit supplier part" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-supplier-part-delete', pk, '{% trans "Delete supplier part" %}'); - - html += '
    '; - - return html; + return wrapButtons(html); } } ], @@ -1166,24 +1362,20 @@ function loadSupplierPriceBreakTable(options={}) { table.find('.button-price-break-delete').click(function() { var pk = $(this).attr('pk'); - constructForm(`/api/company/price-break/${pk}/`, { + constructForm(`{% url "api-part-supplier-price-list" %}${pk}/`, { method: 'DELETE', title: '{% trans "Delete Price Break" %}', - onSuccess: function() { - table.bootstrapTable('refresh'); - }, + refreshTable: table, }); }); table.find('.button-price-break-edit').click(function() { var pk = $(this).attr('pk'); - constructForm(`/api/company/price-break/${pk}/`, { + constructForm(`{% url "api-part-supplier-price-list" %}${pk}/`, { fields: supplierPartPriceBreakFields(), title: '{% trans "Edit Price Break" %}', - onSuccess: function() { - table.bootstrapTable('refresh'); - } + refreshTable: table, }); }); } @@ -1231,10 +1423,12 @@ function loadSupplierPriceBreakTable(options={}) { formatter: function(value, row) { var html = renderDate(value); - html += `
    `; - html += makeIconButton('fa-edit icon-blue', 'button-price-break-edit', row.pk, '{% trans "Edit price break" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-price-break-delete', row.pk, '{% trans "Delete price break" %}'); - html += `
    `; + let buttons = ''; + + buttons += makeEditButton('button-price-break-edit', row.pk, '{% trans "Edit price break" %}'); + buttons += makeDeleteButton('button-price-break-delete', row.pk, '{% trans "Delete price break" %}'); + + html += wrapButtons(buttons); return html; } diff --git a/InvenTree/templates/js/translated/filters.js b/InvenTree/templates/js/translated/filters.js index 5038391ffe..31a121fcb9 100644 --- a/InvenTree/templates/js/translated/filters.js +++ b/InvenTree/templates/js/translated/filters.js @@ -43,7 +43,7 @@ function defaultFilters() { * @param tableKey - String key for the particular table * @param defaults - Default filters for this table e.g. 'cascade=1&location=5' */ -function loadTableFilters(tableKey) { +function loadTableFilters(tableKey, query={}) { var lookup = 'table-filters-' + tableKey.toLowerCase(); @@ -67,6 +67,9 @@ function loadTableFilters(tableKey) { } }); + // Override configurable filters with hard-coded query + Object.assign(filters, query); + return filters; } @@ -258,6 +261,18 @@ function generateFilterInput(tableKey, filterKey) { } +/* + * Helper function to make a 'filter' style button + */ +function makeFilterButton(options={}) { + + return ` + `; +} + + /** * Configure a filter list for a given table * @@ -290,21 +305,58 @@ function setupFilterList(tableKey, table, target, options={}) { // One blank slate, please element.empty(); + // Construct a set of buttons var buttons = ''; + // Add 'print reports' button + if (options.report && global_settings.REPORT_ENABLE) { + buttons += makeFilterButton({ + id: `print-report-${tableKey}`, + title: options.report.title || '{% trans "Print reports for selected items" %}', + icon: 'fa-print', + }); + } + + // Add 'print labels' button + if (options.labels && global_settings.LABEL_ENABLE) { + buttons += makeFilterButton({ + id: `print-labels-${tableKey}`, + title: options.labels.title || '{% trans "Print labels for selected items" %}', + icon: 'fa-tag', + }); + } + // Add download button if (options.download) { - buttons += ``; + buttons += makeFilterButton({ + id: `download-${tableKey}`, + title: '{% trans "Download table data" %}', + icon: 'fa-download', + }); } - buttons += ``; + buttons += makeFilterButton({ + id: `reload-${tableKey}`, + title: '{% trans "Reload table data" %}', + icon: 'fa-redo-alt', + }); // If there are filters defined for this table, add more buttons if (!jQuery.isEmptyObject(getAvailableTableFilters(tableKey))) { - buttons += ``; + + buttons += makeFilterButton({ + id: add, + title: '{% trans "Add new filter" %}', + icon: 'fa-filter', + }); + if (Object.keys(filters).length > 0) { - buttons += ``; + buttons += makeFilterButton({ + id: clear, + title: '{% trans "Clear all filters" %}', + icon: 'fa-backspace icon-red', + }); } } @@ -331,6 +383,42 @@ function setupFilterList(tableKey, table, target, options={}) { element.append(filter_tag); } + // Callback for printing reports + if (options.report && global_settings.REPORT_ENABLE) { + element.find(`#print-report-${tableKey}`).click(function() { + let data = getTableData(table); + let items = []; + + data.forEach(function(row) { + items.push(row.pk); + }); + + printReports({ + items: items, + url: options.report.url, + key: options.report.key + }); + }); + } + + // Callback for printing labels + if (options.labels && global_settings.LABEL_ENABLE) { + element.find(`#print-labels-${tableKey}`).click(function() { + let data = getTableData(table); + let items = []; + + data.forEach(function(row) { + items.push(row.pk); + }); + + printLabels({ + items: items, + url: options.labels.url, + key: options.labels.key, + }); + }); + } + // Callback for reloading the table element.find(`#reload-${tableKey}`).click(function() { reloadTableFilters(table); diff --git a/InvenTree/templates/js/translated/forms.js b/InvenTree/templates/js/translated/forms.js index a445d66b08..d656ccc77b 100644 --- a/InvenTree/templates/js/translated/forms.js +++ b/InvenTree/templates/js/translated/forms.js @@ -308,7 +308,7 @@ function constructDeleteForm(fields, options) { * - confirmText: Text for confirm button (default = "Confirm") * */ -function constructForm(url, options) { +function constructForm(url, options={}) { // An "empty" form will be defined locally if (url == null) { @@ -1169,6 +1169,11 @@ function handleFormSuccess(response, options) { $(options.modal).modal('hide'); } + // Refresh a table + if (options.refreshTable) { + reloadBootstrapTable(options.refreshTable); + } + if (options.onSuccess) { // Callback function options.onSuccess(response, options); diff --git a/InvenTree/templates/js/translated/helpers.js b/InvenTree/templates/js/translated/helpers.js index e245c5b204..e400e33707 100644 --- a/InvenTree/templates/js/translated/helpers.js +++ b/InvenTree/templates/js/translated/helpers.js @@ -6,9 +6,14 @@ editButton, formatDecimal, imageHoverIcon, + makeCopyButton, + makeDeleteButton, + makeEditButton, makeIconBadge, makeIconButton, + makeInfoButton, makeProgressBar, + makeRemoveButton, renderLink, sanitizeInputString, select2Thumbnail, @@ -17,8 +22,14 @@ thumbnailImage yesNoLabel, withTitle, + wrapButtons, */ +/* exported + makeIcon, +*/ + + function yesNoLabel(value, options={}) { var text = ''; var color = ''; @@ -147,17 +158,47 @@ function select2Thumbnail(image) { } +/* + * Construct a simple FontAwesome icon span + */ +function makeIcon(icon, title='', options={}) { + + let classes = options.classes || 'fas'; + + return ``; +} + + /* * Construct an 'icon badge' which floats to the right of an object */ -function makeIconBadge(icon, title) { +function makeIconBadge(icon, title='', options={}) { - var html = ``; + let content = options.content || ''; + + let html = ` + + ${content} + `; return html; } +/* + * Wrap list of buttons in a button group
    + */ +function wrapButtons(buttons) { + + if (!buttons) { + // Return empty element if no buttons are provided + return ''; + } + + return `
    ${buttons}
    `; +} + + /* * Construct an 'icon button' using the fontawesome set */ @@ -187,6 +228,46 @@ function makeIconButton(icon, cls, pk, title, options={}) { } +/* + * Helper function for making a common 'info' button + */ +function makeInfoButton(cls, pk, title, options={}) { + return makeIconButton('fa-info-circle', cls, pk, title, options); +} + + +/* + * Helper function for making a common 'edit' button + */ +function makeEditButton(cls, pk, title, options={}) { + return makeIconButton('fa-edit icon-blue', cls, pk, title, options); +} + + +/* + * Helper function for making a common 'copy' button + */ +function makeCopyButton(cls, pk, title, options={}) { + return makeIconButton('fa-clone', cls, pk, title, options); +} + + +/* + * Helper function for making a common 'delete' button + */ +function makeDeleteButton(cls, pk, title, options={}) { + return makeIconButton('fa-trash-alt icon-red', cls, pk, title, options); +} + + +/* + * Helper function for making a common 'remove' button + */ +function makeRemoveButton(cls, pk, title, options={}) { + return makeIconButton('fa-times-circle icon-red', cls, pk, title, options); +} + + /* * Render a progessbar! * diff --git a/InvenTree/templates/js/translated/label.js b/InvenTree/templates/js/translated/label.js index 4373f0d23b..f714e0f861 100644 --- a/InvenTree/templates/js/translated/label.js +++ b/InvenTree/templates/js/translated/label.js @@ -16,218 +16,16 @@ /* exported printLabels, - printPartLabels, - printStockItemLabels, - printStockLocationLabels, */ - -/* - * Perform the "print" action. +/** + * Present the user with the available labels, + * and allow them to select which label to print. + * + * The intent is that the available labels have been requested + * (via AJAX) from the server. */ -function printLabels(url, plugin=null) { - - if (plugin) { - // If a plugin is provided, do not redirect the browser. - // Instead, perform an API request and display a message - - url = url + `plugin=${plugin}`; - - inventreeGet(url, {}, { - success: function(response) { - showMessage( - '{% trans "Labels sent to printer" %}', - { - style: 'success', - } - ); - } - }); - } else { - window.open(url); - } - -} - - -function printStockItemLabels(items) { - /** - * Print stock item labels for the given stock items - */ - - if (items.length == 0) { - showAlertDialog( - '{% trans "Select Stock Items" %}', - '{% trans "Stock item(s) must be selected before printing labels" %}' - ); - - return; - } - - // Request available labels from the server - inventreeGet( - '{% url "api-stockitem-label-list" %}', - { - enabled: true, - items: items, - }, - { - success: function(response) { - - if (response.length == 0) { - showAlertDialog( - '{% trans "No Labels Found" %}', - '{% trans "No labels found which match selected stock item(s)" %}', - ); - - return; - } - - // Select label to print - selectLabel( - response, - items, - { - success: function(data) { - - var pk = data.label; - - var href = `/api/label/stock/${pk}/print/?`; - - items.forEach(function(item) { - href += `items[]=${item}&`; - }); - - printLabels(href, data.plugin); - } - } - ); - } - } - ); -} - - -function printStockLocationLabels(locations) { - - if (locations.length == 0) { - showAlertDialog( - '{% trans "Select Stock Locations" %}', - '{% trans "Stock location(s) must be selected before printing labels" %}' - ); - - return; - } - - // Request available labels from the server - inventreeGet( - '{% url "api-stocklocation-label-list" %}', - { - enabled: true, - locations: locations, - }, - { - success: function(response) { - if (response.length == 0) { - showAlertDialog( - '{% trans "No Labels Found" %}', - '{% trans "No labels found which match selected stock location(s)" %}', - ); - - return; - } - - // Select label to print - selectLabel( - response, - locations, - { - success: function(data) { - - var pk = data.label; - - var href = `/api/label/location/${pk}/print/?`; - - locations.forEach(function(location) { - href += `locations[]=${location}&`; - }); - - printLabels(href, data.plugin); - } - } - ); - } - } - ); -} - - -function printPartLabels(parts) { - /** - * Print labels for the provided parts - */ - - if (parts.length == 0) { - showAlertDialog( - '{% trans "Select Parts" %}', - '{% trans "Part(s) must be selected before printing labels" %}', - ); - - return; - } - - // Request available labels from the server - inventreeGet( - '{% url "api-part-label-list" %}', - { - enabled: true, - parts: parts, - }, - { - success: function(response) { - - if (response.length == 0) { - showAlertDialog( - '{% trans "No Labels Found" %}', - '{% trans "No labels found which match the selected part(s)" %}', - ); - - return; - } - - // Select label to print - selectLabel( - response, - parts, - { - success: function(data) { - - var pk = data.label; - - var href = `/api/label/part/${pk}/print/?`; - - parts.forEach(function(part) { - href += `parts[]=${part}&`; - }); - - printLabels(href, data.plugin); - } - } - ); - } - } - ); -} - - function selectLabel(labels, items, options={}) { - /** - * Present the user with the available labels, - * and allow them to select which label to print. - * - * The intent is that the available labels have been requested - * (via AJAX) from the server. - */ // Array of available plugins for label printing var plugins = []; @@ -347,3 +145,71 @@ function selectLabel(labels, items, options={}) { } }); } + + +/* + * Print label(s) for the selected items: + * + * - Retrieve a list of matching label templates from the server + * - Present the available templates to the user (if more than one available) + * - Request printed labels + * + * Required options: + * - url: The list URL for the particular template type + * - items: The list of items to be printed + * - key: The key to use in the query parameters + */ +function printLabels(options) { + + if (!options.items || options.items.length == 0) { + showAlertDialog( + '{% trans "Select Items" %}', + '{% trans "No items selected for printing" %}', + ); + return; + } + + let params = { + enabled: true, + }; + + params[options.key] = options.items; + + // Request a list of available label templates + inventreeGet(options.url, params, { + success: function(response) { + if (response.length == 0) { + showAlertDialog( + '{% trans "No Labels Found" %}', + '{% trans "No label templates found which match the selected items" %}', + ); + return; + } + + // Select label template for printing + selectLabel(response, options.items, { + success: function(data) { + let href = `${options.url}${data.label}/print/?`; + + options.items.forEach(function(item) { + href += `${options.key}=${item}&`; + }); + + if (data.plugin) { + href += `plugin=${data.plugin}`; + + inventreeGet(href, {}, { + success: function(response) { + showMessage('{% trans "Labels sent to printer" %}', { + style: 'success', + }); + } + }); + } else { + window.open(href); + } + } + }); + } + }); +} diff --git a/InvenTree/templates/js/translated/model_renderers.js b/InvenTree/templates/js/translated/model_renderers.js index 033986e7d2..4edb13d165 100644 --- a/InvenTree/templates/js/translated/model_renderers.js +++ b/InvenTree/templates/js/translated/model_renderers.js @@ -10,11 +10,13 @@ getModelRenderer, renderBuild, renderCompany, + renderContact, renderGroup, renderManufacturerPart, renderOwner, renderPart, renderPartCategory, + renderReturnOrder, renderStockItem, renderStockLocation, renderSupplierPart, @@ -44,6 +46,8 @@ function getModelRenderer(model) { switch (model) { case 'company': return renderCompany; + case 'contact': + return renderContact; case 'stockitem': return renderStockItem; case 'stocklocation': @@ -58,6 +62,8 @@ function getModelRenderer(model) { return renderPurchaseOrder; case 'salesorder': return renderSalesOrder; + case 'returnorder': + return renderReturnOrder; case 'salesordershipment': return renderSalesOrderShipment; case 'manufacturerpart': @@ -150,6 +156,17 @@ function renderCompany(data, parameters={}) { } +// Renderer for "Contact" model +function renderContact(data, parameters={}) { + return renderModel( + { + text: data.name, + }, + parameters + ); +} + + // Renderer for "StockItem" model function renderStockItem(data, parameters={}) { @@ -158,9 +175,6 @@ function renderStockItem(data, parameters={}) { let render_location_detail = ('render_location_detail' in parameters) ? parameters.render_location_detail : false; let render_available_quantity = ('render_available_quantity' in parameters) ? parameters.render_available_quantity : false; - if (render_part_detail) { - } - let text = ''; let stock_detail = ''; @@ -360,6 +374,26 @@ function renderSalesOrder(data, parameters={}) { } +// Renderer for "ReturnOrder" model +function renderReturnOrder(data, parameters={}) { + let image = blankImage(); + + if (data.customer_detail) { + image = data.customer_detail.thumbnail || data.customer_detail.image || blankImage(); + } + + return renderModel( + { + image: image, + text: `${data.reference} - ${data.customer_detail.name}`, + textSecondary: shortenString(data.description), + url: data.url || `/order/return-order/${data.pk}/`, + }, + parameters, + ); +} + + // Renderer for "SalesOrderShipment" model function renderSalesOrderShipment(data, parameters={}) { diff --git a/InvenTree/templates/js/translated/order.js b/InvenTree/templates/js/translated/order.js index b3880cfef5..01aa6b49f9 100644 --- a/InvenTree/templates/js/translated/order.js +++ b/InvenTree/templates/js/translated/order.js @@ -2,829 +2,26 @@ {% load inventree_extras %} /* globals - companyFormFields, - constructForm, - createSupplierPart, - global_settings, - imageHoverIcon, inventreeGet, - launchModalForm, - loadTableFilters, - makeIconBadge, - purchaseOrderStatusDisplay, - receivePurchaseOrderItems, - renderLink, - salesOrderStatusDisplay, - setupFilterList, - supplierPartFields, */ /* exported - allocateStockToSalesOrder, - cancelPurchaseOrder, - cancelSalesOrder, - completePurchaseOrder, - completeSalesOrder, - completeShipment, - completePendingShipments, - createPurchaseOrder, - createPurchaseOrderLineItem, - createSalesOrder, - createSalesOrderLineItem, - createSalesOrderShipment, - duplicatePurchaseOrder, - editPurchaseOrder, - editPurchaseOrderLineItem, - editSalesOrder, + createExtraLineItem, + editExtraLineItem, exportOrder, issuePurchaseOrder, - loadPurchaseOrderLineItemTable, - loadPurchaseOrderExtraLineTable - loadPurchaseOrderTable, - loadSalesOrderAllocationTable, - loadSalesOrderLineItemTable, - loadSalesOrderExtraLineTable - loadSalesOrderShipmentTable, - loadSalesOrderTable, newPurchaseOrderFromOrderWizard, newSupplierPartFromOrderWizard, orderParts, removeOrderRowFromOrderWizard, removePurchaseOrderLineItem, loadOrderTotal, + loadExtraLineTable, extraLineFields, + reloadTotal, */ -/* - * Form field definitions for a SalesOrderShipment - */ -function salesOrderShipmentFields(options={}) { - var fields = { - order: {}, - reference: {}, - tracking_number: { - icon: 'fa-hashtag', - }, - invoice_number: { - icon: 'fa-dollar-sign', - }, - link: { - icon: 'fa-link', - } - }; - - // If order is specified, hide the order field - if (options.order) { - fields.order.value = options.order; - fields.order.hidden = true; - } - - return fields; -} - - -/* - * Complete a shipment - */ -function completeShipment(shipment_id, options={}) { - - // Request the list of stock items which will be shipped - inventreeGet(`/api/order/so/shipment/${shipment_id}/`, {}, { - success: function(shipment) { - var allocations = shipment.allocations; - - var html = ''; - - if (!allocations || allocations.length == 0) { - html = ` -
    - {% trans "No stock items have been allocated to this shipment" %} -
    - `; - } else { - html = ` - {% trans "The following stock items will be shipped" %} - - - - - - - - - `; - - allocations.forEach(function(allocation) { - - var part = allocation.part_detail; - var thumb = thumbnailImage(part.thumbnail || part.image); - - var stock = ''; - - if (allocation.serial) { - stock = `{% trans "Serial Number" %}: ${allocation.serial}`; - } else { - stock = `{% trans "Quantity" %}: ${allocation.quantity}`; - } - - html += ` - - - - - `; - }); - - html += ` - -
    {% trans "Part" %}{% trans "Stock Item" %}
    ${thumb} ${part.full_name}${stock}
    - `; - } - - constructForm(`/api/order/so/shipment/${shipment_id}/ship/`, { - method: 'POST', - title: `{% trans "Complete Shipment" %} ${shipment.reference}`, - fields: { - shipment_date: { - value: moment().format('YYYY-MM-DD'), - }, - tracking_number: { - value: shipment.tracking_number, - icon: 'fa-hashtag', - }, - invoice_number: { - value: shipment.invoice_number, - icon: 'fa-dollar-sign', - }, - link: { - value: shipment.link, - icon: 'fa-link', - } - }, - preFormContent: html, - confirm: true, - confirmMessage: '{% trans "Confirm Shipment" %}', - buttons: options.buttons, - onSuccess: function(data) { - // Reload tables - $('#so-lines-table').bootstrapTable('refresh'); - $('#pending-shipments-table').bootstrapTable('refresh'); - $('#completed-shipments-table').bootstrapTable('refresh'); - - if (options.onSuccess instanceof Function) { - options.onSuccess(data); - } - }, - reload: options.reload - }); - } - }); -} - -/* - * Launches a modal to mark all allocated pending shipments as complete - */ -function completePendingShipments(order_id, options={}) { - var pending_shipments = null; - - // Request the list of stock items which will be shipped - inventreeGet(`/api/order/so/shipment/.*`, - { - order: order_id, - shipped: false - }, - { - async: false, - success: function(shipments) { - pending_shipments = shipments; - } - } - ); - - var allocated_shipments = []; - - for (var idx = 0; idx < pending_shipments.length; idx++) { - if (pending_shipments[idx].allocations.length > 0) { - allocated_shipments.push(pending_shipments[idx]); - } - } - - if (allocated_shipments.length > 0) { - completePendingShipmentsHelper(allocated_shipments, 0, options); - - } else { - html = ` -
    - `; - - if (!pending_shipments.length) { - html += ` - {% trans "No pending shipments found" %} - `; - } else { - html += ` - {% trans "No stock items have been allocated to pending shipments" %} - `; - } - - html += ` -
    - `; - - constructForm(`/api/order/so/shipment/0/ship/`, { - method: 'POST', - title: '{% trans "Complete Shipments" %}', - preFormContent: html, - onSubmit: function(fields, options) { - handleFormSuccess(fields, options); - }, - closeText: 'Close', - hideSubmitButton: true, - }); - } -} - - -/* - * Recursive helper for opening shipment completion modals - */ -function completePendingShipmentsHelper(shipments, shipment_idx, options={}) { - if (shipment_idx < shipments.length) { - completeShipment(shipments[shipment_idx].pk, - { - buttons: [ - { - name: 'skip', - title: `{% trans "Skip" %}`, - onClick: function(form_options) { - if (form_options.modal) { - $(form_options.modal).modal('hide'); - } - - completePendingShipmentsHelper(shipments, shipment_idx + 1, options); - } - } - ], - onSuccess: function(data) { - completePendingShipmentsHelper(shipments, shipment_idx + 1, options); - }, - } - ); - - } else if (options.reload) { - location.reload(); - } -} - -/* - * Launches a modal form to mark a PurchaseOrder as "complete" - */ -function completePurchaseOrder(order_id, options={}) { - - constructForm( - `/api/order/po/${order_id}/complete/`, - { - method: 'POST', - title: '{% trans "Complete Purchase Order" %}', - confirm: true, - fieldsFunction: function(opts) { - var fields = { - accept_incomplete: {}, - }; - - if (opts.context.is_complete) { - delete fields['accept_incomplete']; - } - - return fields; - }, - preFormContent: function(opts) { - - var html = ` -
    - {% trans "Mark this order as complete?" %} -
    `; - - if (opts.context.is_complete) { - html += ` -
    - {% trans "All line items have been received" %} -
    `; - } else { - html += ` -
    - {% trans 'This order has line items which have not been marked as received.' %}
    - {% trans 'Completing this order means that the order and line items will no longer be editable.' %} -
    `; - } - - return html; - }, - onSuccess: function(response) { - handleFormSuccess(response, options); - } - } - ); -} - - -/* - * Launches a modal form to mark a PurchaseOrder as 'cancelled' - */ -function cancelPurchaseOrder(order_id, options={}) { - - constructForm( - `/api/order/po/${order_id}/cancel/`, - { - method: 'POST', - title: '{% trans "Cancel Purchase Order" %}', - confirm: true, - preFormContent: function(opts) { - var html = ` -
    - {% trans "Are you sure you wish to cancel this purchase order?" %} -
    `; - - if (!opts.context.can_cancel) { - html += ` -
    - {% trans "This purchase order can not be cancelled" %} -
    `; - } - - return html; - }, - onSuccess: function(response) { - handleFormSuccess(response, options); - } - } - ); -} - - -/* - * Launches a modal form to mark a PurchaseOrder as "issued" - */ -function issuePurchaseOrder(order_id, options={}) { - - constructForm( - `/api/order/po/${order_id}/issue/`, - { - method: 'POST', - title: '{% trans "Issue Purchase Order" %}', - confirm: true, - preFormContent: function(opts) { - var html = ` -
    - {% trans 'After placing this purchase order, line items will no longer be editable.' %} -
    `; - - return html; - }, - onSuccess: function(response) { - handleFormSuccess(response, options); - } - } - ); -} - - -/* - * Launches a modal form to mark a SalesOrder as "complete" - */ -function completeSalesOrder(order_id, options={}) { - - constructForm( - `/api/order/so/${order_id}/complete/`, - { - method: 'POST', - title: '{% trans "Complete Sales Order" %}', - confirm: true, - fieldsFunction: function(opts) { - var fields = { - accept_incomplete: {}, - }; - - if (opts.context.is_complete) { - delete fields['accept_incomplete']; - } - - return fields; - }, - preFormContent: function(opts) { - var html = ` -
    - {% trans "Mark this order as complete?" %} -
    `; - - if (opts.context.pending_shipments) { - html += ` -
    - {% trans "Order cannot be completed as there are incomplete shipments" %}
    -
    `; - } - - if (!opts.context.is_complete) { - html += ` -
    - {% trans "This order has line items which have not been completed." %}
    - {% trans "Completing this order means that the order and line items will no longer be editable." %} -
    `; - } - - return html; - }, - onSuccess: function(response) { - handleFormSuccess(response, options); - } - } - ); -} - - -/* - * Launches a modal form to mark a SalesOrder as "cancelled" - */ -function cancelSalesOrder(order_id, options={}) { - - constructForm( - `/api/order/so/${order_id}/cancel/`, - { - method: 'POST', - title: '{% trans "Cancel Sales Order" %}', - confirm: true, - preFormContent: function(opts) { - var html = ` -
    - {% trans "Cancelling this order means that the order will no longer be editable." %} -
    `; - - return html; - }, - onSuccess: function(response) { - handleFormSuccess(response, options); - } - } - ); -} - -// Open a dialog to create a new sales order shipment -function createSalesOrderShipment(options={}) { - - // Work out the next shipment number for the given order - inventreeGet( - '{% url "api-so-shipment-list" %}', - { - order: options.order, - }, - { - success: function(results) { - // "predict" the next reference number - var ref = results.length + 1; - - var found = false; - - while (!found) { - - var no_match = true; - - for (var ii = 0; ii < results.length; ii++) { - if (ref.toString() == results[ii].reference.toString()) { - no_match = false; - break; - } - } - - if (no_match) { - break; - } else { - ref++; - } - } - - var fields = salesOrderShipmentFields(options); - - fields.reference.value = ref; - fields.reference.prefix = options.reference; - - constructForm('{% url "api-so-shipment-list" %}', { - method: 'POST', - fields: fields, - title: '{% trans "Create New Shipment" %}', - onSuccess: function(data) { - if (options.onSuccess) { - options.onSuccess(data); - } - } - }); - } - } - ); -} - - -function salesOrderFields(options={}) { - let fields = { - reference: { - icon: 'fa-hashtag', - }, - description: {}, - customer: { - icon: 'fa-user-tie', - secondary: { - title: '{% trans "Add Customer" %}', - fields: function() { - var fields = companyFormFields(); - - fields.is_customer.value = true; - - return fields; - } - } - }, - customer_reference: {}, - target_date: { - icon: 'fa-calendar-alt', - }, - link: { - icon: 'fa-link', - }, - responsible: { - icon: 'fa-user', - } - }; - - return fields; -} - - -/* - * Create a new SalesOrder - */ -function createSalesOrder(options={}) { - - let fields = salesOrderFields(options); - - if (options.customer) { - fields.customer.value = options.customer; - } - - constructForm('{% url "api-so-list" %}', { - method: 'POST', - fields: fields, - onSuccess: function(data) { - location.href = `/order/sales-order/${data.pk}/`; - }, - title: '{% trans "Create Sales Order" %}', - }); -} - - -/* - * Edit an existing SalesOrder - */ -function editSalesOrder(order_id, options={}) { - - constructForm(`/api/order/so/${order_id}/`, { - fields: salesOrderFields(options), - title: '{% trans "Edit Sales Order" %}', - onSuccess: function(response) { - handleFormSuccess(response, options); - } - }); -} - - -/* - * Launch a modal form to create a new SalesOrderLineItem - */ -function createSalesOrderLineItem(options={}) { - - let fields = soLineItemFields(options); - - constructForm('{% url "api-so-line-list" %}', { - fields: fields, - method: 'POST', - title: '{% trans "Add Line Item" %}', - onSuccess: function(response) { - handleFormSuccess(response, options); - }, - }); -} - - -/* - * Construct a set of fields for a purchase order form - */ -function purchaseOrderFields(options={}) { - - var fields = { - reference: { - icon: 'fa-hashtag', - }, - description: {}, - supplier: { - icon: 'fa-building', - secondary: { - title: '{% trans "Add Supplier" %}', - fields: function() { - var fields = companyFormFields(); - - fields.is_supplier.value = true; - - return fields; - } - } - }, - supplier_reference: {}, - target_date: { - icon: 'fa-calendar-alt', - }, - link: { - icon: 'fa-link', - }, - responsible: { - icon: 'fa-user', - }, - }; - - if (options.supplier) { - fields.supplier.value = options.supplier; - } - - if (options.hide_supplier) { - fields.supplier.hidden = true; - } - - // Add fields for order duplication (only if required) - if (options.duplicate_order) { - fields.duplicate_order = { - value: options.duplicate_order, - group: 'duplicate', - required: 'true', - type: 'related field', - model: 'purchaseorder', - filters: { - supplier_detail: true, - }, - api_url: '{% url "api-po-list" %}', - label: '{% trans "Purchase Order" %}', - help_text: '{% trans "Select purchase order to duplicate" %}', - }; - - fields.duplicate_line_items = { - value: true, - group: 'duplicate', - type: 'boolean', - label: '{% trans "Duplicate Line Items" %}', - help_text: '{% trans "Duplicate all line items from the selected order" %}', - }; - - fields.duplicate_extra_lines = { - value: true, - group: 'duplicate', - type: 'boolean', - label: '{% trans "Duplicate Extra Lines" %}', - help_text: '{% trans "Duplicate extra line items from the selected order" %}', - }; - } - - return fields; -} - - -/* - * Edit an existing PurchaseOrder - */ -function editPurchaseOrder(pk, options={}) { - - var fields = purchaseOrderFields(options); - - constructForm(`/api/order/po/${pk}/`, { - fields: fields, - title: '{% trans "Edit Purchase Order" %}', - onSuccess: function(response) { - handleFormSuccess(response, options); - } - }); -} - - -// Create a new PurchaseOrder -function createPurchaseOrder(options={}) { - - var fields = purchaseOrderFields(options); - - var groups = {}; - - if (options.duplicate_order) { - groups.duplicate = { - title: '{% trans "Duplication Options" %}', - collapsible: false, - }; - }; - - constructForm('{% url "api-po-list" %}', { - method: 'POST', - fields: fields, - groups: groups, - data: options.data, - onSuccess: function(data) { - - if (options.onSuccess) { - options.onSuccess(data); - } else { - // Default action is to redirect browser to the new PurchaseOrder - location.href = `/order/purchase-order/${data.pk}/`; - } - }, - title: options.title || '{% trans "Create Purchase Order" %}', - }); -} - -/* - * Duplicate an existing PurchaseOrder - * Provides user with option to duplicate line items for the order also. - */ -function duplicatePurchaseOrder(order_id, options={}) { - - options.duplicate_order = order_id; - - inventreeGet(`/api/order/po/${order_id}/`, {}, { - success: function(data) { - - // Clear out data we do not want to be duplicated - delete data['pk']; - delete data['reference']; - - options.data = data; - - createPurchaseOrder(options); - } - }); -} - - -// Create a new PurchaseOrderLineItem -function createPurchaseOrderLineItem(order, options={}) { - - var fields = poLineItemFields({ - order: order, - supplier: options.supplier, - currency: options.currency, - target_date: options.target_date, - }); - - constructForm('{% url "api-po-line-list" %}', { - fields: fields, - method: 'POST', - title: '{% trans "Add Line Item" %}', - onSuccess: function(response) { - handleFormSuccess(response, options); - } - }); -} - - -/* Construct a set of fields for the SalesOrderLineItem form */ -function soLineItemFields(options={}) { - - let fields = { - order: { - hidden: true, - }, - part: { - icon: 'fa-shapes', - }, - quantity: {}, - reference: {}, - sale_price: { - icon: 'fa-dollar-sign', - }, - sale_price_currency: { - icon: 'fa-coins', - }, - target_date: { - icon: 'fa-calendar-alt', - }, - notes: { - icon: 'fa-sticky-note', - }, - }; - - if (options.order) { - fields.order.value = options.order; - } - - if (options.target_date) { - fields.target_date.value = options.target_date; - } - - return fields; -} - - /* Construct a set of fields for a OrderExtraLine form */ function extraLineFields(options={}) { @@ -853,153 +50,34 @@ function extraLineFields(options={}) { } -/* Construct a set of fields for the PurchaseOrderLineItem form */ -function poLineItemFields(options={}) { +/* + * Create a new ExtraLineItem + */ +function createExtraLineItem(options={}) { - var fields = { - order: { - filters: { - supplier_detail: true, - } - }, - part: { - icon: 'fa-shapes', - filters: { - part_detail: true, - supplier_detail: true, - supplier: options.supplier, - }, - onEdit: function(value, name, field, opts) { - // If the pack_size != 1, add a note to the field - var pack_size = 1; - var units = ''; - var supplier_part_id = value; - var quantity = getFormFieldValue('quantity', {}, opts); - - // Remove any existing note fields - $(opts.modal).find('#info-pack-size').remove(); - - if (value == null) { - return; - } - - // Request information about the particular supplier part - inventreeGet(`/api/company/part/${value}/`, - { - part_detail: true, - }, - { - success: function(response) { - // Extract information from the returned query - pack_size = response.pack_size || 1; - units = response.part_detail.units || ''; - }, - } - ).then(function() { - // Update pack size information - if (pack_size != 1) { - var txt = ` {% trans "Pack Quantity" %}: ${pack_size} ${units}`; - $(opts.modal).find('#hint_id_quantity').after(`
    ${txt}
    `); - } - }).then(function() { - // Update pricing data (if available) - inventreeGet( - '{% url "api-part-supplier-price-list" %}', - { - part: supplier_part_id, - ordering: 'quantity', - }, - { - success: function(response) { - // Returned prices are in increasing order of quantity - if (response.length > 0) { - var idx = 0; - var index = 0; - - for (var idx = 0; idx < response.length; idx++) { - if (response[idx].quantity > quantity) { - break; - } - - index = idx; - } - - // Update price and currency data in the form - updateFieldValue('purchase_price', response[index].price, {}, opts); - updateFieldValue('purchase_price_currency', response[index].price_currency, {}, opts); - } - } - } - ); - }); - }, - secondary: { - method: 'POST', - title: '{% trans "Add Supplier Part" %}', - fields: function(data) { - var fields = supplierPartFields({ - part: data.part, - }); - - fields.supplier.value = options.supplier; - - // Adjust manufacturer part query based on selected part - fields.manufacturer_part.adjustFilters = function(query, opts) { - - var part = getFormFieldValue('part', {}, opts); - - if (part) { - query.part = part; - } - - return query; - }; - - return fields; - } - } - }, - quantity: {}, - reference: {}, - purchase_price: { - icon: 'fa-dollar-sign', - }, - purchase_price_currency: { - icon: 'fa-coins', - }, - target_date: { - icon: 'fa-calendar-alt', - }, - destination: { - icon: 'fa-sitemap', - filters: { - structural: false, - } - }, - notes: { - icon: 'fa-sticky-note', - }, - }; - - if (options.order) { - fields.order.value = options.order; - fields.order.hidden = true; - } + let fields = extraLineFields({ + order: options.order, + }); if (options.currency) { - fields.purchase_price_currency.value = options.currency; + fields.price_currency.value = options.currency; } - if (options.target_date) { - fields.target_date.value = options.target_date; - } - - return fields; + constructForm(options.url, { + fields: fields, + method: 'POST', + title: '{% trans "Add Extra Line Item" %}', + onSuccess: function(response) { + if (options.table) { + reloadBootstrapTable(options.table); + } + } + }); } +/* Remove a part selection from an order form. */ function removeOrderRowFromOrderWizard(e) { - /* Remove a part selection from an order form. */ e = e || window.event; @@ -1010,66 +88,10 @@ function removeOrderRowFromOrderWizard(e) { $('#' + row).remove(); } - -function newSupplierPartFromOrderWizard(e) { - /* Create a new supplier part directly from an order form. - * Launches a secondary modal and (if successful), - * back-populates the selected row. - */ - - e = e || window.event; - - var src = e.srcElement || e.target; - - var part = $(src).attr('part'); - - if (!part) { - part = $(src).closest('button').attr('part'); - } - - createSupplierPart({ - part: part, - onSuccess: function(data) { - - // TODO: 2021-08-23 - This whole form wizard needs to be refactored. - // In the future, use the API forms functionality to add the new item - // For now, this hack will have to do... - - var dropdown = `#id_supplier_part_${part}`; - - var pk = data.pk; - - inventreeGet( - `/api/company/part/${pk}/`, - { - supplier_detail: true, - }, - { - success: function(response) { - var text = ''; - - if (response.supplier_detail) { - text += response.supplier_detail.name; - text += ' | '; - } - - text += response.SKU; - - var option = new Option(text, pk, true, true); - - $('#modal-form').find(dropdown).append(option).trigger('change'); - } - } - ); - } - }); -} - /** * Export an order (PurchaseOrder or SalesOrder) * * - Display a simple form which presents the user with export options - * */ function exportOrder(redirect_url, options={}) { @@ -1109,2827 +131,6 @@ function exportOrder(redirect_url, options={}) { } -/* - * Create a new form to order parts based on the list of provided parts. - */ -function orderParts(parts_list, options) { - - var parts = []; - - var parts_seen = {}; - - parts_list.forEach(function(part) { - if (part.purchaseable) { - - // Prevent duplicates - if (!(part.pk in parts_seen)) { - parts_seen[part.pk] = true; - parts.push(part); - } - } - }); - - if (parts.length == 0) { - showAlertDialog( - '{% trans "Select Parts" %}', - '{% trans "At least one purchaseable part must be selected" %}', - ); - return; - } - - // Render a single part within the dialog - function renderPart(part, opts={}) { - - var pk = part.pk; - - var thumb = thumbnailImage(part.thumbnail || part.image); - - // Default quantity value - var quantity = part.quantity || 1; - - if (quantity < 0) { - quantity = 0; - } - - var quantity_input = constructField( - `quantity_${pk}`, - { - type: 'decimal', - min_value: 0, - value: quantity, - title: '{% trans "Quantity to order" %}', - required: true, - }, - { - hideLabels: true, - } - ); - - var supplier_part_prefix = ` - - `; - - var supplier_part_input = constructField( - `part_${pk}`, - { - type: 'related field', - required: true, - prefixRaw: supplier_part_prefix, - }, - { - hideLabels: true, - } - ); - - var purchase_order_prefix = ` - - `; - - var purchase_order_input = constructField( - `order_${pk}`, - { - type: 'related field', - required: true, - prefixRaw: purchase_order_prefix, - }, - { - hideLabels: 'true', - } - ); - - var buttons = `
    `; - - if (parts.length > 1) { - buttons += makeIconButton( - 'fa-times icon-red', - 'button-row-remove', - pk, - '{% trans "Remove row" %}', - ); - } - - // Button to add row to purchase order - buttons += makeIconButton( - 'fa-shopping-cart icon-blue', - 'button-row-add', - pk, - '{% trans "Add to purchase order" %}', - ); - - buttons += `
    `; - - var html = ` - - ${thumb} ${part.full_name} - ${supplier_part_input} - ${purchase_order_input} - ${quantity_input} - ${buttons} - `; - - return html; - } - - // Remove a single row form this dialog - function removeRow(pk, opts) { - // Remove the row - $(opts.modal).find(`#order_row_${pk}`).remove(); - - // If the modal is now "empty", dismiss it - if (!($(opts.modal).find('.part-order-row').exists())) { - closeModal(opts.modal); - // If there is a onSuccess callback defined, call it - if (options && options.onSuccess) { - options.onSuccess(); - } - } - } - - var table_entries = ''; - - parts.forEach(function(part) { - table_entries += renderPart(part); - }); - - var html = ''; - - // Add table - html += ` - - - - - - - - - - - - ${table_entries} - -
    {% trans "Part" %}{% trans "Supplier Part" %}{% trans "Purchase Order" %}{% trans "Quantity" %}
    - `; - - // Construct API filters for the SupplierPart field - var supplier_part_filters = { - supplier_detail: true, - part_detail: true, - }; - - if (options.supplier) { - supplier_part_filters.supplier = options.supplier; - } - - if (options.manufacturer) { - supplier_part_filters.manufacturer = options.manufacturer; - } - - if (options.manufacturer_part) { - supplier_part_filters.manufacturer_part = options.manufacturer_part; - } - - // Construct API filtres for the PurchaseOrder field - var order_filters = { - status: {{ PurchaseOrderStatus.PENDING }}, - supplier_detail: true, - }; - - if (options.supplier) { - order_filters.supplier = options.supplier; - } - - constructFormBody({}, { - preFormContent: html, - title: '{% trans "Order Parts" %}', - hideSubmitButton: true, - closeText: '{% trans "Close" %}', - afterRender: function(fields, opts) { - parts.forEach(function(part) { - - var pk = part.pk; - - // Filter by base part - supplier_part_filters.part = pk; - - if (part.manufacturer_part) { - // Filter by manufacturer part - supplier_part_filters.manufacturer_part = part.manufacturer_part; - } - - // Callback function when supplier part is changed - // This is used to update the "pack size" attribute - var onSupplierPartChanged = function(value, name, field, opts) { - var pack_size = 1; - var units = ''; - - $(opts.modal).find(`#info-pack-size-${pk}`).remove(); - - if (value != null) { - inventreeGet( - `/api/company/part/${value}/`, - { - part_detail: true, - }, - { - success: function(response) { - pack_size = response.pack_size || 1; - units = response.part_detail.units || ''; - } - } - ).then(function() { - if (pack_size != 1) { - var txt = ` {% trans "Pack Quantity" %}: ${pack_size} ${units}`; - $(opts.modal).find(`#id_quantity_${pk}`).after(`
    ${txt}
    `); - } - }); - } - }; - - var supplier_part_field = { - name: `part_${part.pk}`, - model: 'supplierpart', - api_url: '{% url "api-supplier-part-list" %}', - required: true, - type: 'related field', - auto_fill: true, - value: options.supplier_part, - filters: supplier_part_filters, - onEdit: onSupplierPartChanged, - noResults: function(query) { - return '{% trans "No matching supplier parts" %}'; - } - }; - - // Configure the "supplier part" field - initializeRelatedField(supplier_part_field, null, opts); - addFieldCallback(`part_${part.pk}`, supplier_part_field, opts); - - // Configure the "purchase order" field - initializeRelatedField({ - name: `order_${part.pk}`, - model: 'purchaseorder', - api_url: '{% url "api-po-list" %}', - required: true, - type: 'related field', - auto_fill: false, - value: options.order, - filters: order_filters, - noResults: function(query) { - return '{% trans "No matching purchase orders" %}'; - } - }, null, opts); - - // Request 'requirements' information for each part - inventreeGet(`/api/part/${part.pk}/requirements/`, {}, { - success: function(response) { - var required = response.required || 0; - var allocated = response.allocated || 0; - var available = response.available_stock || 0; - - // Based on what we currently 'have' on hand, what do we need to order? - var deficit = Math.max(required - allocated, 0); - - if (available < deficit) { - var q = deficit - available; - - updateFieldValue( - `quantity_${part.pk}`, - q, - {}, - opts - ); - } - } - }); - }); - - // Add callback for "add to purchase order" button - $(opts.modal).find('.button-row-add').click(function() { - var pk = $(this).attr('pk'); - - opts.field_suffix = null; - - // Extract information from the row - var data = { - quantity: getFormFieldValue(`quantity_${pk}`, {type: 'decimal'}, opts), - part: getFormFieldValue(`part_${pk}`, {}, opts), - order: getFormFieldValue(`order_${pk}`, {}, opts), - }; - - // Duplicate the form options, to prevent 'field_suffix' override - var row_opts = Object.assign(opts); - row_opts.field_suffix = `_${pk}`; - - inventreePut( - '{% url "api-po-line-list" %}', - data, - { - method: 'POST', - success: function(response) { - removeRow(pk, opts); - }, - error: function(xhr) { - switch (xhr.status) { - case 400: - handleFormErrors(xhr.responseJSON, fields, row_opts); - break; - default: - console.error(`Error adding line to purchase order`); - showApiError(xhr, options.url); - break; - } - } - } - ); - }); - - // Add callback for "remove row" button - $(opts.modal).find('.button-row-remove').click(function() { - var pk = $(this).attr('pk'); - - removeRow(pk, opts); - }); - - // Add callback for "new supplier part" button - $(opts.modal).find('.button-row-new-sp').click(function() { - var pk = $(this).attr('pk'); - - // Launch dialog to create new supplier part - createSupplierPart({ - part: pk, - onSuccess: function(response) { - setRelatedFieldData( - `part_${pk}`, - response, - opts - ); - } - }); - }); - - // Add callback for "new purchase order" button - $(opts.modal).find('.button-row-new-po').click(function() { - var pk = $(this).attr('pk'); - - // Launch dialog to create new purchase order - createPurchaseOrder({ - onSuccess: function(response) { - setRelatedFieldData( - `order_${pk}`, - response, - opts - ); - } - }); - }); - } - }); - -} - -function newPurchaseOrderFromOrderWizard(e) { - /* Create a new purchase order directly from an order form. - * Launches a secondary modal and (if successful), - * back-fills the newly created purchase order. - */ - - e = e || window.event; - - var src = e.target || e.srcElement; - - var supplier = $(src).attr('supplierid'); - - createPurchaseOrder({ - supplier: supplier, - onSuccess: function(data) { - - // TODO: 2021-08-23 - The whole form wizard needs to be refactored - // In the future, the drop-down should be using a dynamic AJAX request - // to fill out the select2 options! - - var pk = data.pk; - - inventreeGet( - `/api/order/po/${pk}/`, - { - supplier_detail: true, - }, - { - success: function(response) { - var text = response.reference; - - if (response.supplier_detail) { - text += ` ${response.supplier_detail.name}`; - } - - var dropdown = `#id-purchase-order-${supplier}`; - - var option = new Option(text, pk, true, true); - - $('#modal-form').find(dropdown).append(option).trigger('change'); - } - } - ); - } - }); -} - - -/** - * Receive stock items against a PurchaseOrder - * Uses the PurchaseOrderReceive API endpoint - * - * arguments: - * - order_id, ID / PK for the PurchaseOrder instance - * - line_items: A list of PurchaseOrderLineItems objects to be allocated - * - * options: - * - - */ -function receivePurchaseOrderItems(order_id, line_items, options={}) { - - // Zero items selected? - if (line_items.length == 0) { - - showAlertDialog( - '{% trans "Select Line Items" %}', - '{% trans "At least one line item must be selected" %}', - ); - return; - } - - function renderLineItem(line_item, opts={}) { - - var pk = line_item.pk; - - // Part thumbnail + description - var thumb = thumbnailImage(line_item.part_detail.thumbnail); - - var quantity = (line_item.quantity || 0) - (line_item.received || 0); - - if (quantity < 0) { - quantity = 0; - } - - // Prepend toggles to the quantity input - var toggle_batch = ` - - - - `; - - var toggle_serials = ` - - - - `; - - var units = line_item.part_detail.units || ''; - var pack_size = line_item.supplier_part_detail.pack_size || 1; - var pack_size_div = ''; - - var received = quantity * pack_size; - - if (pack_size != 1) { - pack_size_div = ` -
    - {% trans "Pack Quantity" %}: ${pack_size} ${units}
    - {% trans "Received Quantity" %}: ${received} ${units} -
    `; - } - - // Quantity to Receive - var quantity_input = constructField( - `items_quantity_${pk}`, - { - type: 'decimal', - min_value: 0, - value: quantity, - title: '{% trans "Quantity to receive" %}', - required: true, - }, - { - hideLabels: true, - } - ); - - // Add in options for "batch code" and "serial numbers" - var batch_input = constructField( - `items_batch_code_${pk}`, - { - type: 'string', - required: false, - label: '{% trans "Batch Code" %}', - help_text: '{% trans "Enter batch code for incoming stock items" %}', - prefixRaw: toggle_batch, - } - ); - - var sn_input = constructField( - `items_serial_numbers_${pk}`, - { - type: 'string', - required: false, - label: '{% trans "Serial Numbers" %}', - help_text: '{% trans "Enter serial numbers for incoming stock items" %}', - prefixRaw: toggle_serials, - } - ); - - // Hidden inputs below the "quantity" field - var quantity_input_group = `${quantity_input}${pack_size_div}
    ${batch_input}
    `; - - if (line_item.part_detail.trackable) { - quantity_input_group += `
    ${sn_input}
    `; - } - - // Construct list of StockItem status codes - var choices = []; - - for (var key in stockCodes) { - choices.push({ - value: key, - display_name: stockCodes[key].value, - }); - } - - var destination_input = constructField( - `items_location_${pk}`, - { - type: 'related field', - label: '{% trans "Location" %}', - required: false, - }, - { - hideLabels: true, - } - ); - - var status_input = constructField( - `items_status_${pk}`, - { - type: 'choice', - label: '{% trans "Stock Status" %}', - required: true, - choices: choices, - value: 10, // OK - }, - { - hideLabels: true, - } - ); - - // Button to remove the row - var buttons = `
    `; - - buttons += makeIconButton( - 'fa-layer-group', - 'button-row-add-batch', - pk, - '{% trans "Add batch code" %}', - { - collapseTarget: `div-batch-${pk}` - } - ); - - if (line_item.part_detail.trackable) { - buttons += makeIconButton( - 'fa-hashtag', - 'button-row-add-serials', - pk, - '{% trans "Add serial numbers" %}', - { - collapseTarget: `div-serials-${pk}`, - } - ); - } - - if (line_items.length > 1) { - buttons += makeIconButton( - 'fa-times icon-red', - 'button-row-remove', - pk, - '{% trans "Remove row" %}', - ); - } - - buttons += '
    '; - - var html = ` - - - ${thumb} ${line_item.part_detail.full_name} - - - ${line_item.supplier_part_detail.SKU} - - - ${line_item.quantity} - - - ${line_item.received} - - - ${quantity_input_group} - - - ${status_input} - - - ${destination_input} - - - ${buttons} - - `; - - return html; - } - - var table_entries = ''; - - line_items.forEach(function(item) { - if (item.received < item.quantity) { - table_entries += renderLineItem(item); - } - }); - - var html = ``; - - // Add table - html += ` - - - - - - - - - - - - - - - ${table_entries} - -
    {% trans "Part" %}{% trans "Order Code" %}{% trans "Ordered" %}{% trans "Received" %}{% trans "Quantity to Receive" %}{% trans "Status" %}{% trans "Destination" %}
    - `; - - constructForm(`/api/order/po/${order_id}/receive/`, { - method: 'POST', - fields: { - location: { - filters: { - structural: false, - } - }, - }, - preFormContent: html, - confirm: true, - confirmMessage: '{% trans "Confirm receipt of items" %}', - title: '{% trans "Receive Purchase Order Items" %}', - afterRender: function(fields, opts) { - - // Run initialization routines for each line in the form - line_items.forEach(function(item) { - - var pk = item.pk; - - var name = `items_location_${pk}`; - - var field_details = { - name: name, - api_url: '{% url "api-location-list" %}', - filters: { - - }, - type: 'related field', - model: 'stocklocation', - required: false, - auto_fill: false, - value: item.destination || item.part_detail.default_location, - render_description: false, - }; - - // Initialize the location field - initializeRelatedField( - field_details, - null, - opts, - ); - - // Add 'clear' button callback for the location field - addClearCallback( - name, - field_details, - opts - ); - - // Setup stock item status field - initializeChoiceField( - { - name: `items_status_${pk}`, - }, - null, - opts - ); - - // Add change callback for quantity field - if (item.supplier_part_detail.pack_size != 1) { - $(opts.modal).find(`#id_items_quantity_${pk}`).change(function() { - var value = $(opts.modal).find(`#id_items_quantity_${pk}`).val(); - - var el = $(opts.modal).find(`#quantity_${pk}`).find('.pack_received_quantity'); - - var actual = value * item.supplier_part_detail.pack_size; - actual = formatDecimal(actual); - el.text(actual); - }); - } - }); - - // Add callbacks to remove rows - $(opts.modal).find('.button-row-remove').click(function() { - var pk = $(this).attr('pk'); - - $(opts.modal).find(`#receive_row_${pk}`).remove(); - }); - }, - onSubmit: function(fields, opts) { - // Extract data elements from the form - var data = { - items: [], - location: getFormFieldValue('location', {}, opts), - }; - - var item_pk_values = []; - - line_items.forEach(function(item) { - - var pk = item.pk; - - var quantity = getFormFieldValue(`items_quantity_${pk}`, {}, opts); - - var status = getFormFieldValue(`items_status_${pk}`, {}, opts); - - var location = getFormFieldValue(`items_location_${pk}`, {}, opts); - - if (quantity != null) { - - var line = { - line_item: pk, - quantity: quantity, - status: status, - location: location, - }; - - if (getFormFieldElement(`items_batch_code_${pk}`).exists()) { - line.batch_code = getFormFieldValue(`items_batch_code_${pk}`); - } - - if (getFormFieldElement(`items_serial_numbers_${pk}`).exists()) { - line.serial_numbers = getFormFieldValue(`items_serial_numbers_${pk}`); - } - - data.items.push(line); - item_pk_values.push(pk); - } - - }); - - // Provide list of nested values - opts.nested = { - 'items': item_pk_values, - }; - - inventreePut( - opts.url, - data, - { - method: 'POST', - success: function(response) { - // Hide the modal - $(opts.modal).modal('hide'); - - if (options.success) { - options.success(response); - } - }, - error: function(xhr) { - switch (xhr.status) { - case 400: - handleFormErrors(xhr.responseJSON, fields, opts); - break; - default: - $(opts.modal).modal('hide'); - showApiError(xhr, opts.url); - break; - } - } - } - ); - } - }); -} - - -function editPurchaseOrderLineItem(e) { - - /* Edit a purchase order line item in a modal form. - */ - - e = e || window.event; - - var src = e.target || e.srcElement; - - var url = $(src).attr('url'); - - // TODO: Migrate this to the API forms - launchModalForm(url, { - reload: true, - }); -} - -function removePurchaseOrderLineItem(e) { - - /* Delete a purchase order line item in a modal form - */ - - e = e || window.event; - - var src = e.target || e.srcElement; - - var url = $(src).attr('url'); - - // TODO: Migrate this to the API forms - launchModalForm(url, { - reload: true, - }); -} - - -/* - * Load a table displaying list of purchase orders - */ -function loadPurchaseOrderTable(table, options) { - // Ensure the table starts in a known state - $(table).bootstrapTable('destroy'); - - options.params = options.params || {}; - - options.params['supplier_detail'] = true; - - var filters = loadTableFilters('purchaseorder'); - - for (var key in options.params) { - filters[key] = options.params[key]; - } - - var target = '#filter-list-purchaseorder'; - - setupFilterList('purchaseorder', $(table), target, {download: true}); - - var display_mode = inventreeLoad('purchaseorder-table-display-mode', 'list'); - - // Function for rendering PurchaseOrder calendar display - function buildEvents(calendar) { - - var start = startDate(calendar); - var end = endDate(calendar); - - clearEvents(calendar); - - // Extract current filters from table - var table_options = $(table).bootstrapTable('getOptions'); - var filters = table_options.query_params || {}; - - filters.supplier_detail = true; - filters.min_date = start; - filters.max_date = end; - - // Request purchase orders from the server within specified date range - inventreeGet( - '{% url "api-po-list" %}', - filters, - { - success: function(response) { - for (var idx = 0; idx < response.length; idx++) { - - var order = response[idx]; - - var date = order.creation_date; - - if (order.complete_date) { - date = order.complete_date; - } else if (order.target_date) { - date = order.target_date; - } - - var title = `${order.reference} - ${order.supplier_detail.name}`; - - var color = '#4c68f5'; - - if (order.complete_date) { - color = '#25c235'; - } else if (order.overdue) { - color = '#c22525'; - } else { - color = '#4c68f5'; - } - - var event = { - title: title, - start: date, - end: date, - url: `/order/purchase-order/${order.pk}/`, - backgroundColor: color, - }; - - calendar.addEvent(event); - } - } - } - ); - } - - $(table).inventreeTable({ - url: '{% url "api-po-list" %}', - queryParams: filters, - name: 'purchaseorder', - groupBy: false, - sidePagination: 'server', - original: options.params, - showColumns: display_mode == 'list', - disablePagination: display_mode == 'calendar', - showCustomViewButton: false, - showCustomView: display_mode == 'calendar', - search: display_mode != 'calendar', - formatNoMatches: function() { - return '{% trans "No purchase orders found" %}'; - }, - buttons: constructOrderTableButtons({ - prefix: 'purchaseorder', - disableTreeView: true, - callback: function() { - // Reload the entire table - loadPurchaseOrderTable(table, options); - } - }), - columns: [ - { - title: '', - visible: true, - checkbox: true, - switchable: false, - }, - { - field: 'reference', - title: '{% trans "Purchase Order" %}', - sortable: true, - switchable: false, - formatter: function(value, row) { - - var html = renderLink(value, `/order/purchase-order/${row.pk}/`); - - if (row.overdue) { - html += makeIconBadge('fa-calendar-times icon-red', '{% trans "Order is overdue" %}'); - } - - return html; - } - }, - { - field: 'supplier_detail', - title: '{% trans "Supplier" %}', - sortable: true, - sortName: 'supplier__name', - formatter: function(value, row) { - return imageHoverIcon(row.supplier_detail.image) + renderLink(row.supplier_detail.name, `/company/${row.supplier}/?display=purchase-orders`); - } - }, - { - field: 'supplier_reference', - title: '{% trans "Supplier Reference" %}', - }, - { - field: 'description', - title: '{% trans "Description" %}', - }, - { - field: 'status', - title: '{% trans "Status" %}', - switchable: true, - sortable: true, - formatter: function(value, row) { - return purchaseOrderStatusDisplay(row.status); - } - }, - { - field: 'creation_date', - title: '{% trans "Date" %}', - sortable: true, - formatter: function(value) { - return renderDate(value); - } - }, - { - field: 'target_date', - title: '{% trans "Target Date" %}', - sortable: true, - formatter: function(value) { - return renderDate(value); - } - }, - { - field: 'line_items', - title: '{% trans "Items" %}', - sortable: true, - }, - { - field: 'total_price', - title: '{% trans "Total Cost" %}', - switchable: true, - sortable: true, - formatter: function(value, row) { - return formatCurrency(value, { - currency: row.total_price_currency, - }); - }, - }, - { - field: 'responsible', - title: '{% trans "Responsible" %}', - switchable: true, - sortable: true, - formatter: function(value, row) { - - if (!row.responsible_detail) { - return '-'; - } - - var html = row.responsible_detail.name; - - if (row.responsible_detail.label == 'group') { - html += ``; - } else { - html += ``; - } - - return html; - } - }, - ], - customView: function(data) { - return `
    `; - }, - onRefresh: function() { - loadPurchaseOrderTable(table, options); - }, - onLoadSuccess: function() { - - if (display_mode == 'calendar') { - var el = document.getElementById('purchase-order-calendar'); - - calendar = new FullCalendar.Calendar(el, { - initialView: 'dayGridMonth', - nowIndicator: true, - aspectRatio: 2.5, - locale: options.locale, - datesSet: function() { - buildEvents(calendar); - } - }); - - calendar.render(); - } - } - }); -} - - -/* - * Delete the selected Purchase Order Line Items from the database - */ -function deletePurchaseOrderLineItems(items, options={}) { - - function renderItem(item, opts={}) { - - var part = item.part_detail; - var thumb = thumbnailImage(item.part_detail.thumbnail || item.part_detail.image); - var MPN = item.supplier_part_detail.manufacturer_part_detail ? item.supplier_part_detail.manufacturer_part_detail.MPN : '-'; - - var html = ` - - ${thumb} ${part.full_name} - ${part.description} - ${item.supplier_part_detail.SKU} - ${MPN} - ${item.quantity} - - `; - - return html; - } - - var rows = ''; - var ids = []; - - items.forEach(function(item) { - rows += renderItem(item); - ids.push(item.pk); - }); - - var html = ` -
    - {% trans "All selected Line items will be deleted" %} -
    - - - - - - - - - - ${rows} -
    {% trans "Part" %}{% trans "Description" %}{% trans "SKU" %}{% trans "MPN" %}{% trans "Quantity" %}
    - `; - - constructForm('{% url "api-po-line-list" %}', { - method: 'DELETE', - multi_delete: true, - title: '{% trans "Delete selected Line items?" %}', - form_data: { - items: ids, - }, - preFormContent: html, - onSuccess: function() { - // Refresh the table once the line items are deleted - $('#po-line-table').bootstrapTable('refresh'); - }, - }); -} - - -/** - * Load a table displaying line items for a particular PurchasesOrder - * @param {String} table - HTML ID tag e.g. '#table' - * @param {Object} options - options which must provide: - * - order (integer PK) - * - supplier (integer PK) - * - allow_edit (boolean) - * - allow_receive (boolean) - */ -function loadPurchaseOrderLineItemTable(table, options={}) { - - options.params = options.params || {}; - - options.params['order'] = options.order; - options.params['part_detail'] = true; - - // Override 'editing' if order is not pending - if (!options.pending && !global_settings.PURCHASEORDER_EDIT_COMPLETED_ORDERS) { - options.allow_edit = false; - } - - var filters = loadTableFilters('purchaseorderlineitem'); - - for (var key in options.params) { - filters[key] = options.params[key]; - } - - var target = options.filter_target || '#filter-list-purchase-order-lines'; - - setupFilterList( - 'purchaseorderlineitem', - $(table), - target, - { - download: true - } - ); - - function setupCallbacks() { - if (options.allow_edit) { - - // Callback for "duplicate" button - $(table).find('.button-line-duplicate').click(function() { - var pk = $(this).attr('pk'); - - inventreeGet(`/api/order/po-line/${pk}/`, {}, { - success: function(data) { - - var fields = poLineItemFields({ - supplier: options.supplier, - }); - - constructForm('{% url "api-po-line-list" %}', { - method: 'POST', - fields: fields, - data: data, - title: '{% trans "Duplicate Line Item" %}', - onSuccess: function(response) { - $(table).bootstrapTable('refresh'); - } - }); - } - }); - }); - - // Callback for "edit" button - $(table).find('.button-line-edit').click(function() { - var pk = $(this).attr('pk'); - - var fields = poLineItemFields(options); - - constructForm(`/api/order/po-line/${pk}/`, { - fields: fields, - title: '{% trans "Edit Line Item" %}', - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } - }); - }); - - // Callback for "delete" button - $(table).find('.button-line-delete').click(function() { - var pk = $(this).attr('pk'); - - constructForm(`/api/order/po-line/${pk}/`, { - method: 'DELETE', - title: '{% trans "Delete Line Item" %}', - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } - }); - }); - - // Callback for bulk deleting mutliple lines - $('#po-lines-bulk-delete').off('click').on('click', function() { - var rows = getTableData(' #po-line-table'); - - deletePurchaseOrderLineItems(rows); - }); - } - - if (options.allow_receive) { - $(table).find('.button-line-receive').click(function() { - var pk = $(this).attr('pk'); - - var line_item = $(table).bootstrapTable('getRowByUniqueId', pk); - - if (!line_item) { - console.warn('getRowByUniqueId returned null'); - return; - } - - receivePurchaseOrderItems( - options.order, - [ - line_item, - ], - { - success: function() { - // Reload the line item table - $(table).bootstrapTable('refresh'); - - // Reload the "received stock" table - $('#stock-table').bootstrapTable('refresh'); - } - } - ); - }); - } - } - - $(table).inventreeTable({ - onPostBody: setupCallbacks, - name: 'purchaseorderlines', - sidePagination: 'server', - formatNoMatches: function() { - return '{% trans "No line items found" %}'; - }, - queryParams: filters, - original: options.params, - url: '{% url "api-po-line-list" %}', - showFooter: true, - uniqueId: 'pk', - columns: [ - { - checkbox: true, - visible: true, - switchable: false, - }, - { - field: 'part', - sortable: true, - sortName: 'part_name', - title: '{% trans "Part" %}', - switchable: false, - formatter: function(value, row, index, field) { - if (row.part) { - return imageHoverIcon(row.part_detail.thumbnail) + renderLink(row.part_detail.full_name, `/part/${row.part_detail.pk}/`); - } else { - return '-'; - } - }, - footerFormatter: function() { - return '{% trans "Total" %}'; - } - }, - { - field: 'part_detail.description', - title: '{% trans "Description" %}', - }, - { - sortable: true, - sortName: 'SKU', - field: 'supplier_part_detail.SKU', - title: '{% trans "SKU" %}', - formatter: function(value, row, index, field) { - if (value) { - return renderLink(value, `/supplier-part/${row.part}/`); - } else { - return '-'; - } - }, - }, - { - sortable: false, - field: 'supplier_part_detail.link', - title: '{% trans "Link" %}', - formatter: function(value, row, index, field) { - if (value) { - return renderLink(value, value); - } else { - return ''; - } - }, - }, - { - sortable: true, - sortName: 'MPN', - field: 'supplier_part_detail.manufacturer_part_detail.MPN', - title: '{% trans "MPN" %}', - formatter: function(value, row, index, field) { - if (row.supplier_part_detail && row.supplier_part_detail.manufacturer_part) { - return renderLink(value, `/manufacturer-part/${row.supplier_part_detail.manufacturer_part}/`); - } else { - return '-'; - } - }, - }, - { - sortable: true, - field: 'reference', - title: '{% trans "Reference" %}', - }, - { - sortable: true, - switchable: false, - field: 'quantity', - title: '{% trans "Quantity" %}', - formatter: function(value, row) { - var units = ''; - - if (row.part_detail.units) { - units = ` ${row.part_detail.units}`; - } - - var data = value; - - if (row.supplier_part_detail.pack_size != 1.0) { - var pack_size = row.supplier_part_detail.pack_size; - var total = value * pack_size; - data += ``; - } - - return data; - }, - footerFormatter: function(data) { - return data.map(function(row) { - return +row['quantity']; - }).reduce(function(sum, i) { - return sum + i; - }, 0); - } - }, - { - sortable: false, - switchable: true, - field: 'supplier_part_detail.pack_size', - title: '{% trans "Pack Quantity" %}', - formatter: function(value, row) { - var units = row.part_detail.units; - - if (units) { - value += ` ${units}`; - } - - return value; - } - }, - { - sortable: true, - field: 'purchase_price', - title: '{% trans "Unit Price" %}', - formatter: function(value, row) { - return formatCurrency(row.purchase_price, { - currency: row.purchase_price_currency, - }); - } - }, - { - field: 'total_price', - sortable: true, - title: '{% trans "Total Price" %}', - formatter: function(value, row) { - return formatCurrency(row.purchase_price * row.quantity, { - currency: row.purchase_price_currency - }); - }, - footerFormatter: function(data) { - return calculateTotalPrice( - data, - function(row) { - return row.purchase_price ? row.purchase_price * row.quantity : null; - }, - function(row) { - return row.purchase_price_currency; - } - ); - } - }, - { - sortable: true, - field: 'target_date', - switchable: true, - title: '{% trans "Target Date" %}', - formatter: function(value, row) { - if (row.target_date) { - var html = renderDate(row.target_date); - - if (row.overdue) { - html += ``; - } - - return html; - - } else if (row.order_detail && row.order_detail.target_date) { - return `${renderDate(row.order_detail.target_date)}`; - } else { - return '-'; - } - } - }, - { - sortable: false, - field: 'received', - switchable: false, - title: '{% trans "Received" %}', - formatter: function(value, row, index, field) { - return makeProgressBar(row.received, row.quantity, { - id: `order-line-progress-${row.pk}`, - }); - }, - sorter: function(valA, valB, rowA, rowB) { - - if (rowA.received == 0 && rowB.received == 0) { - return (rowA.quantity > rowB.quantity) ? 1 : -1; - } - - var progressA = parseFloat(rowA.received) / rowA.quantity; - var progressB = parseFloat(rowB.received) / rowB.quantity; - - return (progressA < progressB) ? 1 : -1; - } - }, - { - field: 'destination', - title: '{% trans "Destination" %}', - formatter: function(value, row) { - if (value) { - return renderLink(row.destination_detail.pathstring, `/stock/location/${value}/`); - } else { - return '-'; - } - } - }, - { - field: 'notes', - title: '{% trans "Notes" %}', - }, - { - switchable: false, - field: 'buttons', - title: '', - formatter: function(value, row, index, field) { - var html = `
    `; - - var pk = row.pk; - - if (options.allow_receive && row.received < row.quantity) { - html += makeIconButton('fa-sign-in-alt icon-green', 'button-line-receive', pk, '{% trans "Receive line item" %}'); - } - - if (options.allow_edit) { - html += makeIconButton('fa-clone', 'button-line-duplicate', pk, '{% trans "Duplicate line item" %}'); - html += makeIconButton('fa-edit icon-blue', 'button-line-edit', pk, '{% trans "Edit line item" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-line-delete', pk, '{% trans "Delete line item" %}'); - } - - html += `
    `; - - return html; - }, - } - ] - }); - - linkButtonsToSelection( - table, - [ - '#multi-select-options', - ] - ); - -} - - -/** - * Load a table displaying lines for a particular PurchaseOrder - * - * @param {String} table : HTML ID tag e.g. '#table' - * @param {Object} options : object which contains: - * - order {integer} : pk of the PurchaseOrder - * - status: {integer} : status code for the order - */ -function loadPurchaseOrderExtraLineTable(table, options={}) { - - options.table = table; - - if (!options.pending && !global_settings.PURCHASEORDER_EDIT_COMPLETED_ORDERS) { - options.allow_edit = false; - } - - options.params = options.params || {}; - - if (!options.order) { - console.error('function called without order ID'); - return; - } - - if (!options.status) { - console.error('function called without order status'); - return; - } - - options.params.order = options.order; - options.params.part_detail = true; - options.params.allocations = true; - - var filters = loadTableFilters('purchaseorderextraline'); - - for (var key in options.params) { - filters[key] = options.params[key]; - } - - options.url = options.url || '{% url "api-po-extra-line-list" %}'; - - var filter_target = options.filter_target || '#filter-list-purchase-order-extra-lines'; - - setupFilterList('purchaseorderextraline', $(table), filter_target, {download: true}); - - // Table columns to display - var columns = [ - { - sortable: true, - field: 'reference', - title: '{% trans "Reference" %}', - switchable: true, - }, - { - sortable: true, - field: 'quantity', - title: '{% trans "Quantity" %}', - footerFormatter: function(data) { - return data.map(function(row) { - return +row['quantity']; - }).reduce(function(sum, i) { - return sum + i; - }, 0); - }, - switchable: false, - }, - { - sortable: true, - field: 'price', - title: '{% trans "Unit Price" %}', - formatter: function(value, row) { - return formatCurrency(row.price, { - currency: row.price_currency, - }); - } - }, - { - field: 'total_price', - sortable: true, - title: '{% trans "Total Price" %}', - formatter: function(value, row) { - return formatCurrency(row.price * row.quantity, { - currency: row.price_currency, - }); - }, - footerFormatter: function(data) { - return calculateTotalPrice( - data, - function(row) { - return row.price ? row.price * row.quantity : null; - }, - function(row) { - return row.price_currency; - } - ); - } - } - ]; - - columns.push({ - field: 'notes', - title: '{% trans "Notes" %}', - }); - - columns.push({ - field: 'buttons', - switchable: false, - formatter: function(value, row, index, field) { - - var html = `
    `; - - var pk = row.pk; - - if (options.allow_edit) { - html += makeIconButton('fa-clone', 'button-duplicate', pk, '{% trans "Duplicate line" %}'); - html += makeIconButton('fa-edit icon-blue', 'button-edit', pk, '{% trans "Edit line" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-delete', pk, '{% trans "Delete line" %}', ); - } - - html += `
    `; - - return html; - } - }); - - function reloadTable() { - $(table).bootstrapTable('refresh'); - reloadTotal(); - } - - // Configure callback functions once the table is loaded - function setupCallbacks() { - - // Callback for duplicating lines - $(table).find('.button-duplicate').click(function() { - var pk = $(this).attr('pk'); - - inventreeGet(`/api/order/po-extra-line/${pk}/`, {}, { - success: function(data) { - - var fields = extraLineFields(); - - constructForm('{% url "api-po-extra-line-list" %}', { - method: 'POST', - fields: fields, - data: data, - title: '{% trans "Duplicate Line" %}', - onSuccess: function(response) { - $(table).bootstrapTable('refresh'); - } - }); - } - }); - }); - - // Callback for editing lines - $(table).find('.button-edit').click(function() { - var pk = $(this).attr('pk'); - - constructForm(`/api/order/po-extra-line/${pk}/`, { - fields: extraLineFields(), - title: '{% trans "Edit Line" %}', - onSuccess: reloadTable, - }); - }); - - // Callback for deleting lines - $(table).find('.button-delete').click(function() { - var pk = $(this).attr('pk'); - - constructForm(`/api/order/po-extra-line/${pk}/`, { - method: 'DELETE', - title: '{% trans "Delete Line" %}', - onSuccess: reloadTable, - }); - }); - } - - $(table).inventreeTable({ - onPostBody: setupCallbacks, - name: 'purchaseorderextraline', - sidePagination: 'client', - formatNoMatches: function() { - return '{% trans "No matching line" %}'; - }, - queryParams: filters, - original: options.params, - url: options.url, - showFooter: true, - uniqueId: 'pk', - detailViewByClick: false, - columns: columns, - }); -} - - -/* - * Load table displaying list of sales orders - */ -function loadSalesOrderTable(table, options) { - - // Ensure the table starts in a known state - $(table).bootstrapTable('destroy'); - - options.params = options.params || {}; - options.params['customer_detail'] = true; - - var filters = loadTableFilters('salesorder'); - - for (var key in options.params) { - filters[key] = options.params[key]; - } - - options.url = options.url || '{% url "api-so-list" %}'; - - var target = '#filter-list-salesorder'; - - setupFilterList('salesorder', $(table), target, {download: true}); - - var display_mode = inventreeLoad('salesorder-table-display-mode', 'list'); - - function buildEvents(calendar) { - - var start = startDate(calendar); - var end = endDate(calendar); - - clearEvents(calendar); - - // Extract current filters from table - var table_options = $(table).bootstrapTable('getOptions'); - var filters = table_options.query_params || {}; - - filters.customer_detail = true; - filters.min_date = start; - filters.max_date = end; - - // Request orders from the server within specified date range - inventreeGet( - '{% url "api-so-list" %}', - filters, - { - success: function(response) { - - for (var idx = 0; idx < response.length; idx++) { - var order = response[idx]; - - var date = order.creation_date; - - if (order.shipment_date) { - date = order.shipment_date; - } else if (order.target_date) { - date = order.target_date; - } - - var title = `${order.reference} - ${order.customer_detail.name}`; - - // Default color is blue - var color = '#4c68f5'; - - // Overdue orders are red - if (order.overdue) { - color = '#c22525'; - } else if (order.status == {{ SalesOrderStatus.SHIPPED }}) { - color = '#25c235'; - } - - var event = { - title: title, - start: date, - end: date, - url: `/order/sales-order/${order.pk}/`, - backgroundColor: color, - }; - - calendar.addEvent(event); - } - } - } - ); - } - - $(table).inventreeTable({ - url: options.url, - queryParams: filters, - name: 'salesorder', - groupBy: false, - sidePagination: 'server', - original: options.params, - showColums: display_mode != 'calendar', - search: display_mode != 'calendar', - showCustomViewButton: false, - showCustomView: display_mode == 'calendar', - disablePagination: display_mode == 'calendar', - formatNoMatches: function() { - return '{% trans "No sales orders found" %}'; - }, - buttons: constructOrderTableButtons({ - prefix: 'salesorder', - disableTreeView: true, - callback: function() { - // Reload the entire table - loadSalesOrderTable(table, options); - }, - }), - customView: function(data) { - return `
    `; - }, - onRefresh: function() { - loadSalesOrderTable(table, options); - }, - onLoadSuccess: function() { - - if (display_mode == 'calendar') { - var el = document.getElementById('purchase-order-calendar'); - - calendar = new FullCalendar.Calendar(el, { - initialView: 'dayGridMonth', - nowIndicator: true, - aspectRatio: 2.5, - locale: options.locale, - datesSet: function() { - buildEvents(calendar); - } - }); - - calendar.render(); - } - }, - columns: [ - { - title: '', - checkbox: true, - visible: true, - switchable: false, - }, - { - sortable: true, - field: 'reference', - title: '{% trans "Sales Order" %}', - formatter: function(value, row) { - var html = renderLink(value, `/order/sales-order/${row.pk}/`); - - if (row.overdue) { - html += makeIconBadge('fa-calendar-times icon-red', '{% trans "Order is overdue" %}'); - } - - return html; - }, - }, - { - sortable: true, - sortName: 'customer__name', - field: 'customer_detail', - title: '{% trans "Customer" %}', - formatter: function(value, row) { - - if (!row.customer_detail) { - return '{% trans "Invalid Customer" %}'; - } - - return imageHoverIcon(row.customer_detail.image) + renderLink(row.customer_detail.name, `/company/${row.customer}/sales-orders/`); - } - }, - { - sortable: true, - field: 'customer_reference', - title: '{% trans "Customer Reference" %}', - }, - { - sortable: false, - field: 'description', - title: '{% trans "Description" %}', - }, - { - sortable: true, - field: 'status', - title: '{% trans "Status" %}', - formatter: function(value, row) { - return salesOrderStatusDisplay(row.status); - } - }, - { - sortable: true, - field: 'creation_date', - title: '{% trans "Creation Date" %}', - formatter: function(value) { - return renderDate(value); - } - }, - { - sortable: true, - field: 'target_date', - title: '{% trans "Target Date" %}', - formatter: function(value) { - return renderDate(value); - } - }, - { - sortable: true, - field: 'shipment_date', - title: '{% trans "Shipment Date" %}', - formatter: function(value) { - return renderDate(value); - } - }, - { - sortable: true, - field: 'line_items', - title: '{% trans "Items" %}' - }, - { - field: 'total_price', - title: '{% trans "Total Cost" %}', - switchable: true, - sortable: true, - formatter: function(value, row) { - return formatCurrency(value, { - currency: row.total_price_currency, - }); - } - } - ], - }); -} - - -/* - * Load a table displaying Shipment information against a particular order - */ -function loadSalesOrderShipmentTable(table, options={}) { - - options.table = table; - - options.params = options.params || {}; - - // Filter by order - options.params.order = options.order; - - // Filter by "shipped" status - options.params.shipped = options.shipped || false; - - var filters = loadTableFilters('salesordershipment'); - - for (var key in options.params) { - filters[key] = options.params[key]; - } - - setupFilterList('salesordershipment', $(table), options.filter_target); - - // Add callbacks for expand / collapse buttons - var prefix = options.shipped ? 'completed' : 'pending'; - - $(`#${prefix}-shipments-expand`).click(function() { - $(table).bootstrapTable('expandAllRows'); - }); - - $(`#${prefix}-shipments-collapse`).click(function() { - $(table).bootstrapTable('collapseAllRows'); - }); - - function makeShipmentActions(row) { - // Construct "actions" for the given shipment row - var pk = row.pk; - - var html = `
    `; - - html += makeIconButton('fa-edit icon-blue', 'button-shipment-edit', pk, '{% trans "Edit shipment" %}'); - - if (!options.shipped) { - html += makeIconButton('fa-truck icon-green', 'button-shipment-ship', pk, '{% trans "Complete shipment" %}'); - } - - var enable_delete = row.allocations && row.allocations.length == 0; - - html += makeIconButton('fa-trash-alt icon-red', 'button-shipment-delete', pk, '{% trans "Delete shipment" %}', {disabled: !enable_delete}); - - html += `
    `; - - return html; - - } - - function setupShipmentCallbacks() { - // Setup action button callbacks - - $(table).find('.button-shipment-edit').click(function() { - var pk = $(this).attr('pk'); - - var fields = salesOrderShipmentFields(); - - delete fields.order; - - constructForm(`/api/order/so/shipment/${pk}/`, { - fields: fields, - title: '{% trans "Edit Shipment" %}', - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } - }); - }); - - $(table).find('.button-shipment-ship').click(function() { - var pk = $(this).attr('pk'); - - completeShipment(pk); - }); - - $(table).find('.button-shipment-delete').click(function() { - var pk = $(this).attr('pk'); - - constructForm(`/api/order/so/shipment/${pk}/`, { - title: '{% trans "Delete Shipment" %}', - method: 'DELETE', - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } - }); - }); - } - - $(table).inventreeTable({ - url: '{% url "api-so-shipment-list" %}', - queryParams: filters, - original: options.params, - name: options.name || 'salesordershipment', - search: false, - paginationVAlign: 'bottom', - showColumns: true, - detailView: true, - detailViewByClick: false, - buttons: constructExpandCollapseButtons(table), - detailFilter: function(index, row) { - return row.allocations.length > 0; - }, - detailFormatter: function(index, row, element) { - return showAllocationSubTable(index, row, element, options); - }, - onPostBody: function() { - setupShipmentCallbacks(); - - // Auto-expand rows on the "pending" table - if (!options.shipped) { - $(table).bootstrapTable('expandAllRows'); - } - }, - formatNoMatches: function() { - return '{% trans "No matching shipments found" %}'; - }, - columns: [ - { - visible: false, - checkbox: true, - switchable: false, - }, - { - field: 'reference', - title: '{% trans "Shipment Reference" %}', - switchable: false, - }, - { - field: 'allocations', - title: '{% trans "Items" %}', - switchable: false, - sortable: true, - formatter: function(value, row) { - if (row && row.allocations) { - return row.allocations.length; - } else { - return '-'; - } - } - }, - { - field: 'shipment_date', - title: '{% trans "Shipment Date" %}', - sortable: true, - formatter: function(value, row) { - if (value) { - return renderDate(value); - } else { - return '{% trans "Not shipped" %}'; - } - } - }, - { - field: 'tracking_number', - title: '{% trans "Tracking" %}', - }, - { - field: 'invoice_number', - title: '{% trans "Invoice" %}', - }, - { - field: 'link', - title: '{% trans "Link" %}', - formatter: function(value) { - if (value) { - return renderLink(value, value); - } else { - return '-'; - } - } - }, - { - field: 'notes', - title: '{% trans "Notes" %}', - visible: false, - switchable: false, - // TODO: Implement 'notes' field - }, - { - title: '', - switchable: false, - formatter: function(value, row) { - return makeShipmentActions(row); - } - } - ], - }); -} - - -/** - * Allocate stock items against a SalesOrder - * - * arguments: - * - order_id: The ID / PK value for the SalesOrder - * - lines: A list of SalesOrderLineItem objects to be allocated - * - * options: - * - source_location: ID / PK of the top-level StockLocation to source stock from (or null) - */ -function allocateStockToSalesOrder(order_id, line_items, options={}) { - - function renderLineItemRow(line_item, quantity) { - // Function to render a single line_item row - - var pk = line_item.pk; - - var part = line_item.part_detail; - - var thumb = thumbnailImage(part.thumbnail || part.image); - - var delete_button = `
    `; - - delete_button += makeIconButton( - 'fa-times icon-red', - 'button-row-remove', - pk, - '{% trans "Remove row" %}', - ); - - delete_button += '
    '; - - var quantity_input = constructField( - `items_quantity_${pk}`, - { - type: 'decimal', - min_value: 0, - value: quantity || 0, - title: '{% trans "Specify stock allocation quantity" %}', - required: true, - }, - { - hideLabels: true, - } - ); - - var stock_input = constructField( - `items_stock_item_${pk}`, - { - type: 'related field', - required: 'true', - }, - { - hideLabels: true, - } - ); - - var html = ` - - - ${thumb} ${part.full_name} - - - ${stock_input} - - - ${quantity_input} - - - - - {% trans "Part" %} - {% trans "Stock Item" %} - {% trans "Quantity" %} - - - - ${table_entries} - - `; - - constructForm(`/api/order/so/${order_id}/allocate/`, { - method: 'POST', - fields: { - shipment: { - filters: { - order: order_id, - shipped: false, - }, - value: options.shipment || null, - auto_fill: true, - secondary: { - method: 'POST', - title: '{% trans "Add Shipment" %}', - fields: function() { - var ref = null; - - // TODO: Refactor code for getting next shipment number - inventreeGet( - '{% url "api-so-shipment-list" %}', - { - order: options.order, - }, - { - async: false, - success: function(results) { - // "predict" the next reference number - ref = results.length + 1; - - var found = false; - - while (!found) { - - var no_match = true; - - for (var ii = 0; ii < results.length; ii++) { - if (ref.toString() == results[ii].reference.toString()) { - no_match = false; - break; - } - } - - if (no_match) { - break; - } else { - ref++; - } - } - } - } - ); - - var fields = salesOrderShipmentFields(options); - - fields.reference.value = ref; - fields.reference.prefix = options.reference; - - return fields; - } - } - } - }, - preFormContent: html, - confirm: true, - confirmMessage: '{% trans "Confirm stock allocation" %}', - title: '{% trans "Allocate Stock Items to Sales Order" %}', - afterRender: function(fields, opts) { - - // Initialize source location field - var take_from_field = { - name: 'take_from', - model: 'stocklocation', - api_url: '{% url "api-location-list" %}', - required: false, - type: 'related field', - value: options.source_location || null, - noResults: function(query) { - return '{% trans "No matching stock locations" %}'; - }, - }; - - initializeRelatedField( - take_from_field, - null, - opts - ); - - // Add callback to "clear" button for take_from field - addClearCallback( - 'take_from', - take_from_field, - opts, - ); - - // Initialize fields for each line item - line_items.forEach(function(line_item) { - var pk = line_item.pk; - - initializeRelatedField( - { - name: `items_stock_item_${pk}`, - api_url: '{% url "api-stock-list" %}', - filters: { - part: line_item.part, - in_stock: true, - part_detail: true, - location_detail: true, - available: true, - }, - model: 'stockitem', - required: true, - render_part_detail: true, - render_location_detail: true, - auto_fill: true, - onSelect: function(data, field, opts) { - // Adjust the 'quantity' field based on availability - - if (!('quantity' in data)) { - return; - } - - // Calculate the available quantity - var available = Math.max((data.quantity || 0) - (data.allocated || 0), 0); - - // Remaining quantity to be allocated? - var remaining = Math.max(line_item.quantity - line_item.shipped - line_item.allocated, 0); - - // Maximum amount that we need - var desired = Math.min(available, remaining); - - updateFieldValue(`items_quantity_${pk}`, desired, {}, opts); - - }, - adjustFilters: function(filters) { - // Restrict query to the selected location - var location = getFormFieldValue( - 'take_from', - {}, - { - modal: opts.modal, - } - ); - - filters.location = location; - filters.cascade = true; - - // Exclude expired stock? - if (global_settings.STOCK_ENABLE_EXPIRY && !global_settings.STOCK_ALLOW_EXPIRED_SALE) { - filters.expired = false; - } - - return filters; - }, - noResults: function(query) { - return '{% trans "No matching stock items" %}'; - } - }, - null, - opts - ); - }); - - // Add remove-row button callbacks - $(opts.modal).find('.button-row-remove').click(function() { - var pk = $(this).attr('pk'); - - $(opts.modal).find(`#allocation_row_${pk}`).remove(); - }); - }, - onSubmit: function(fields, opts) { - // Extract data elements from the form - var data = { - items: [], - shipment: getFormFieldValue( - 'shipment', - {}, - opts - ) - }; - - var item_pk_values = []; - - line_items.forEach(function(item) { - - var pk = item.pk; - - var quantity = getFormFieldValue( - `items_quantity_${pk}`, - {}, - opts - ); - - var stock_item = getFormFieldValue( - `items_stock_item_${pk}`, - {}, - opts - ); - - if (quantity != null) { - data.items.push({ - line_item: pk, - stock_item: stock_item, - quantity: quantity, - }); - - item_pk_values.push(pk); - } - }); - - // Provide nested values - opts.nested = { - 'items': item_pk_values - }; - - inventreePut( - opts.url, - data, - { - method: 'POST', - success: function(response) { - $(opts.modal).modal('hide'); - - if (options.success) { - options.success(response); - } - }, - error: function(xhr) { - switch (xhr.status) { - case 400: - handleFormErrors(xhr.responseJSON, fields, opts); - break; - default: - $(opts.modal).modal('hide'); - showApiError(xhr); - break; - } - } - } - ); - }, - }); -} - - -function loadSalesOrderAllocationTable(table, options={}) { - /** - * Load a table with SalesOrderAllocation items - */ - - options.params = options.params || {}; - - options.params['location_detail'] = true; - options.params['part_detail'] = true; - options.params['item_detail'] = true; - options.params['order_detail'] = true; - - var filters = loadTableFilters('salesorderallocation'); - - for (var key in options.params) { - filters[key] = options.params[key]; - } - - setupFilterList('salesorderallocation', $(table)); - - $(table).inventreeTable({ - url: '{% url "api-so-allocation-list" %}', - queryParams: filters, - name: options.name || 'salesorderallocation', - groupBy: false, - search: false, - paginationVAlign: 'bottom', - original: options.params, - formatNoMatches: function() { - return '{% trans "No sales order allocations found" %}'; - }, - columns: [ - { - field: 'pk', - visible: false, - switchable: false, - }, - { - field: 'order', - switchable: false, - title: '{% trans "Order" %}', - formatter: function(value, row) { - - var ref = `${row.order_detail.reference}`; - - return renderLink(ref, `/order/sales-order/${row.order}/`); - } - }, - { - field: 'item', - title: '{% trans "Stock Item" %}', - formatter: function(value, row) { - // Render a link to the particular stock item - - var link = `/stock/item/${row.item}/`; - var text = `{% trans "Stock Item" %} ${row.item}`; - - return renderLink(text, link); - } - }, - { - field: 'location', - title: '{% trans "Location" %}', - formatter: function(value, row) { - return locationDetail(row.item_detail, true); - } - }, - { - field: 'quantity', - title: '{% trans "Quantity" %}', - sortable: true, - }, - ] - }); -} - - -/** - * Display an "allocations" sub table, showing stock items allocated againt a sales order - * @param {*} index - * @param {*} row - * @param {*} element - */ -function showAllocationSubTable(index, row, element, options) { - - // Construct a sub-table element - var html = ` -
    -
    -
    `; - - element.html(html); - - var table = $(`#allocation-table-${row.pk}`); - - function setupCallbacks() { - // Add callbacks for 'edit' buttons - table.find('.button-allocation-edit').click(function() { - - var pk = $(this).attr('pk'); - - // Edit the sales order alloction - constructForm( - `/api/order/so-allocation/${pk}/`, - { - fields: { - quantity: {}, - }, - title: '{% trans "Edit Stock Allocation" %}', - onSuccess: function() { - // Refresh the parent table - $(options.table).bootstrapTable('refresh'); - }, - }, - ); - }); - - // Add callbacks for 'delete' buttons - table.find('.button-allocation-delete').click(function() { - var pk = $(this).attr('pk'); - - constructForm( - `/api/order/so-allocation/${pk}/`, - { - method: 'DELETE', - confirmMessage: '{% trans "Confirm Delete Operation" %}', - title: '{% trans "Delete Stock Allocation" %}', - onSuccess: function() { - // Refresh the parent table - $(options.table).bootstrapTable('refresh'); - } - } - ); - }); - } - - table.bootstrapTable({ - onPostBody: setupCallbacks, - data: row.allocations, - showHeader: true, - columns: [ - { - field: 'part_detail', - title: '{% trans "Part" %}', - formatter: function(part, row) { - return imageHoverIcon(part.thumbnail) + renderLink(part.full_name, `/part/${part.pk}/`); - } - }, - { - field: 'allocated', - title: '{% trans "Stock Item" %}', - formatter: function(value, row, index, field) { - var text = ''; - - var item = row.item_detail; - - var text = `{% trans "Quantity" %}: ${row.quantity}`; - - if (item && item.serial != null && row.quantity == 1) { - text = `{% trans "Serial Number" %}: ${item.serial}`; - } - - return renderLink(text, `/stock/item/${row.item}/`); - }, - }, - { - field: 'location', - title: '{% trans "Location" %}', - formatter: function(value, row, index, field) { - - if (row.shipment_date) { - return `{% trans "Shipped to customer" %} - ${row.shipment_date}`; - } else if (row.location) { - // Location specified - return renderLink( - row.location_detail.pathstring || '{% trans "Location" %}', - `/stock/location/${row.location}/` - ); - } else { - return `{% trans "Stock location not specified" %}`; - } - }, - }, - { - field: 'buttons', - title: '', - formatter: function(value, row, index, field) { - - var html = `
    `; - var pk = row.pk; - - if (row.shipment_date) { - html += `{% trans "Shipped" %}`; - } else { - html += makeIconButton('fa-edit icon-blue', 'button-allocation-edit', pk, '{% trans "Edit stock allocation" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-allocation-delete', pk, '{% trans "Delete stock allocation" %}'); - } - - html += '
    '; - - return html; - }, - }, - ], - }); -} - -/** - * Display a "fulfilled" sub table, showing stock items fulfilled against a purchase order - */ -function showFulfilledSubTable(index, row, element, options) { - // Construct a table showing stock items which have been fulfilled against this line item - - if (!options.order) { - return 'ERROR: Order ID not supplied'; - } - - var id = `fulfilled-table-${row.pk}`; - - var html = ` -
    - -
    -
    `; - - element.html(html); - - $(`#${id}`).bootstrapTable({ - url: '{% url "api-stock-list" %}', - queryParams: { - part: row.part, - sales_order: options.order, - location_detail: true, - }, - showHeader: true, - columns: [ - { - field: 'pk', - visible: false, - }, - { - field: 'stock', - title: '{% trans "Stock Item" %}', - formatter: function(value, row) { - var text = ''; - if (row.serial && row.quantity == 1) { - text = `{% trans "Serial Number" %}: ${row.serial}`; - } else { - text = `{% trans "Quantity" %}: ${row.quantity}`; - } - - return renderLink(text, `/stock/item/${row.pk}/`); - }, - }, - { - field: 'location', - title: '{% trans "Location" %}', - formatter: function(value, row) { - if (row.customer) { - return renderLink( - '{% trans "Shipped to customer" %}', - `/company/${row.customer}/` - ); - } else if (row.location && row.location_detail) { - return renderLink( - row.location_detail.pathstring, - `/stock/location/${row.location}`, - ); - } else { - return `{% trans "Stock location not specified" %}`; - } - } - } - ], - }); -} - var TotalPriceRef = ''; // reference to total price field var TotalPriceOptions = {}; // options to reload the price @@ -3951,726 +152,195 @@ function reloadTotal() { }; -/** - * Load a table displaying line items for a particular SalesOrder +/* + * Load a table displaying "extra" line items for a given order. + * Used for all external order types (e.g. PurchaseOrder / SalesOrder / ReturnOrder) * - * @param {String} table : HTML ID tag e.g. '#table' - * @param {Object} options : object which contains: - * - order {integer} : pk of the SalesOrder - * - status: {integer} : status code for the order + * options: + * - table: The DOM ID of the table element + * - order: The ID of the related order (required) + * - name: The unique 'name' for this table + * - url: The API URL for the extra line item model (required) + * - filtertarget: The DOM ID for the filter list element */ -function loadSalesOrderLineItemTable(table, options={}) { +function loadExtraLineTable(options={}) { - options.table = table; - - if (!options.pending && !global_settings.SALESORDER_EDIT_COMPLETED_ORDERS) { - options.allow_edit = false; - } + const table = options.table; options.params = options.params || {}; - if (!options.order) { - console.error('function called without order ID'); - return; - } - - if (!options.status) { - console.error('function called without order status'); - return; - } - + // Filtering options.params.order = options.order; - options.params.part_detail = true; - options.params.allocations = true; - var filters = loadTableFilters('salesorderlineitem'); + var filters = {}; - for (var key in options.params) { - filters[key] = options.params[key]; + if (options.name) { + filters = loadTableFilters(options.name); } - options.url = options.url || '{% url "api-so-line-list" %}'; - - var filter_target = options.filter_target || '#filter-list-sales-order-lines'; + Object.assign(filters, options.params); setupFilterList( - 'salesorderlineitem', + options.name, $(table), - filter_target, + options.filtertarget, { - download: true, + download: true } ); - // Is the order pending? - var pending = options.pending; - - // Has the order shipped? - var shipped = options.status == {{ SalesOrderStatus.SHIPPED }}; - - // Show detail view if the PurchaseOrder is PENDING or SHIPPED - var show_detail = pending || shipped; - - // Add callbacks for expand / collapse buttons - $('#sales-lines-expand').click(function() { - $(table).bootstrapTable('expandAllRows'); - }); - - $('#sales-lines-collapse').click(function() { - $(table).bootstrapTable('collapseAllRows'); - }); - - // Table columns to display - var columns = [ - /* - { - checkbox: true, - visible: true, - switchable: false, - }, - */ - { - sortable: true, - sortName: 'part_detail.name', - field: 'part', - title: '{% trans "Part" %}', - switchable: false, - formatter: function(value, row, index, field) { - if (row.part) { - return imageHoverIcon(row.part_detail.thumbnail) + renderLink(row.part_detail.full_name, `/part/${value}/`); - } else { - return '-'; - } - }, - footerFormatter: function() { - return '{% trans "Total" %}'; - }, - }, - { - sortable: true, - field: 'reference', - title: '{% trans "Reference" %}', - switchable: true, - }, - { - sortable: true, - field: 'quantity', - title: '{% trans "Quantity" %}', - footerFormatter: function(data) { - return data.map(function(row) { - return +row['quantity']; - }).reduce(function(sum, i) { - return sum + i; - }, 0); - }, - switchable: false, - }, - { - sortable: true, - field: 'sale_price', - title: '{% trans "Unit Price" %}', - formatter: function(value, row) { - return formatCurrency(row.sale_price, { - currency: row.sale_price_currency - }); - } - }, - { - field: 'total_price', - sortable: true, - title: '{% trans "Total Price" %}', - formatter: function(value, row) { - return formatCurrency(row.sale_price * row.quantity, { - currency: row.sale_price_currency, - }); - }, - footerFormatter: function(data) { - return calculateTotalPrice( - data, - function(row) { - return row.sale_price ? row.sale_price * row.quantity : null; - }, - function(row) { - return row.sale_price_currency; - } - ); - } - }, - { - field: 'target_date', - title: '{% trans "Target Date" %}', - sortable: true, - switchable: true, - formatter: function(value, row) { - if (row.target_date) { - var html = renderDate(row.target_date); - - if (row.overdue) { - html += ``; - } - - return html; - - } else if (row.order_detail && row.order_detail.target_date) { - return `${renderDate(row.order_detail.target_date)}`; - } else { - return '-'; - } - } - } - ]; - - if (pending) { - columns.push( - { - field: 'stock', - title: '{% trans "Available Stock" %}', - formatter: function(value, row) { - var available = row.available_stock; - var required = Math.max(row.quantity - row.allocated - row.shipped, 0); - - var html = ''; - - if (available > 0) { - var url = `/part/${row.part}/?display=part-stock`; - - var text = available; - - html = renderLink(text, url); - } else { - html += `{% trans "No Stock Available" %}`; - } - - if (required > 0) { - if (available >= required) { - html += ``; - } else { - html += ``; - } - } - - return html; - }, - }, - ); - - columns.push( - { - field: 'allocated', - title: '{% trans "Allocated" %}', - switchable: false, - sortable: true, - formatter: function(value, row, index, field) { - return makeProgressBar(row.allocated, row.quantity, { - id: `order-line-progress-${row.pk}`, - }); - }, - sorter: function(valA, valB, rowA, rowB) { - - var A = rowA.allocated; - var B = rowB.allocated; - - if (A == 0 && B == 0) { - return (rowA.quantity > rowB.quantity) ? 1 : -1; - } - - var progressA = parseFloat(A) / rowA.quantity; - var progressB = parseFloat(B) / rowB.quantity; - - return (progressA < progressB) ? 1 : -1; - } - }, - ); - } - - columns.push({ - field: 'shipped', - title: '{% trans "Shipped" %}', - switchable: false, - sortable: true, - formatter: function(value, row) { - return makeProgressBar(row.shipped, row.quantity, { - id: `order-line-shipped-${row.pk}` - }); - }, - sorter: function(valA, valB, rowA, rowB) { - var A = rowA.shipped; - var B = rowB.shipped; - - if (A == 0 && B == 0) { - return (rowA.quantity > rowB.quantity) ? 1 : -1; - } - - var progressA = parseFloat(A) / rowA.quantity; - var progressB = parseFloat(B) / rowB.quantity; - - return (progressA < progressB) ? 1 : -1; - } - }); - - columns.push({ - field: 'notes', - title: '{% trans "Notes" %}', - }); - - if (pending) { - columns.push({ - field: 'buttons', - switchable: false, - formatter: function(value, row, index, field) { - - var html = `
    `; - - var pk = row.pk; - - if (row.part) { - var part = row.part_detail; - - if (part.trackable) { - html += makeIconButton('fa-hashtag icon-green', 'button-add-by-sn', pk, '{% trans "Allocate serial numbers" %}'); - } - - html += makeIconButton('fa-sign-in-alt icon-green', 'button-add', pk, '{% trans "Allocate stock" %}'); - - if (part.purchaseable) { - html += makeIconButton('fa-shopping-cart', 'button-buy', row.part, '{% trans "Purchase stock" %}'); - } - - if (part.assembly) { - html += makeIconButton('fa-tools', 'button-build', row.part, '{% trans "Build stock" %}'); - } - - html += makeIconButton('fa-dollar-sign icon-green', 'button-price', pk, '{% trans "Calculate price" %}'); - } - - html += makeIconButton('fa-clone', 'button-duplicate', pk, '{% trans "Duplicate line item" %}'); - html += makeIconButton('fa-edit icon-blue', 'button-edit', pk, '{% trans "Edit line item" %}'); - - var delete_disabled = false; - - var title = '{% trans "Delete line item" %}'; - - if (!!row.shipped) { - delete_disabled = true; - title = '{% trans "Cannot be deleted as items have been shipped" %}'; - } else if (!!row.allocated) { - delete_disabled = true; - title = '{% trans "Cannot be deleted as items have been allocated" %}'; - } - - // Prevent deletion of the line item if items have been allocated or shipped! - html += makeIconButton('fa-trash-alt icon-red', 'button-delete', pk, title, {disabled: delete_disabled}); - - html += `
    `; - - return html; - } - }); - } - - function reloadTable() { + // Helper function to reload table + function reloadExtraLineTable() { $(table).bootstrapTable('refresh'); - reloadTotal(); + + if (options.pricing) { + reloadTotal(); + } } // Configure callback functions once the table is loaded function setupCallbacks() { - // Callback for duplicating line items - $(table).find('.button-duplicate').click(function() { - var pk = $(this).attr('pk'); + if (options.allow_edit) { - inventreeGet(`/api/order/so-line/${pk}/`, {}, { - success: function(data) { + // Callback to duplicate line item + $(table).find('.button-duplicate').click(function() { + var pk = $(this).attr('pk'); - let fields = soLineItemFields(); + inventreeGet(`${options.url}${pk}/`, {}, { + success: function(data) { - constructForm('{% url "api-so-line-list" %}', { - method: 'POST', - fields: fields, - data: data, - title: '{% trans "Duplicate Line Item" %}', - onSuccess: function(response) { - $(table).bootstrapTable('refresh'); - } - }); - } - }); - }); + var fields = extraLineFields(); - // Callback for editing line items - $(table).find('.button-edit').click(function() { - var pk = $(this).attr('pk'); - - constructForm(`/api/order/so-line/${pk}/`, { - fields: soLineItemFields(), - title: '{% trans "Edit Line Item" %}', - onSuccess: reloadTable, - }); - }); - - // Callback for deleting line items - $(table).find('.button-delete').click(function() { - var pk = $(this).attr('pk'); - - constructForm(`/api/order/so-line/${pk}/`, { - method: 'DELETE', - title: '{% trans "Delete Line Item" %}', - onSuccess: reloadTable, - }); - }); - - // Callback for allocating stock items by serial number - $(table).find('.button-add-by-sn').click(function() { - var pk = $(this).attr('pk'); - - inventreeGet(`/api/order/so-line/${pk}/`, {}, - { - success: function(response) { - - constructForm(`/api/order/so/${options.order}/allocate-serials/`, { + constructForm(options.url, { method: 'POST', - title: '{% trans "Allocate Serial Numbers" %}', - fields: { - line_item: { - value: pk, - hidden: true, - }, - quantity: {}, - serial_numbers: {}, - shipment: { - filters: { - order: options.order, - shipped: false, - }, - auto_fill: true, - } - }, - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } + fields: fields, + data: data, + title: '{% trans "Duplicate Line" %}', + onSuccess: reloadExtraLineTable, }); } - } - ); - }); - - // Callback for allocation stock items to the order - $(table).find('.button-add').click(function() { - var pk = $(this).attr('pk'); - - var line_item = $(table).bootstrapTable('getRowByUniqueId', pk); - - allocateStockToSalesOrder( - options.order, - [ - line_item - ], - { - order: options.order, - reference: options.reference, - success: function() { - // Reload this table - $(table).bootstrapTable('refresh'); - - // Reload the pending shipment table - $('#pending-shipments-table').bootstrapTable('refresh'); - } - } - ); - }); - - // Callback for creating a new build - $(table).find('.button-build').click(function() { - var pk = $(this).attr('pk'); - - // Extract the row data from the table! - var idx = $(this).closest('tr').attr('data-index'); - - var row = $(table).bootstrapTable('getData')[idx]; - - var quantity = 1; - - if (row.allocated < row.quantity) { - quantity = row.quantity - row.allocated; - } - - // Create a new build order - newBuildOrder({ - part: pk, - sales_order: options.order, - quantity: quantity, - success: reloadTable + }); }); - }); - // Callback for purchasing parts - $(table).find('.button-buy').click(function() { - var pk = $(this).attr('pk'); + // Callback to edit line item + // Callback for editing lines + $(table).find('.button-edit').click(function() { + var pk = $(this).attr('pk'); - inventreeGet( - `/api/part/${pk}/`, - {}, - { - success: function(part) { - orderParts( - [part], - {} - ); - } - } - ); - }); + constructForm(`${options.url}${pk}/`, { + fields: extraLineFields(), + title: '{% trans "Edit Line" %}', + onSuccess: reloadExtraLineTable, + }); + }); + } - // Callback for displaying price - $(table).find('.button-price').click(function() { - var pk = $(this).attr('pk'); - var idx = $(this).closest('tr').attr('data-index'); - var row = $(table).bootstrapTable('getData')[idx]; + if (options.allow_delete) { + // Callback for deleting lines + $(table).find('.button-delete').click(function() { + var pk = $(this).attr('pk'); - launchModalForm( - '{% url "line-pricing" %}', - { - submit_text: '{% trans "Calculate price" %}', - data: { - line_item: pk, - quantity: row.quantity, - }, - buttons: [ - { - name: 'update_price', - title: '{% trans "Update Unit Price" %}' - }, - ], - success: reloadTable, - } - ); - }); + constructForm(`${options.url}${pk}/`, { + method: 'DELETE', + title: '{% trans "Delete Line" %}', + onSuccess: reloadExtraLineTable, + }); + }); + } } $(table).inventreeTable({ + url: options.url, + name: options.name, + sidePagination: 'server', onPostBody: setupCallbacks, - name: 'salesorderlineitems', - sidePagination: 'client', formatNoMatches: function() { - return '{% trans "No matching line items" %}'; + return '{% trans "No line items found" %}'; }, queryParams: filters, original: options.params, - url: options.url, showFooter: true, uniqueId: 'pk', - detailView: show_detail, - detailViewByClick: false, - buttons: constructExpandCollapseButtons(table), - detailFilter: function(index, row) { - if (pending) { - // Order is pending - return row.allocated > 0; - } else { - return row.shipped > 0; - } - }, - detailFormatter: function(index, row, element) { - if (pending) { - return showAllocationSubTable(index, row, element, options); - } else { - return showFulfilledSubTable(index, row, element, options); - } - }, - columns: columns, - }); -} - - -/** - * Load a table displaying lines for a particular SalesOrder - * - * @param {String} table : HTML ID tag e.g. '#table' - * @param {Object} options : object which contains: - * - order {integer} : pk of the SalesOrder - * - status: {integer} : status code for the order - */ -function loadSalesOrderExtraLineTable(table, options={}) { - - options.table = table; - - if (!options.pending && !global_settings.SALESORDER_EDIT_COMPLETED_ORDERS) { - options.allow_edit = false; - } - - options.params = options.params || {}; - - if (!options.order) { - console.error('function called without order ID'); - return; - } - - if (!options.status) { - console.error('function called without order status'); - return; - } - - options.params.order = options.order; - options.params.part_detail = true; - options.params.allocations = true; - - var filters = loadTableFilters('salesorderextraline'); - - for (var key in options.params) { - filters[key] = options.params[key]; - } - - options.url = options.url || '{% url "api-so-extra-line-list" %}'; - - var filter_target = options.filter_target || '#filter-list-sales-order-extra-lines'; - - setupFilterList('salesorderextraline', $(table), filter_target, {download: true}); - - // Table columns to display - var columns = [ - { - sortable: true, - field: 'reference', - title: '{% trans "Reference" %}', - switchable: true, - }, - { - sortable: true, - field: 'quantity', - title: '{% trans "Quantity" %}', - footerFormatter: function(data) { - return data.map(function(row) { - return +row['quantity']; - }).reduce(function(sum, i) { - return sum + i; - }, 0); + columns: [ + { + sortable: true, + field: 'reference', + title: '{% trans "Reference" %}', + switchable: false, }, - switchable: false, - }, - { - sortable: true, - field: 'price', - title: '{% trans "Unit Price" %}', - formatter: function(value, row) { - return formatCurrency(row.price, { - currency: row.price_currency, - }); - } - }, - { - field: 'total_price', - sortable: true, - title: '{% trans "Total Price" %}', - formatter: function(value, row) { - return formatCurrency(row.price * row.quantity, { - currency: row.price_currency, - }); + { + sortable: true, + switchable: false, + field: 'quantity', + title: '{% trans "Quantity" %}', + footerFormatter: function(data) { + return data.map(function(row) { + return +row['quantity']; + }).reduce(function(sum, i) { + return sum + i; + }, 0); + }, }, - footerFormatter: function(data) { - return calculateTotalPrice( - data, - function(row) { - return row.price ? row.price * row.quantity : null; - }, - function(row) { - return row.price_currency; - } - ); - } - } - ]; - - columns.push({ - field: 'notes', - title: '{% trans "Notes" %}', - }); - - columns.push({ - field: 'buttons', - switchable: false, - formatter: function(value, row, index, field) { - - var html = `
    `; - - if (options.allow_edit) { - var pk = row.pk; - html += makeIconButton('fa-clone', 'button-duplicate', pk, '{% trans "Duplicate line" %}'); - html += makeIconButton('fa-edit icon-blue', 'button-edit', pk, '{% trans "Edit line" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-delete', pk, '{% trans "Delete line" %}', ); - } - - html += `
    `; - return html; - } - }); - - function reloadTable() { - $(table).bootstrapTable('refresh'); - reloadTotal(); - } - - // Configure callback functions once the table is loaded - function setupCallbacks() { - - // Callback for duplicating lines - $(table).find('.button-duplicate').click(function() { - var pk = $(this).attr('pk'); - - inventreeGet(`/api/order/so-extra-line/${pk}/`, {}, { - success: function(data) { - - var fields = extraLineFields(); - - constructForm('{% url "api-so-extra-line-list" %}', { - method: 'POST', - fields: fields, - data: data, - title: '{% trans "Duplicate Line" %}', - onSuccess: function(response) { - $(table).bootstrapTable('refresh'); - } + { + sortable: true, + field: 'price', + title: '{% trans "Unit Price" %}', + formatter: function(value, row) { + return formatCurrency(row.price, { + currency: row.price_currency, }); } - }); - }); + }, + { + field: 'total_price', + sortable: true, + switchable: true, + title: '{% trans "Total Price" %}', + formatter: function(value, row) { + return formatCurrency(row.price * row.quantity, { + currency: row.price_currency, + }); + }, + footerFormatter: function(data) { + return calculateTotalPrice( + data, + function(row) { + return row.price ? row.price * row.quantity : null; + }, + function(row) { + return row.price_currency; + } + ); + } + }, + { + field: 'notes', + title: '{% trans "Notes" %}', + }, + { + field: 'buttons', + switchable: false, + formatter: function(value, row, index, field) { - // Callback for editing lines - $(table).find('.button-edit').click(function() { - var pk = $(this).attr('pk'); + let html = ''; - constructForm(`/api/order/so-extra-line/${pk}/`, { - fields: extraLineFields(), - title: '{% trans "Edit Line" %}', - onSuccess: reloadTable, - }); - }); + if (options.allow_edit || options.allow_delete) { + var pk = row.pk; - // Callback for deleting lines - $(table).find('.button-delete').click(function() { - var pk = $(this).attr('pk'); + if (options.allow_edit) { + html += makeCopyButton('button-duplicate', pk, '{% trans "Duplicate line" %}'); + html += makeEditButton('button-edit', pk, '{% trans "Edit line" %}'); + } - constructForm(`/api/order/so-extra-line/${pk}/`, { - method: 'DELETE', - title: '{% trans "Delete Line" %}', - onSuccess: reloadTable, - }); - }); - } + if (options.allow_delete) { + html += makeDeleteButton('button-delete', pk, '{% trans "Delete line" %}', ); + } + } - $(table).inventreeTable({ - onPostBody: setupCallbacks, - name: 'salesorderextraline', - sidePagination: 'client', - formatNoMatches: function() { - return '{% trans "No matching lines" %}'; - }, - queryParams: filters, - original: options.params, - url: options.url, - showFooter: true, - uniqueId: 'pk', - detailViewByClick: false, - columns: columns, + return wrapButtons(html); + } + }, + ] }); } diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index eea9c770cc..30ac5400cd 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -12,7 +12,6 @@ loadTableFilters, makeIconBadge, makeIconButton, - printPartLabels, renderLink, setFormGroupVisibility, setupFilterList, @@ -366,7 +365,7 @@ function createPart(options={}) { */ function editPart(pk) { - var url = `/api/part/${pk}/`; + var url = `{% url "api-part-list" %}${pk}/`; var fields = partFields({ edit: true @@ -397,7 +396,7 @@ function duplicatePart(pk, options={}) { } // First we need all the part information - inventreeGet(`/api/part/${pk}/`, {}, { + inventreeGet(`{% url "api-part-list" %}${pk}/`, {}, { success: function(data) { @@ -446,7 +445,7 @@ function duplicatePart(pk, options={}) { // Launch form to delete a part function deletePart(pk, options={}) { - inventreeGet(`/api/part/${pk}/`, {}, { + inventreeGet(`{% url "api-part-list" %}${pk}/`, {}, { success: function(part) { if (part.active) { showAlertDialog( @@ -473,7 +472,7 @@ function deletePart(pk, options={}) {
    `; constructForm( - `/api/part/${pk}/`, + `{% url "api-part-list" %}${pk}/`, { method: 'DELETE', title: '{% trans "Delete Part" %}', @@ -542,7 +541,7 @@ function validateBom(part_id, options={}) {
    `; - constructForm(`/api/part/${part_id}/bom-validate/`, { + constructForm(`{% url "api-part-list" %}${part_id}/bom-validate/`, { method: 'PUT', fields: { valid: {}, @@ -560,7 +559,7 @@ function validateBom(part_id, options={}) { /* Duplicate a BOM */ function duplicateBom(part_id, options={}) { - constructForm(`/api/part/${part_id}/bom-copy/`, { + constructForm(`{% url "api-part-list" %}${part_id}/bom-copy/`, { method: 'POST', fields: { part: { @@ -646,7 +645,7 @@ function partStockLabel(part, options={}) { var required_build_order_quantity = null; var required_sales_order_quantity = null; - inventreeGet(`/api/part/${part.pk}/requirements/`, {}, { + inventreeGet(`{% url "api-part-list" %}${part.pk}/requirements/`, {}, { async: false, success: function(response) { required_build_order_quantity = 0; @@ -953,11 +952,7 @@ function loadPartStocktakeTable(partId, options={}) { params.part = partId; - var filters = loadTableFilters('stocktake'); - - for (var key in params) { - filters[key] = params[key]; - } + var filters = loadTableFilters('stocktake', params); setupFilterList('stocktake', $(table), '#filter-list-partstocktake'); @@ -1024,19 +1019,17 @@ function loadPartStocktakeTable(partId, options={}) { switchable: false, sortable: false, formatter: function(value, row) { - var html = `
    `; + let html = ''; if (options.allow_edit) { - html += makeIconButton('fa-edit icon-blue', 'button-edit-stocktake', row.pk, '{% trans "Edit Stocktake Entry" %}'); + html += makeEditButton('button-edit-stocktake', row.pk, '{% trans "Edit Stocktake Entry" %}'); } if (options.allow_delete) { - html += makeIconButton('fa-trash-alt icon-red', 'button-delete-stocktake', row.pk, '{% trans "Delete Stocktake Entry" %}'); + html += makeDeleteButton('button-delete-stocktake', row.pk, '{% trans "Delete Stocktake Entry" %}'); } - html += `
    `; - - return html; + return wrapButtons(html); } } ], @@ -1045,7 +1038,7 @@ function loadPartStocktakeTable(partId, options={}) { $(table).find('.button-edit-stocktake').click(function() { var pk = $(this).attr('pk'); - constructForm(`/api/part/stocktake/${pk}/`, { + constructForm(`{% url "api-part-stocktake-list" %}${pk}/`, { fields: { item_count: {}, quantity: {}, @@ -1066,21 +1059,17 @@ function loadPartStocktakeTable(partId, options={}) { }, }, title: '{% trans "Edit Stocktake Entry" %}', - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } + refreshTable: table, }); }); $(table).find('.button-delete-stocktake').click(function() { var pk = $(this).attr('pk'); - constructForm(`/api/part/stocktake/${pk}/`, { + constructForm(`{% url "api-part-stocktake-list" %}${pk}/`, { method: 'DELETE', title: '{% trans "Delete Stocktake Entry" %}', - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } + refreshTable: table, }); }); } @@ -1088,7 +1077,8 @@ function loadPartStocktakeTable(partId, options={}) { } -/* Load part variant table +/* + * Load part variant table */ function loadPartVariantTable(table, partId, options={}) { @@ -1097,11 +1087,7 @@ function loadPartVariantTable(table, partId, options={}) { params.ancestor = partId; // Load filters - var filters = loadTableFilters('variants'); - - for (var key in params) { - filters[key] = params[key]; - } + var filters = loadTableFilters('variants', params); setupFilterList('variants', $(table)); @@ -1247,11 +1233,7 @@ function loadPartParameterTable(table, options) { var params = options.params || {}; // Load filters - var filters = loadTableFilters('part-parameters'); - - for (var key in params) { - filters[key] = params[key]; - } + var filters = loadTableFilters('part-parameters', params); var filterTarget = options.filterTarget || '#filter-list-parameters'; @@ -1302,16 +1284,13 @@ function loadPartParameterTable(table, options) { switchable: false, sortable: false, formatter: function(value, row) { - var pk = row.pk; + let pk = row.pk; + let html = ''; - var html = `
    `; + html += makeEditButton('button-parameter-edit', pk, '{% trans "Edit parameter" %}'); + html += makeDeleteButton('button-parameter-delete', pk, '{% trans "Delete parameter" %}'); - html += makeIconButton('fa-edit icon-blue', 'button-parameter-edit', pk, '{% trans "Edit parameter" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-parameter-delete', pk, '{% trans "Delete parameter" %}'); - - html += `
    `; - - return html; + return wrapButtons(html); } } ], @@ -1320,26 +1299,22 @@ function loadPartParameterTable(table, options) { $(table).find('.button-parameter-edit').click(function() { var pk = $(this).attr('pk'); - constructForm(`/api/part/parameter/${pk}/`, { + constructForm(`{% url "api-part-parameter-list" %}${pk}/`, { fields: { data: {}, }, title: '{% trans "Edit Parameter" %}', - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } + refreshTable: table, }); }); $(table).find('.button-parameter-delete').click(function() { var pk = $(this).attr('pk'); - constructForm(`/api/part/parameter/${pk}/`, { + constructForm(`{% url "api-part-parameter-list" %}${pk}/`, { method: 'DELETE', title: '{% trans "Delete Parameter" %}', - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } + refreshTable: table, }); }); } @@ -1361,11 +1336,7 @@ function loadPartPurchaseOrderTable(table, part_id, options={}) { options.params.part_detail = true; options.params.order_detail = true; - var filters = loadTableFilters('purchaseorderlineitem'); - - for (var key in options.params) { - filters[key] = options.params[key]; - } + var filters = loadTableFilters('purchaseorderlineitem', options.params); setupFilterList('purchaseorderlineitem', $(table), '#filter-list-partpurchaseorders'); @@ -1474,12 +1445,16 @@ function loadPartPurchaseOrderTable(table, part_id, options={}) { field: 'quantity', title: '{% trans "Quantity" %}', formatter: function(value, row) { - var data = value; + let data = value; if (row.supplier_part_detail.pack_size != 1.0) { - var pack_size = row.supplier_part_detail.pack_size; - var total = value * pack_size; - data += ``; + let pack_size = row.supplier_part_detail.pack_size; + let total = value * pack_size; + + data += makeIconBadge( + 'fa-info-circle icon-blue', + `{% trans "Pack Quantity" %}: ${pack_size} - {% trans "Total Quantity" %}: ${total}` + ); } return data; @@ -1515,7 +1490,10 @@ function loadPartPurchaseOrderTable(table, part_id, options={}) { } if (overdue) { - html += ``; + html += makeIconBadge( + 'fa-calendar-alt icon-red', + '{% trans "This line item is overdue" %}', + ); } return html; @@ -1557,13 +1535,12 @@ function loadPartPurchaseOrderTable(table, part_id, options={}) { // Already recevied return `{% trans "Received" %}`; } else if (row.order_detail && row.order_detail.status == {{ PurchaseOrderStatus.PLACED }}) { - var html = `
    `; + let html = ''; var pk = row.pk; html += makeIconButton('fa-sign-in-alt', 'button-line-receive', pk, '{% trans "Receive line item" %}'); - html += `
    `; - return html; + return wrapButtons(html); } else { return ''; } @@ -1627,14 +1604,10 @@ function loadRelatedPartsTable(table, part_id, options={}) { title: '', switchable: false, formatter: function(value, row) { + let html = ''; + html += makeDeleteButton('button-related-delete', row.pk, '{% trans "Delete part relationship" %}'); - var html = `
    `; - - html += makeIconButton('fa-trash-alt icon-red', 'button-related-delete', row.pk, '{% trans "Delete part relationship" %}'); - - html += '
    '; - - return html; + return wrapButtons(html); } } ]; @@ -1652,12 +1625,10 @@ function loadRelatedPartsTable(table, part_id, options={}) { $(table).find('.button-related-delete').click(function() { var pk = $(this).attr('pk'); - constructForm(`/api/part/related/${pk}/`, { + constructForm(`{% url "api-part-related-list" %}${pk}/`, { method: 'DELETE', title: '{% trans "Delete Part Relationship" %}', - onSuccess: function() { - $(table).bootstrapTable('refresh'); - } + refreshTable: table, }); }); }, @@ -1833,17 +1804,15 @@ function loadPartTable(table, url, options={}) { var params = options.params || {}; - var filters = {}; + var filters = loadTableFilters('parts', options.params); - if (!options.disableFilters) { - filters = loadTableFilters('parts'); - } - - for (var key in params) { - filters[key] = params[key]; - } - - setupFilterList('parts', $(table), options.filterTarget, {download: true}); + setupFilterList('parts', $(table), options.filterTarget, { + download: true, + labels: { + url: '{% url "api-part-label-list" %}', + key: 'part', + } + }); var columns = [ { @@ -2153,7 +2122,7 @@ function loadPartTable(table, url, options={}) { var part = parts.shift(); inventreePut( - `/api/part/${part}/`, + `{% url "api-part-list" %}${part}/`, { category: category, }, @@ -2176,19 +2145,6 @@ function loadPartTable(table, url, options={}) { }, }); }); - - // Callback function for the "print label" button - $('#multi-part-print-label').click(function() { - var selections = getTableData(table); - - var items = []; - - selections.forEach(function(item) { - items.push(item.pk); - }); - - printPartLabels(items); - }); } @@ -2201,15 +2157,8 @@ function loadPartCategoryTable(table, options) { var filterListElement = options.filterList || '#filter-list-category'; - var filters = {}; - var filterKey = options.filterKey || options.name || 'category'; - if (!options.disableFilters) { - filters = loadTableFilters(filterKey); - } - - var tree_view = options.allowTreeView && inventreeLoad('category-tree-view') == 1; if (tree_view) { @@ -2217,12 +2166,7 @@ function loadPartCategoryTable(table, options) { params.depth = global_settings.INVENTREE_TREE_DEPTH; } - var original = {}; - - for (var key in params) { - original[key] = params[key]; - filters[key] = params[key]; - } + let filters = loadTableFilters(filterKey, params); setupFilterList(filterKey, table, filterListElement, {download: true}); @@ -2270,7 +2214,7 @@ function loadPartCategoryTable(table, options) { serverSort: !tree_view, search: !tree_view, name: 'category', - original: original, + original: params, showColumns: true, sortable: true, buttons: options.allowTreeView ? [ @@ -2461,13 +2405,7 @@ function loadPartTestTemplateTable(table, options) { var filterListElement = options.filterList || '#filter-list-parttests'; - var filters = loadTableFilters('parttests'); - - var original = {}; - - for (var k in params) { - original[k] = params[k]; - } + var filters = loadTableFilters('parttests', params); setupFilterList('parttests', table, filterListElement); @@ -2484,7 +2422,7 @@ function loadPartTestTemplateTable(table, options) { url: '{% url "api-part-test-template-list" %}', queryParams: filters, name: 'testtemplate', - original: original, + original: params, columns: [ { field: 'pk', @@ -2528,14 +2466,12 @@ function loadPartTestTemplateTable(table, options) { var pk = row.pk; if (row.part == part) { - var html = `
    `; + let html = ''; - html += makeIconButton('fa-edit icon-blue', 'button-test-edit', pk, '{% trans "Edit test result" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-test-delete', pk, '{% trans "Delete test result" %}'); + html += makeEditButton('button-test-edit', pk, '{% trans "Edit test result" %}'); + html += makeDeleteButton('button-test-delete', pk, '{% trans "Delete test result" %}'); - html += `
    `; - - return html; + return wrapButtons(html); } else { var text = '{% trans "This test is defined for a parent part" %}'; @@ -2568,9 +2504,7 @@ function loadPartTestTemplateTable(table, options) { constructForm(url, { method: 'DELETE', title: '{% trans "Delete Test Result Template" %}', - onSuccess: function() { - table.bootstrapTable('refresh'); - }, + refreshTable: table, }); }); } @@ -2593,7 +2527,7 @@ function loadPartSchedulingChart(canvas_id, part_id) { var was_error = false; // First, grab updated data for the particular part - inventreeGet(`/api/part/${part_id}/`, {}, { + inventreeGet(`{% url "api-part-list" %}${part_id}/`, {}, { async: false, success: function(response) { part_info = response; @@ -2632,7 +2566,7 @@ function loadPartSchedulingChart(canvas_id, part_id) { * and arranged in increasing chronological order */ inventreeGet( - `/api/part/${part_id}/scheduling/`, + `{% url "api-part-list" %}${part_id}/scheduling/`, {}, { async: false, @@ -2649,15 +2583,15 @@ function loadPartSchedulingChart(canvas_id, part_id) { if (date == null) { date_string = '{% trans "No date specified" %}'; - date_string += ``; + date_string += makeIconBadge('fa-exclamation-circle icon-red', '{% trans "No date specified" %}'); } else if (date < today) { - date_string += ``; + date_string += makeIconBadge('fa-exclamation-circle icon-yellow', '{% trans "Specified date is in the past" %}'); } var quantity_string = entry.quantity + entry.speculative_quantity; if (entry.speculative_quantity != 0) { - quantity_string += ``; + quantity_string += makeIconBadge('fa-question-circle icon-blue', '{% trans "Speculative" %}'); } // Add an entry to the scheduling table diff --git a/InvenTree/templates/js/translated/pricing.js b/InvenTree/templates/js/translated/pricing.js index 6d693f8b8c..f5c8a4f794 100644 --- a/InvenTree/templates/js/translated/pricing.js +++ b/InvenTree/templates/js/translated/pricing.js @@ -603,14 +603,14 @@ function loadPriceBreakTable(table, options={}) { title: '{% trans "Price" %}', sortable: true, formatter: function(value, row) { - var html = formatCurrency(value, {currency: row.price_currency}); + let html = formatCurrency(value, {currency: row.price_currency}); - html += `
    `; + let buttons = ''; - html += makeIconButton('fa-edit icon-blue', `button-${name}-edit`, row.pk, `{% trans "Edit ${human_name}" %}`); - html += makeIconButton('fa-trash-alt icon-red', `button-${name}-delete`, row.pk, `{% trans "Delete ${human_name}" %}`); + buttons += makeEditButton(`button-${name}-edit`, row.pk, `{% trans "Edit ${human_name}" %}`); + buttons += makeDeleteButton(`button-${name}-delete`, row.pk, `{% trans "Delete ${human_name}" %}`); - html += `
    `; + html += wrapButtons(buttons); return html; } diff --git a/InvenTree/templates/js/translated/purchase_order.js b/InvenTree/templates/js/translated/purchase_order.js new file mode 100644 index 0000000000..2c1f555bd2 --- /dev/null +++ b/InvenTree/templates/js/translated/purchase_order.js @@ -0,0 +1,2068 @@ +{% load i18n %} +{% load inventree_extras %} + +/* globals + companyFormFields, + constructForm, + createSupplierPart, + global_settings, + imageHoverIcon, + inventreeGet, + launchModalForm, + loadTableFilters, + makeIconBadge, + purchaseOrderStatusDisplay, + receivePurchaseOrderItems, + renderLink, + setupFilterList, + supplierPartFields, +*/ + +/* exported + cancelPurchaseOrder, + completePurchaseOrder, + createPurchaseOrder, + createPurchaseOrderLineItem, + duplicatePurchaseOrder, + editPurchaseOrder, + editPurchaseOrderLineItem, + issuePurchaseOrder, + loadPurchaseOrderLineItemTable, + loadPurchaseOrderTable, + newPurchaseOrderFromOrderWizard, + newSupplierPartFromOrderWizard, + orderParts, + removeOrderRowFromOrderWizard, + removePurchaseOrderLineItem, +*/ + + + +/* + * Construct a set of fields for a purchase order form + */ +function purchaseOrderFields(options={}) { + + var fields = { + reference: { + icon: 'fa-hashtag', + }, + description: {}, + supplier: { + icon: 'fa-building', + secondary: { + title: '{% trans "Add Supplier" %}', + fields: function() { + var fields = companyFormFields(); + + fields.is_supplier.value = true; + + return fields; + } + } + }, + supplier_reference: {}, + target_date: { + icon: 'fa-calendar-alt', + }, + link: { + icon: 'fa-link', + }, + contact: { + icon: 'fa-user', + adjustFilters: function(filters) { + let supplier = getFormFieldValue('supplier', {}, {modal: options.modal}); + + if (supplier) { + filters.company = supplier; + } + + return filters; + } + }, + responsible: { + icon: 'fa-user', + }, + }; + + if (options.supplier) { + fields.supplier.value = options.supplier; + } + + if (options.hide_supplier) { + fields.supplier.hidden = true; + } + + // Add fields for order duplication (only if required) + if (options.duplicate_order) { + fields.duplicate_order = { + value: options.duplicate_order, + group: 'duplicate', + required: 'true', + type: 'related field', + model: 'purchaseorder', + filters: { + supplier_detail: true, + }, + api_url: '{% url "api-po-list" %}', + label: '{% trans "Purchase Order" %}', + help_text: '{% trans "Select purchase order to duplicate" %}', + }; + + fields.duplicate_line_items = { + value: true, + group: 'duplicate', + type: 'boolean', + label: '{% trans "Duplicate Line Items" %}', + help_text: '{% trans "Duplicate all line items from the selected order" %}', + }; + + fields.duplicate_extra_lines = { + value: true, + group: 'duplicate', + type: 'boolean', + label: '{% trans "Duplicate Extra Lines" %}', + help_text: '{% trans "Duplicate extra line items from the selected order" %}', + }; + } + + return fields; +} + + +/* + * Edit an existing PurchaseOrder + */ +function editPurchaseOrder(pk, options={}) { + + var fields = purchaseOrderFields(options); + + constructForm(`{% url "api-po-list" %}${pk}/`, { + fields: fields, + title: '{% trans "Edit Purchase Order" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + +// Create a new PurchaseOrder +function createPurchaseOrder(options={}) { + + var fields = purchaseOrderFields(options); + + var groups = {}; + + if (options.duplicate_order) { + groups.duplicate = { + title: '{% trans "Duplication Options" %}', + collapsible: false, + }; + }; + + constructForm('{% url "api-po-list" %}', { + method: 'POST', + fields: fields, + groups: groups, + data: options.data, + onSuccess: function(data) { + + if (options.onSuccess) { + options.onSuccess(data); + } else { + // Default action is to redirect browser to the new PurchaseOrder + location.href = `/order/purchase-order/${data.pk}/`; + } + }, + title: options.title || '{% trans "Create Purchase Order" %}', + }); +} + +/* + * Duplicate an existing PurchaseOrder + * Provides user with option to duplicate line items for the order also. + */ +function duplicatePurchaseOrder(order_id, options={}) { + + options.duplicate_order = order_id; + + inventreeGet(`{% url "api-po-list" %}${order_id}/`, {}, { + success: function(data) { + + // Clear out data we do not want to be duplicated + delete data['pk']; + delete data['reference']; + + options.data = data; + + createPurchaseOrder(options); + } + }); +} + + +/* Construct a set of fields for the PurchaseOrderLineItem form */ +function poLineItemFields(options={}) { + + var fields = { + order: { + filters: { + supplier_detail: true, + } + }, + part: { + icon: 'fa-shapes', + filters: { + part_detail: true, + supplier_detail: true, + supplier: options.supplier, + }, + onEdit: function(value, name, field, opts) { + // If the pack_size != 1, add a note to the field + var pack_size = 1; + var units = ''; + var supplier_part_id = value; + var quantity = getFormFieldValue('quantity', {}, opts); + + // Remove any existing note fields + $(opts.modal).find('#info-pack-size').remove(); + + if (value == null) { + return; + } + + // Request information about the particular supplier part + inventreeGet(`{% url "api-supplier-part-list" %}${value}/`, + { + part_detail: true, + }, + { + success: function(response) { + // Extract information from the returned query + pack_size = response.pack_size || 1; + units = response.part_detail.units || ''; + }, + } + ).then(function() { + // Update pack size information + if (pack_size != 1) { + var txt = ` {% trans "Pack Quantity" %}: ${pack_size} ${units}`; + $(opts.modal).find('#hint_id_quantity').after(`
    ${txt}
    `); + } + }).then(function() { + // Update pricing data (if available) + inventreeGet( + '{% url "api-part-supplier-price-list" %}', + { + part: supplier_part_id, + ordering: 'quantity', + }, + { + success: function(response) { + // Returned prices are in increasing order of quantity + if (response.length > 0) { + var idx = 0; + var index = 0; + + for (var idx = 0; idx < response.length; idx++) { + if (response[idx].quantity > quantity) { + break; + } + + index = idx; + } + + // Update price and currency data in the form + updateFieldValue('purchase_price', response[index].price, {}, opts); + updateFieldValue('purchase_price_currency', response[index].price_currency, {}, opts); + } + } + } + ); + }); + }, + secondary: { + method: 'POST', + title: '{% trans "Add Supplier Part" %}', + fields: function(data) { + var fields = supplierPartFields({ + part: data.part, + }); + + fields.supplier.value = options.supplier; + + // Adjust manufacturer part query based on selected part + fields.manufacturer_part.adjustFilters = function(query, opts) { + + var part = getFormFieldValue('part', {}, opts); + + if (part) { + query.part = part; + } + + return query; + }; + + return fields; + } + } + }, + quantity: {}, + reference: {}, + purchase_price: { + icon: 'fa-dollar-sign', + }, + purchase_price_currency: { + icon: 'fa-coins', + }, + target_date: { + icon: 'fa-calendar-alt', + }, + destination: { + icon: 'fa-sitemap', + filters: { + structural: false, + } + }, + notes: { + icon: 'fa-sticky-note', + }, + }; + + if (options.order) { + fields.order.value = options.order; + fields.order.hidden = true; + } + + if (options.currency) { + fields.purchase_price_currency.value = options.currency; + } + + if (options.target_date) { + fields.target_date.value = options.target_date; + } + + return fields; +} + + + +// Create a new PurchaseOrderLineItem +function createPurchaseOrderLineItem(order, options={}) { + + let fields = poLineItemFields({ + order: order, + supplier: options.supplier, + currency: options.currency, + target_date: options.target_date, + }); + + constructForm('{% url "api-po-line-list" %}', { + fields: fields, + method: 'POST', + title: '{% trans "Add Line Item" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + +/* + * Launches a modal form to mark a PurchaseOrder as "complete" + */ +function completePurchaseOrder(order_id, options={}) { + + constructForm( + `/api/order/po/${order_id}/complete/`, + { + method: 'POST', + title: '{% trans "Complete Purchase Order" %}', + confirm: true, + fieldsFunction: function(opts) { + var fields = { + accept_incomplete: {}, + }; + + if (opts.context.is_complete) { + delete fields['accept_incomplete']; + } + + return fields; + }, + preFormContent: function(opts) { + + var html = ` +
    + {% trans "Mark this order as complete?" %} +
    `; + + if (opts.context.is_complete) { + html += ` +
    + {% trans "All line items have been received" %} +
    `; + } else { + html += ` +
    + {% trans 'This order has line items which have not been marked as received.' %}
    + {% trans 'Completing this order means that the order and line items will no longer be editable.' %} +
    `; + } + + return html; + }, + onSuccess: function(response) { + handleFormSuccess(response, options); + } + } + ); +} + + +/* + * Launches a modal form to mark a PurchaseOrder as 'cancelled' + */ +function cancelPurchaseOrder(order_id, options={}) { + + constructForm( + `/api/order/po/${order_id}/cancel/`, + { + method: 'POST', + title: '{% trans "Cancel Purchase Order" %}', + confirm: true, + preFormContent: function(opts) { + var html = ` +
    + {% trans "Are you sure you wish to cancel this purchase order?" %} +
    `; + + if (!opts.context.can_cancel) { + html += ` +
    + {% trans "This purchase order can not be cancelled" %} +
    `; + } + + return html; + }, + onSuccess: function(response) { + handleFormSuccess(response, options); + } + } + ); +} + + +/* + * Launches a modal form to mark a PurchaseOrder as "issued" + */ +function issuePurchaseOrder(order_id, options={}) { + + let html = ` +
    + {% trans 'After placing this order, line items will no longer be editable.' %} +
    `; + + constructForm(`{% url "api-po-list" %}${order_id}/issue/`, { + method: 'POST', + title: '{% trans "Issue Purchase Order" %}', + confirm: true, + preFormContent: html, + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + + + +function newSupplierPartFromOrderWizard(e) { + /* Create a new supplier part directly from an order form. + * Launches a secondary modal and (if successful), + * back-populates the selected row. + */ + + e = e || window.event; + + var src = e.srcElement || e.target; + + var part = $(src).attr('part'); + + if (!part) { + part = $(src).closest('button').attr('part'); + } + + createSupplierPart({ + part: part, + onSuccess: function(data) { + + // TODO: 2021-08-23 - This whole form wizard needs to be refactored. + // In the future, use the API forms functionality to add the new item + // For now, this hack will have to do... + + var dropdown = `#id_supplier_part_${part}`; + + var pk = data.pk; + + inventreeGet( + `/api/company/part/${pk}/`, + { + supplier_detail: true, + }, + { + success: function(response) { + var text = ''; + + if (response.supplier_detail) { + text += response.supplier_detail.name; + text += ' | '; + } + + text += response.SKU; + + var option = new Option(text, pk, true, true); + + $('#modal-form').find(dropdown).append(option).trigger('change'); + } + } + ); + } + }); +} + + + + +/* + * Create a new form to order parts based on the list of provided parts. + */ +function orderParts(parts_list, options) { + + var parts = []; + + var parts_seen = {}; + + parts_list.forEach(function(part) { + if (part.purchaseable) { + + // Prevent duplicates + if (!(part.pk in parts_seen)) { + parts_seen[part.pk] = true; + parts.push(part); + } + } + }); + + if (parts.length == 0) { + showAlertDialog( + '{% trans "Select Parts" %}', + '{% trans "At least one purchaseable part must be selected" %}', + ); + return; + } + + // Render a single part within the dialog + function renderPart(part, opts={}) { + + var pk = part.pk; + + var thumb = thumbnailImage(part.thumbnail || part.image); + + // Default quantity value + var quantity = part.quantity || 1; + + if (quantity < 0) { + quantity = 0; + } + + var quantity_input = constructField( + `quantity_${pk}`, + { + type: 'decimal', + min_value: 0, + value: quantity, + title: '{% trans "Quantity to order" %}', + required: true, + }, + { + hideLabels: true, + } + ); + + var supplier_part_prefix = ` + + `; + + var supplier_part_input = constructField( + `part_${pk}`, + { + type: 'related field', + required: true, + prefixRaw: supplier_part_prefix, + }, + { + hideLabels: true, + } + ); + + var purchase_order_prefix = ` + + `; + + var purchase_order_input = constructField( + `order_${pk}`, + { + type: 'related field', + required: true, + prefixRaw: purchase_order_prefix, + }, + { + hideLabels: 'true', + } + ); + + let buttons = ''; + + if (parts.length > 1) { + buttons += makeRemoveButton( + 'button-row-remove', + pk, + '{% trans "Remove row" %}', + ); + } + + // Button to add row to purchase order + buttons += makeIconButton( + 'fa-shopping-cart icon-blue', + 'button-row-add', + pk, + '{% trans "Add to purchase order" %}', + ); + + buttons = wrapButtons(buttons); + + var html = ` + + ${thumb} ${part.full_name} + ${supplier_part_input} + ${purchase_order_input} + ${quantity_input} + ${buttons} + `; + + return html; + } + + // Remove a single row form this dialog + function removeRow(pk, opts) { + // Remove the row + $(opts.modal).find(`#order_row_${pk}`).remove(); + + // If the modal is now "empty", dismiss it + if (!($(opts.modal).find('.part-order-row').exists())) { + closeModal(opts.modal); + // If there is a onSuccess callback defined, call it + if (options && options.onSuccess) { + options.onSuccess(); + } + } + } + + var table_entries = ''; + + parts.forEach(function(part) { + table_entries += renderPart(part); + }); + + var html = ''; + + // Add table + html += ` + + + + + + + + + + + + ${table_entries} + +
    {% trans "Part" %}{% trans "Supplier Part" %}{% trans "Purchase Order" %}{% trans "Quantity" %}
    + `; + + // Construct API filters for the SupplierPart field + var supplier_part_filters = { + supplier_detail: true, + part_detail: true, + }; + + if (options.supplier) { + supplier_part_filters.supplier = options.supplier; + } + + if (options.manufacturer) { + supplier_part_filters.manufacturer = options.manufacturer; + } + + if (options.manufacturer_part) { + supplier_part_filters.manufacturer_part = options.manufacturer_part; + } + + // Construct API filtres for the PurchaseOrder field + var order_filters = { + status: {{ PurchaseOrderStatus.PENDING }}, + supplier_detail: true, + }; + + if (options.supplier) { + order_filters.supplier = options.supplier; + } + + constructFormBody({}, { + preFormContent: html, + title: '{% trans "Order Parts" %}', + hideSubmitButton: true, + closeText: '{% trans "Close" %}', + afterRender: function(fields, opts) { + parts.forEach(function(part) { + + var pk = part.pk; + + // Filter by base part + supplier_part_filters.part = pk; + + if (part.manufacturer_part) { + // Filter by manufacturer part + supplier_part_filters.manufacturer_part = part.manufacturer_part; + } + + // Callback function when supplier part is changed + // This is used to update the "pack size" attribute + var onSupplierPartChanged = function(value, name, field, opts) { + var pack_size = 1; + var units = ''; + + $(opts.modal).find(`#info-pack-size-${pk}`).remove(); + + if (value != null) { + inventreeGet( + `/api/company/part/${value}/`, + { + part_detail: true, + }, + { + success: function(response) { + pack_size = response.pack_size || 1; + units = response.part_detail.units || ''; + } + } + ).then(function() { + if (pack_size != 1) { + var txt = ` {% trans "Pack Quantity" %}: ${pack_size} ${units}`; + $(opts.modal).find(`#id_quantity_${pk}`).after(`
    ${txt}
    `); + } + }); + } + }; + + var supplier_part_field = { + name: `part_${part.pk}`, + model: 'supplierpart', + api_url: '{% url "api-supplier-part-list" %}', + required: true, + type: 'related field', + auto_fill: true, + value: options.supplier_part, + filters: supplier_part_filters, + onEdit: onSupplierPartChanged, + noResults: function(query) { + return '{% trans "No matching supplier parts" %}'; + } + }; + + // Configure the "supplier part" field + initializeRelatedField(supplier_part_field, null, opts); + addFieldCallback(`part_${part.pk}`, supplier_part_field, opts); + + // Configure the "purchase order" field + initializeRelatedField({ + name: `order_${part.pk}`, + model: 'purchaseorder', + api_url: '{% url "api-po-list" %}', + required: true, + type: 'related field', + auto_fill: false, + value: options.order, + filters: order_filters, + noResults: function(query) { + return '{% trans "No matching purchase orders" %}'; + } + }, null, opts); + + // Request 'requirements' information for each part + inventreeGet(`{% url "api-part-list" %}${part.pk}/requirements/`, {}, { + success: function(response) { + var required = response.required || 0; + var allocated = response.allocated || 0; + var available = response.available_stock || 0; + + // Based on what we currently 'have' on hand, what do we need to order? + var deficit = Math.max(required - allocated, 0); + + if (available < deficit) { + var q = deficit - available; + + updateFieldValue( + `quantity_${part.pk}`, + q, + {}, + opts + ); + } + } + }); + }); + + // Add callback for "add to purchase order" button + $(opts.modal).find('.button-row-add').click(function() { + var pk = $(this).attr('pk'); + + opts.field_suffix = null; + + // Extract information from the row + var data = { + quantity: getFormFieldValue(`quantity_${pk}`, {type: 'decimal'}, opts), + part: getFormFieldValue(`part_${pk}`, {}, opts), + order: getFormFieldValue(`order_${pk}`, {}, opts), + }; + + // Duplicate the form options, to prevent 'field_suffix' override + var row_opts = Object.assign(opts); + row_opts.field_suffix = `_${pk}`; + + inventreePut( + '{% url "api-po-line-list" %}', + data, + { + method: 'POST', + success: function(response) { + removeRow(pk, opts); + }, + error: function(xhr) { + switch (xhr.status) { + case 400: + handleFormErrors(xhr.responseJSON, fields, row_opts); + break; + default: + console.error(`Error adding line to purchase order`); + showApiError(xhr, options.url); + break; + } + } + } + ); + }); + + // Add callback for "remove row" button + $(opts.modal).find('.button-row-remove').click(function() { + var pk = $(this).attr('pk'); + + removeRow(pk, opts); + }); + + // Add callback for "new supplier part" button + $(opts.modal).find('.button-row-new-sp').click(function() { + var pk = $(this).attr('pk'); + + // Launch dialog to create new supplier part + createSupplierPart({ + part: pk, + onSuccess: function(response) { + setRelatedFieldData( + `part_${pk}`, + response, + opts + ); + } + }); + }); + + // Add callback for "new purchase order" button + $(opts.modal).find('.button-row-new-po').click(function() { + var pk = $(this).attr('pk'); + + // Launch dialog to create new purchase order + createPurchaseOrder({ + onSuccess: function(response) { + setRelatedFieldData( + `order_${pk}`, + response, + opts + ); + } + }); + }); + } + }); +} + + + +/* Create a new purchase order directly from an order form. + * Launches a secondary modal and (if successful), + * back-fills the newly created purchase order. + */ +function newPurchaseOrderFromOrderWizard(e) { + + e = e || window.event; + + var src = e.target || e.srcElement; + + var supplier = $(src).attr('supplierid'); + + createPurchaseOrder({ + supplier: supplier, + onSuccess: function(data) { + + // TODO: 2021-08-23 - The whole form wizard needs to be refactored + // In the future, the drop-down should be using a dynamic AJAX request + // to fill out the select2 options! + + var pk = data.pk; + + inventreeGet( + `/api/order/po/${pk}/`, + { + supplier_detail: true, + }, + { + success: function(response) { + var text = response.reference; + + if (response.supplier_detail) { + text += ` ${response.supplier_detail.name}`; + } + + var dropdown = `#id-purchase-order-${supplier}`; + + var option = new Option(text, pk, true, true); + + $('#modal-form').find(dropdown).append(option).trigger('change'); + } + } + ); + } + }); +} + + + +/** + * Receive stock items against a PurchaseOrder + * Uses the PurchaseOrderReceive API endpoint + * + * arguments: + * - order_id, ID / PK for the PurchaseOrder instance + * - line_items: A list of PurchaseOrderLineItems objects to be allocated + * + * options: + * - + */ +function receivePurchaseOrderItems(order_id, line_items, options={}) { + + // Zero items selected? + if (line_items.length == 0) { + + showAlertDialog( + '{% trans "Select Line Items" %}', + '{% trans "At least one line item must be selected" %}', + ); + return; + } + + function renderLineItem(line_item, opts={}) { + + var pk = line_item.pk; + + // Part thumbnail + description + var thumb = thumbnailImage(line_item.part_detail.thumbnail); + + var quantity = (line_item.quantity || 0) - (line_item.received || 0); + + if (quantity < 0) { + quantity = 0; + } + + // Prepend toggles to the quantity input + var toggle_batch = ` + + + + `; + + var toggle_serials = ` + + + + `; + + var units = line_item.part_detail.units || ''; + var pack_size = line_item.supplier_part_detail.pack_size || 1; + var pack_size_div = ''; + + var received = quantity * pack_size; + + if (pack_size != 1) { + pack_size_div = ` +
    + {% trans "Pack Quantity" %}: ${pack_size} ${units}
    + {% trans "Received Quantity" %}: ${received} ${units} +
    `; + } + + // Quantity to Receive + var quantity_input = constructField( + `items_quantity_${pk}`, + { + type: 'decimal', + min_value: 0, + value: quantity, + title: '{% trans "Quantity to receive" %}', + required: true, + }, + { + hideLabels: true, + } + ); + + // Add in options for "batch code" and "serial numbers" + var batch_input = constructField( + `items_batch_code_${pk}`, + { + type: 'string', + required: false, + label: '{% trans "Batch Code" %}', + help_text: '{% trans "Enter batch code for incoming stock items" %}', + prefixRaw: toggle_batch, + } + ); + + var sn_input = constructField( + `items_serial_numbers_${pk}`, + { + type: 'string', + required: false, + label: '{% trans "Serial Numbers" %}', + help_text: '{% trans "Enter serial numbers for incoming stock items" %}', + prefixRaw: toggle_serials, + } + ); + + // Hidden inputs below the "quantity" field + var quantity_input_group = `${quantity_input}${pack_size_div}
    ${batch_input}
    `; + + if (line_item.part_detail.trackable) { + quantity_input_group += `
    ${sn_input}
    `; + } + + // Construct list of StockItem status codes + var choices = []; + + for (var key in stockCodes) { + choices.push({ + value: key, + display_name: stockCodes[key].value, + }); + } + + var destination_input = constructField( + `items_location_${pk}`, + { + type: 'related field', + label: '{% trans "Location" %}', + required: false, + }, + { + hideLabels: true, + } + ); + + var status_input = constructField( + `items_status_${pk}`, + { + type: 'choice', + label: '{% trans "Stock Status" %}', + required: true, + choices: choices, + value: 10, // OK + }, + { + hideLabels: true, + } + ); + + // Button to remove the row + let buttons = ''; + + buttons += makeIconButton( + 'fa-layer-group', + 'button-row-add-batch', + pk, + '{% trans "Add batch code" %}', + { + collapseTarget: `div-batch-${pk}` + } + ); + + if (line_item.part_detail.trackable) { + buttons += makeIconButton( + 'fa-hashtag', + 'button-row-add-serials', + pk, + '{% trans "Add serial numbers" %}', + { + collapseTarget: `div-serials-${pk}`, + } + ); + } + + if (line_items.length > 1) { + buttons += makeRemoveButton('button-row-remove', pk, '{% trans "Remove row" %}'); + } + + buttons = wrapButtons(buttons); + + var html = ` + + + ${thumb} ${line_item.part_detail.full_name} + + + ${line_item.supplier_part_detail.SKU} + + + ${line_item.quantity} + + + ${line_item.received} + + + ${quantity_input_group} + + + ${status_input} + + + ${destination_input} + + + ${buttons} + + `; + + return html; + } + + var table_entries = ''; + + line_items.forEach(function(item) { + if (item.received < item.quantity) { + table_entries += renderLineItem(item); + } + }); + + var html = ``; + + // Add table + html += ` + + + + + + + + + + + + + + + ${table_entries} + +
    {% trans "Part" %}{% trans "Order Code" %}{% trans "Ordered" %}{% trans "Received" %}{% trans "Quantity to Receive" %}{% trans "Status" %}{% trans "Destination" %}
    + `; + + constructForm(`{% url "api-po-list" %}${order_id}/receive/`, { + method: 'POST', + fields: { + location: { + filters: { + structural: false, + } + }, + }, + preFormContent: html, + confirm: true, + confirmMessage: '{% trans "Confirm receipt of items" %}', + title: '{% trans "Receive Purchase Order Items" %}', + afterRender: function(fields, opts) { + + // Run initialization routines for each line in the form + line_items.forEach(function(item) { + + var pk = item.pk; + + var name = `items_location_${pk}`; + + var field_details = { + name: name, + api_url: '{% url "api-location-list" %}', + filters: { + + }, + type: 'related field', + model: 'stocklocation', + required: false, + auto_fill: false, + value: item.destination || item.part_detail.default_location, + render_description: false, + }; + + // Initialize the location field + initializeRelatedField( + field_details, + null, + opts, + ); + + // Add 'clear' button callback for the location field + addClearCallback( + name, + field_details, + opts + ); + + // Setup stock item status field + initializeChoiceField( + { + name: `items_status_${pk}`, + }, + null, + opts + ); + + // Add change callback for quantity field + if (item.supplier_part_detail.pack_size != 1) { + $(opts.modal).find(`#id_items_quantity_${pk}`).change(function() { + var value = $(opts.modal).find(`#id_items_quantity_${pk}`).val(); + + var el = $(opts.modal).find(`#quantity_${pk}`).find('.pack_received_quantity'); + + var actual = value * item.supplier_part_detail.pack_size; + actual = formatDecimal(actual); + el.text(actual); + }); + } + }); + + // Add callbacks to remove rows + $(opts.modal).find('.button-row-remove').click(function() { + var pk = $(this).attr('pk'); + + $(opts.modal).find(`#receive_row_${pk}`).remove(); + }); + }, + onSubmit: function(fields, opts) { + // Extract data elements from the form + var data = { + items: [], + location: getFormFieldValue('location', {}, opts), + }; + + var item_pk_values = []; + + line_items.forEach(function(item) { + + var pk = item.pk; + + var quantity = getFormFieldValue(`items_quantity_${pk}`, {}, opts); + + var status = getFormFieldValue(`items_status_${pk}`, {}, opts); + + var location = getFormFieldValue(`items_location_${pk}`, {}, opts); + + if (quantity != null) { + + var line = { + line_item: pk, + quantity: quantity, + status: status, + location: location, + }; + + if (getFormFieldElement(`items_batch_code_${pk}`).exists()) { + line.batch_code = getFormFieldValue(`items_batch_code_${pk}`); + } + + if (getFormFieldElement(`items_serial_numbers_${pk}`).exists()) { + line.serial_numbers = getFormFieldValue(`items_serial_numbers_${pk}`); + } + + data.items.push(line); + item_pk_values.push(pk); + } + + }); + + // Provide list of nested values + opts.nested = { + 'items': item_pk_values, + }; + + inventreePut( + opts.url, + data, + { + method: 'POST', + success: function(response) { + // Hide the modal + $(opts.modal).modal('hide'); + + if (options.success) { + options.success(response); + } + }, + error: function(xhr) { + switch (xhr.status) { + case 400: + handleFormErrors(xhr.responseJSON, fields, opts); + break; + default: + $(opts.modal).modal('hide'); + showApiError(xhr, opts.url); + break; + } + } + } + ); + } + }); +} + + +/* + * Edit a purchase order line item in a modal form. + */ +function editPurchaseOrderLineItem(e) { + e = e || window.event; + + var src = e.target || e.srcElement; + + var url = $(src).attr('url'); + + // TODO: Migrate this to the API forms + launchModalForm(url, { + reload: true, + }); +} + +/* + * Delete a purchase order line item in a modal form + */ +function removePurchaseOrderLineItem(e) { + + e = e || window.event; + + var src = e.target || e.srcElement; + + var url = $(src).attr('url'); + + // TODO: Migrate this to the API forms + launchModalForm(url, { + reload: true, + }); +} + + +/* + * Load a table displaying list of purchase orders + */ +function loadPurchaseOrderTable(table, options) { + // Ensure the table starts in a known state + $(table).bootstrapTable('destroy'); + + options.params = options.params || {}; + + options.params['supplier_detail'] = true; + + var filters = loadTableFilters('purchaseorder', options.params); + + setupFilterList('purchaseorder', $(table), '#filter-list-purchaseorder', { + download: true, + report: { + url: '{% url "api-po-report-list" %}', + key: 'order', + } + }); + + var display_mode = inventreeLoad('purchaseorder-table-display-mode', 'list'); + + // Function for rendering PurchaseOrder calendar display + function buildEvents(calendar) { + + var start = startDate(calendar); + var end = endDate(calendar); + + clearEvents(calendar); + + // Extract current filters from table + var table_options = $(table).bootstrapTable('getOptions'); + var filters = table_options.query_params || {}; + + filters.supplier_detail = true; + filters.min_date = start; + filters.max_date = end; + + // Request purchase orders from the server within specified date range + inventreeGet( + '{% url "api-po-list" %}', + filters, + { + success: function(response) { + for (var idx = 0; idx < response.length; idx++) { + + var order = response[idx]; + + var date = order.creation_date; + + if (order.complete_date) { + date = order.complete_date; + } else if (order.target_date) { + date = order.target_date; + } + + var title = `${order.reference} - ${order.supplier_detail.name}`; + + var color = '#4c68f5'; + + if (order.complete_date) { + color = '#25c235'; + } else if (order.overdue) { + color = '#c22525'; + } else { + color = '#4c68f5'; + } + + var event = { + title: title, + start: date, + end: date, + url: `/order/purchase-order/${order.pk}/`, + backgroundColor: color, + }; + + calendar.addEvent(event); + } + } + } + ); + } + + $(table).inventreeTable({ + url: '{% url "api-po-list" %}', + queryParams: filters, + name: 'purchaseorder', + groupBy: false, + sidePagination: 'server', + original: options.params, + showColumns: display_mode == 'list', + disablePagination: display_mode == 'calendar', + showCustomViewButton: false, + showCustomView: display_mode == 'calendar', + search: display_mode != 'calendar', + formatNoMatches: function() { + return '{% trans "No purchase orders found" %}'; + }, + buttons: constructOrderTableButtons({ + prefix: 'purchaseorder', + disableTreeView: true, + callback: function() { + // Reload the entire table + loadPurchaseOrderTable(table, options); + } + }), + columns: [ + { + title: '', + visible: true, + checkbox: true, + switchable: false, + }, + { + field: 'reference', + title: '{% trans "Purchase Order" %}', + sortable: true, + switchable: false, + formatter: function(value, row) { + + var html = renderLink(value, `/order/purchase-order/${row.pk}/`); + + if (row.overdue) { + html += makeIconBadge('fa-calendar-times icon-red', '{% trans "Order is overdue" %}'); + } + + return html; + } + }, + { + field: 'supplier_detail', + title: '{% trans "Supplier" %}', + sortable: true, + sortName: 'supplier__name', + formatter: function(value, row) { + return imageHoverIcon(row.supplier_detail.image) + renderLink(row.supplier_detail.name, `/company/${row.supplier}/?display=purchase-orders`); + } + }, + { + field: 'supplier_reference', + title: '{% trans "Supplier Reference" %}', + }, + { + field: 'description', + title: '{% trans "Description" %}', + }, + { + field: 'status', + title: '{% trans "Status" %}', + switchable: true, + sortable: true, + formatter: function(value, row) { + return purchaseOrderStatusDisplay(row.status); + } + }, + { + field: 'creation_date', + title: '{% trans "Date" %}', + sortable: true, + formatter: function(value) { + return renderDate(value); + } + }, + { + field: 'target_date', + title: '{% trans "Target Date" %}', + sortable: true, + formatter: function(value) { + return renderDate(value); + } + }, + { + field: 'line_items', + title: '{% trans "Items" %}', + sortable: true, + }, + { + field: 'total_price', + title: '{% trans "Total Cost" %}', + switchable: true, + sortable: true, + formatter: function(value, row) { + return formatCurrency(value, { + currency: row.total_price_currency, + }); + }, + }, + { + field: 'responsible', + title: '{% trans "Responsible" %}', + switchable: true, + sortable: true, + formatter: function(value, row) { + + if (!row.responsible_detail) { + return '-'; + } + + var html = row.responsible_detail.name; + + if (row.responsible_detail.label == 'group') { + html += ``; + } else { + html += ``; + } + + return html; + } + }, + ], + customView: function(data) { + return `
    `; + }, + onRefresh: function() { + loadPurchaseOrderTable(table, options); + }, + onLoadSuccess: function() { + + if (display_mode == 'calendar') { + var el = document.getElementById('purchase-order-calendar'); + + calendar = new FullCalendar.Calendar(el, { + initialView: 'dayGridMonth', + nowIndicator: true, + aspectRatio: 2.5, + locale: options.locale, + datesSet: function() { + buildEvents(calendar); + } + }); + + calendar.render(); + } + } + }); +} + + +/* + * Delete the selected Purchase Order Line Items from the database + */ +function deletePurchaseOrderLineItems(items, options={}) { + + function renderItem(item, opts={}) { + + var part = item.part_detail; + var thumb = thumbnailImage(item.part_detail.thumbnail || item.part_detail.image); + var MPN = item.supplier_part_detail.manufacturer_part_detail ? item.supplier_part_detail.manufacturer_part_detail.MPN : '-'; + + var html = ` + + ${thumb} ${part.full_name} + ${part.description} + ${item.supplier_part_detail.SKU} + ${MPN} + ${item.quantity} + + `; + + return html; + } + + var rows = ''; + var ids = []; + + items.forEach(function(item) { + rows += renderItem(item); + ids.push(item.pk); + }); + + var html = ` +
    + {% trans "All selected Line items will be deleted" %} +
    + + + + + + + + + + ${rows} +
    {% trans "Part" %}{% trans "Description" %}{% trans "SKU" %}{% trans "MPN" %}{% trans "Quantity" %}
    + `; + + constructForm('{% url "api-po-line-list" %}', { + method: 'DELETE', + multi_delete: true, + title: '{% trans "Delete selected Line items?" %}', + form_data: { + items: ids, + }, + preFormContent: html, + refreshTable: '#po-line-table', + }); +} + + +/** + * Load a table displaying line items for a particular PurchasesOrder + * @param {String} table - HTML ID tag e.g. '#table' + * @param {Object} options - options which must provide: + * - order (integer PK) + * - supplier (integer PK) + * - allow_edit (boolean) + * - allow_receive (boolean) + */ +function loadPurchaseOrderLineItemTable(table, options={}) { + + options.params = options.params || {}; + + options.params['order'] = options.order; + options.params['part_detail'] = true; + + // Override 'editing' if order is not pending + if (!options.pending && !global_settings.PURCHASEORDER_EDIT_COMPLETED_ORDERS) { + options.allow_edit = false; + } + + var filters = loadTableFilters('purchaseorderlineitem', options.params); + + setupFilterList( + 'purchaseorderlineitem', + $(table), + options.filter_target || '#filter-list-purchase-order-lines', + { + download: true + } + ); + + function setupCallbacks() { + if (options.allow_edit) { + + // Callback for "duplicate" button + $(table).find('.button-line-duplicate').click(function() { + var pk = $(this).attr('pk'); + + inventreeGet(`{% url "api-po-line-list" %}${pk}/`, {}, { + success: function(data) { + + var fields = poLineItemFields({ + supplier: options.supplier, + }); + + constructForm('{% url "api-po-line-list" %}', { + method: 'POST', + fields: fields, + data: data, + title: '{% trans "Duplicate Line Item" %}', + refreshTable: table, + }); + } + }); + }); + + // Callback for "edit" button + $(table).find('.button-line-edit').click(function() { + var pk = $(this).attr('pk'); + + var fields = poLineItemFields(options); + + constructForm(`{% url "api-po-line-list" %}${pk}/`, { + fields: fields, + title: '{% trans "Edit Line Item" %}', + refreshTable: table, + }); + }); + + // Callback for "delete" button + $(table).find('.button-line-delete').click(function() { + var pk = $(this).attr('pk'); + + constructForm(`{% url "api-po-line-list" %}${pk}/`, { + method: 'DELETE', + title: '{% trans "Delete Line Item" %}', + refreshTable: table, + }); + }); + + // Callback for bulk deleting mutliple lines + $('#po-lines-bulk-delete').off('click').on('click', function() { + var rows = getTableData(' #po-line-table'); + + deletePurchaseOrderLineItems(rows); + }); + } + + if (options.allow_receive) { + $(table).find('.button-line-receive').click(function() { + var pk = $(this).attr('pk'); + + var line_item = $(table).bootstrapTable('getRowByUniqueId', pk); + + if (!line_item) { + console.warn('getRowByUniqueId returned null'); + return; + } + + receivePurchaseOrderItems( + options.order, + [ + line_item, + ], + { + success: function() { + // Reload the line item table + reloadBootstrapTable(table); + + // Reload the "received stock" table + reloadBootstrapTable('#stock-table'); + } + } + ); + }); + } + } + + $(table).inventreeTable({ + onPostBody: setupCallbacks, + name: 'purchaseorderlines', + sidePagination: 'server', + formatNoMatches: function() { + return '{% trans "No line items found" %}'; + }, + queryParams: filters, + original: options.params, + url: '{% url "api-po-line-list" %}', + showFooter: true, + uniqueId: 'pk', + columns: [ + { + checkbox: true, + visible: true, + switchable: false, + }, + { + field: 'part', + sortable: true, + sortName: 'part_name', + title: '{% trans "Part" %}', + switchable: false, + formatter: function(value, row, index, field) { + if (row.part) { + return imageHoverIcon(row.part_detail.thumbnail) + renderLink(row.part_detail.full_name, `/part/${row.part_detail.pk}/`); + } else { + return '-'; + } + }, + footerFormatter: function() { + return '{% trans "Total" %}'; + } + }, + { + field: 'part_detail.description', + title: '{% trans "Description" %}', + }, + { + sortable: true, + sortName: 'SKU', + field: 'supplier_part_detail.SKU', + title: '{% trans "SKU" %}', + formatter: function(value, row, index, field) { + if (value) { + return renderLink(value, `/supplier-part/${row.part}/`); + } else { + return '-'; + } + }, + }, + { + sortable: false, + field: 'supplier_part_detail.link', + title: '{% trans "Link" %}', + formatter: function(value, row, index, field) { + if (value) { + return renderLink(value, value); + } else { + return ''; + } + }, + }, + { + sortable: true, + sortName: 'MPN', + field: 'supplier_part_detail.manufacturer_part_detail.MPN', + title: '{% trans "MPN" %}', + formatter: function(value, row, index, field) { + if (row.supplier_part_detail && row.supplier_part_detail.manufacturer_part) { + return renderLink(value, `/manufacturer-part/${row.supplier_part_detail.manufacturer_part}/`); + } else { + return '-'; + } + }, + }, + { + sortable: true, + field: 'reference', + title: '{% trans "Reference" %}', + }, + { + sortable: true, + switchable: false, + field: 'quantity', + title: '{% trans "Quantity" %}', + formatter: function(value, row) { + var units = ''; + + if (row.part_detail.units) { + units = ` ${row.part_detail.units}`; + } + + var data = value; + + if (row.supplier_part_detail.pack_size != 1.0) { + var pack_size = row.supplier_part_detail.pack_size; + var total = value * pack_size; + data += ``; + } + + return data; + }, + footerFormatter: function(data) { + return data.map(function(row) { + return +row['quantity']; + }).reduce(function(sum, i) { + return sum + i; + }, 0); + } + }, + { + sortable: false, + switchable: true, + field: 'supplier_part_detail.pack_size', + title: '{% trans "Pack Quantity" %}', + formatter: function(value, row) { + var units = row.part_detail.units; + + if (units) { + value += ` ${units}`; + } + + return value; + } + }, + { + sortable: true, + field: 'purchase_price', + title: '{% trans "Unit Price" %}', + formatter: function(value, row) { + return formatCurrency(row.purchase_price, { + currency: row.purchase_price_currency, + }); + } + }, + { + field: 'total_price', + sortable: true, + title: '{% trans "Total Price" %}', + formatter: function(value, row) { + return formatCurrency(row.purchase_price * row.quantity, { + currency: row.purchase_price_currency + }); + }, + footerFormatter: function(data) { + return calculateTotalPrice( + data, + function(row) { + return row.purchase_price ? row.purchase_price * row.quantity : null; + }, + function(row) { + return row.purchase_price_currency; + } + ); + } + }, + { + sortable: true, + field: 'target_date', + switchable: true, + title: '{% trans "Target Date" %}', + formatter: function(value, row) { + if (row.target_date) { + var html = renderDate(row.target_date); + + if (row.overdue) { + html += makeIconBadge('fa-calendar-times icon-red', '{% trans "This line item is overdue" %}'); + } + + return html; + + } else if (row.order_detail && row.order_detail.target_date) { + return `${renderDate(row.order_detail.target_date)}`; + } else { + return '-'; + } + } + }, + { + sortable: false, + field: 'received', + switchable: false, + title: '{% trans "Received" %}', + formatter: function(value, row, index, field) { + return makeProgressBar(row.received, row.quantity, { + id: `order-line-progress-${row.pk}`, + }); + }, + sorter: function(valA, valB, rowA, rowB) { + + if (rowA.received == 0 && rowB.received == 0) { + return (rowA.quantity > rowB.quantity) ? 1 : -1; + } + + var progressA = parseFloat(rowA.received) / rowA.quantity; + var progressB = parseFloat(rowB.received) / rowB.quantity; + + return (progressA < progressB) ? 1 : -1; + } + }, + { + field: 'destination', + title: '{% trans "Destination" %}', + formatter: function(value, row) { + if (value) { + return renderLink(row.destination_detail.pathstring, `/stock/location/${value}/`); + } else { + return '-'; + } + } + }, + { + field: 'notes', + title: '{% trans "Notes" %}', + }, + { + switchable: false, + field: 'buttons', + title: '', + formatter: function(value, row, index, field) { + let buttons = ''; + let pk = row.pk; + + if (options.allow_receive && row.received < row.quantity) { + buttons += makeIconButton('fa-sign-in-alt icon-green', 'button-line-receive', pk, '{% trans "Receive line item" %}'); + } + + if (options.allow_edit) { + buttons += makeCopyButton('button-line-duplicate', pk, '{% trans "Duplicate line item" %}'); + buttons += makeEditButton('button-line-edit', pk, '{% trans "Edit line item" %}'); + buttons += makeDeleteButton('button-line-delete', pk, '{% trans "Delete line item" %}'); + } + + return wrapButtons(buttons); + }, + } + ] + }); + + linkButtonsToSelection( + table, + [ + '#multi-select-options', + ] + ); + +} diff --git a/InvenTree/templates/js/translated/report.js b/InvenTree/templates/js/translated/report.js index 7187674635..a6d124a3cd 100644 --- a/InvenTree/templates/js/translated/report.js +++ b/InvenTree/templates/js/translated/report.js @@ -14,21 +14,17 @@ */ /* exported - printBomReports, - printBuildReports, - printPurchaseOrderReports, - printSalesOrderReports, - printTestReports, + printReports, */ +/** + * Present the user with the available reports, + * and allow them to select which report to print. + * + * The intent is that the available report templates have been requested + * (via AJAX) from the server. + */ function selectReport(reports, items, options={}) { - /** - * Present the user with the available reports, - * and allow them to select which report to print. - * - * The intent is that the available report templates have been requested - * (via AJAX) from the server. - */ // If there is only a single report available, just print! if (reports.length == 1) { @@ -108,270 +104,57 @@ function selectReport(reports, items, options={}) { } -function printTestReports(items) { - /** - * Print test reports for the provided stock item(s) - */ +/* + * Print report(s) for the selected items: + * + * - Retrieve a list of matching report templates from the server + * - Present the available templates to the user (if more than one available) + * - Request printed document + * + * Required options: + * - url: The list URL for the particular template type + * - items: The list of objects to print + * - key: The key to use in the query parameters + */ +function printReports(options) { - if (items.length == 0) { + if (!options.items || options.items.length == 0) { showAlertDialog( - '{% trans "Select Stock Items" %}', - '{% trans "Stock item(s) must be selected before printing reports" %}' + '{% trans "Select Items" %}', + '{% trans "No items selected for printing" }', ); - return; } - // Request available reports from the server - inventreeGet( - '{% url "api-stockitem-testreport-list" %}', - { - enabled: true, - items: items, - }, - { - success: function(response) { - if (response.length == 0) { - showAlertDialog( - '{% trans "No Reports Found" %}', - '{% trans "No report templates found which match selected stock item(s)" %}', - ); + let params = { + enabled: true, + }; - return; - } + params[options.key] = options.items; - // Select report template to print - selectReport( - response, - items, - { - success: function(pk) { - var href = `/api/report/test/${pk}/print/?`; - - items.forEach(function(item) { - href += `item=${item}&`; - }); - - window.open(href); - } - } + // Request a list of available report templates + inventreeGet(options.url, params, { + success: function(response) { + if (response.length == 0) { + showAlertDialog( + '{% trans "No Reports Found" %}', + '{% trans "No report templates found which match the selected items" %}', ); + return; } - } - ); -} + // Select report template for printing + selectReport(response, options.items, { + success: function(pk) { + let href = `${options.url}${pk}/print/?`; -function printBuildReports(builds) { - /** - * Print Build report for the provided build(s) - */ + options.items.forEach(function(item) { + href += `${options.key}=${item}&`; + }); - if (builds.length == 0) { - showAlertDialog( - '{% trans "Select Builds" %}', - '{% trans "Build(s) must be selected before printing reports" %}', - ); - - return; - } - - inventreeGet( - '{% url "api-build-report-list" %}', - { - enabled: true, - builds: builds, - }, - { - success: function(response) { - if (response.length == 0) { - showAlertDialog( - '{% trans "No Reports Found" %}', - '{% trans "No report templates found which match selected build(s)" %}' - ); - - return; + window.open(href); } - - // Select which report to print - selectReport( - response, - builds, - { - success: function(pk) { - var href = `/api/report/build/${pk}/print/?`; - - builds.forEach(function(build) { - href += `build=${build}&`; - }); - - window.open(href); - } - } - ); - } + }); } - ); -} - - -function printBomReports(parts) { - /** - * Print BOM reports for the provided part(s) - */ - - if (parts.length == 0) { - showAlertDialog( - '{% trans "Select Parts" %}', - '{% trans "Part(s) must be selected before printing reports" %}' - ); - - return; - } - - // Request available reports from the server - inventreeGet( - '{% url "api-bom-report-list" %}', - { - enabled: true, - parts: parts, - }, - { - success: function(response) { - if (response.length == 0) { - showAlertDialog( - '{% trans "No Reports Found" %}', - '{% trans "No report templates found which match selected part(s)" %}', - ); - - return; - } - - // Select which report to print - selectReport( - response, - parts, - { - success: function(pk) { - var href = `/api/report/bom/${pk}/print/?`; - - parts.forEach(function(part) { - href += `part=${part}&`; - }); - - window.open(href); - } - } - ); - } - } - ); -} - - -function printPurchaseOrderReports(orders) { - /** - * Print PurchaseOrder reports for the provided purchase order(s) - */ - - if (orders.length == 0) { - showAlertDialog( - '{% trans "Select Purchase Orders" %}', - '{% trans "Purchase Order(s) must be selected before printing report" %}', - ); - - return; - } - - // Request avaiable report templates - inventreeGet( - '{% url "api-po-report-list" %}', - { - enabled: true, - orders: orders, - }, - { - success: function(response) { - if (response.length == 0) { - showAlertDialog( - '{% trans "No Reports Found" %}', - '{% trans "No report templates found which match selected orders" %}', - ); - - return; - } - - // Select report template - selectReport( - response, - orders, - { - success: function(pk) { - var href = `/api/report/po/${pk}/print/?`; - - orders.forEach(function(order) { - href += `order=${order}&`; - }); - - window.open(href); - } - } - ); - } - } - ); -} - - -function printSalesOrderReports(orders) { - /** - * Print SalesOrder reports for the provided purchase order(s) - */ - - if (orders.length == 0) { - showAlertDialog( - '{% trans "Select Sales Orders" %}', - '{% trans "Sales Order(s) must be selected before printing report" %}', - ); - - return; - } - - // Request avaiable report templates - inventreeGet( - '{% url "api-so-report-list" %}', - { - enabled: true, - orders: orders, - }, - { - success: function(response) { - if (response.length == 0) { - showAlertDialog( - '{% trans "No Reports Found" %}', - '{% trans "No report templates found which match selected orders" %}', - ); - - return; - } - - // Select report template - selectReport( - response, - orders, - { - success: function(pk) { - var href = `/api/report/so/${pk}/print/?`; - - orders.forEach(function(order) { - href += `order=${order}&`; - }); - - window.open(href); - } - } - ); - } - } - ); + }); } diff --git a/InvenTree/templates/js/translated/return_order.js b/InvenTree/templates/js/translated/return_order.js new file mode 100644 index 0000000000..7c6519c5f8 --- /dev/null +++ b/InvenTree/templates/js/translated/return_order.js @@ -0,0 +1,743 @@ +{% load i18n %} +{% load inventree_extras %} + +/* globals + companyFormFields, + constructForm, + imageHoverIcon, + loadTableFilters, + renderLink, + returnOrderStatusDisplay, + setupFilterList, +*/ + +/* exported + cancelReturnOrder, + completeReturnOrder, + createReturnOrder, + createReturnOrderLineItem, + editReturnOrder, + editReturnOrderLineItem, + issueReturnOrder, + loadReturnOrderTable, + loadReturnOrderLineItemTable, +*/ + + +/* + * Construct a set of fields for a ReturnOrder form + */ +function returnOrderFields(options={}) { + + let fields = { + reference: { + icon: 'fa-hashtag', + }, + description: {}, + customer: { + icon: 'fa-user-tie', + secondary: { + title: '{% trans "Add Customer" %}', + fields: function() { + var fields = companyFormFields(); + fields.is_customer.value = true; + return fields; + } + } + }, + customer_reference: {}, + target_date: { + icon: 'fa-calendar-alt', + }, + link: { + icon: 'fa-link', + }, + contact: { + icon: 'fa-user', + adjustFilters: function(filters) { + let customer = getFormFieldValue('customer', {}, {modal: options.modal}); + + if (customer) { + filters.company = customer; + } + + return filters; + } + }, + responsible: { + icon: 'fa-user', + } + }; + + return fields; +} + + +/* + * Create a new Return Order + */ +function createReturnOrder(options={}) { + let fields = returnOrderFields(options); + + if (options.customer) { + fields.customer.value = options.customer; + } + + constructForm('{% url "api-return-order-list" %}', { + method: 'POST', + fields: fields, + title: '{% trans "Create Return Order" %}', + onSuccess: function(data) { + location.href = `/order/return-order/${data.pk}/`; + }, + }); +} + + +/* + * Edit an existing Return Order + */ +function editReturnOrder(order_id, options={}) { + + constructForm(`{% url "api-return-order-list" %}${order_id}/`, { + fields: returnOrderFields(options), + title: '{% trans "Edit Return Order" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + +/* + * "Issue" a ReturnOrder, to mark it as "in progress" + */ +function issueReturnOrder(order_id, options={}) { + + let html = ` +
    + {% trans 'After placing this order, line items will no longer be editable.' %} +
    `; + + constructForm(`{% url "api-return-order-list" %}${order_id}/issue/`, { + method: 'POST', + title: '{% trans "Issue Return Order" %}', + confirm: true, + preFormContent: html, + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + +/* + * Launches a modal form to cancel a ReturnOrder + */ +function cancelReturnOrder(order_id, options={}) { + + let html = ` +
    + {% trans "Are you sure you wish to cancel this Return Order?" %} +
    `; + + constructForm( + `{% url "api-return-order-list" %}${order_id}/cancel/`, + { + method: 'POST', + title: '{% trans "Cancel Return Order" %}', + confirm: true, + preFormContent: html, + onSuccess: function(response) { + handleFormSuccess(response, options); + } + } + ); +} + + +/* + * Launches a modal form to mark a ReturnOrder as "complete" + */ +function completeReturnOrder(order_id, options={}) { + let html = ` +
    + {% trans "Mark this order as complete?" %} +
    + `; + + constructForm( + `{% url "api-return-order-list" %}${order_id}/complete/`, + { + method: 'POST', + title: '{% trans "Complete Return Order" %}', + confirm: true, + preFormContent: html, + onSuccess: function(response) { + handleFormSuccess(response, options); + } + } + ); +} + + +/* + * Load a table of return orders + */ +function loadReturnOrderTable(table, options={}) { + + // Ensure the table starts in a known state + $(table).bootstrapTable('destroy'); + + options.params = options.params || {}; + options.params['customer_detail'] = true; + + let filters = loadTableFilters('returnorder', options.params); + + setupFilterList('returnorder', $(table), '#filter-list-returnorder', { + download: true, + report: { + url: '{% url "api-return-order-report-list" %}', + key: 'order', + } + }); + + let display_mode = inventreeLoad('returnorder-table-display-mode', 'list'); + + let is_calendar = display_mode == 'calendar'; + + $(table).inventreeTable({ + url: '{% url "api-return-order-list" %}', + queryParams: filters, + name: 'returnorder', + sidePagination: 'server', + original: options.params, + showColumns: !is_calendar, + search: !is_calendar, + showCustomViewButton: false, + showCustomView: is_calendar, + disablePagination: is_calendar, + formatNoMatches: function() { + return '{% trans "No return orders found" %}'; + }, + onRefresh: function() { + loadReturnOrderTable(table, options); + }, + onLoadSuccess: function() { + // TODO + }, + columns: [ + { + title: '', + checkbox: true, + visible: true, + switchable: false, + }, + { + sortable: true, + field: 'reference', + title: '{% trans "Return Order" %}', + formatter: function(value, row) { + let html = renderLink(value, `/order/return-order/${row.pk}/`); + + if (row.overdue) { + html += makeIconBadge('fa-calendar-times icon-red', '{% trans "Order is overdue" %}'); + } + + return html; + }, + }, + { + sortable: true, + sortName: 'customer__name', + field: 'customer_detail', + title: '{% trans "Customer" %}', + formatter: function(value, row) { + + if (!row.customer_detail) { + return '{% trans "Invalid Customer" %}'; + } + + return imageHoverIcon(row.customer_detail.image) + renderLink(row.customer_detail.name, `/company/${row.customer}/sales-orders/`); + } + }, + { + sortable: true, + field: 'customer_reference', + title: '{% trans "Customer Reference" %}', + }, + { + sortable: false, + field: 'description', + title: '{% trans "Description" %}', + }, + { + sortable: true, + field: 'status', + title: '{% trans "Status" %}', + formatter: function(value, row) { + return returnOrderStatusDisplay(row.status); + } + }, + { + sortable: true, + field: 'creation_date', + title: '{% trans "Creation Date" %}', + formatter: function(value) { + return renderDate(value); + } + }, + { + sortable: true, + field: 'target_date', + title: '{% trans "Target Date" %}', + formatter: function(value) { + return renderDate(value); + } + }, + { + field: 'line_items', + title: '{% trans "Items" %}', + sortable: true, + }, + { + field: 'responsible', + title: '{% trans "Responsible" %}', + switchable: true, + sortable: true, + formatter: function(value, row) { + if (!row.responsible_detail) { + return '-'; + } + + let html = row.responsible_detail.name; + + if (row.responsible_detail.label == 'group') { + html += ``; + } else { + html += ``; + } + + return html; + } + }, + { + // TODO: Add in the 'total cost' field + field: 'total_price', + title: '{% trans "Total Cost" %}', + switchable: true, + sortable: true, + visible: false, + formatter: function(value, row) { + return formatCurrency(value, { + currency: row.total_price_currency + }); + } + } + ] + }); +} + + +/* + * Construct a set of fields for a ReturnOrderLineItem form + */ +function returnOrderLineItemFields(options={}) { + + let fields = { + order: { + filters: { + customer_detail: true, + } + }, + item: { + filters: { + part_detail: true, + serialized: true, + } + }, + reference: {}, + outcome: { + icon: 'fa-route', + }, + price: { + icon: 'fa-dollar-sign', + }, + price_currency: { + icon: 'fa-coins', + }, + target_date: { + icon: 'fa-calendar-alt', + }, + notes: { + icon: 'fa-sticky-note', + } + }; + + return fields; +} + + +/* + * Create a new ReturnOrderLineItem + */ +function createReturnOrderLineItem(options={}) { + + let fields = returnOrderLineItemFields(); + + if (options.order) { + fields.order.value = options.order; + fields.order.hidden = true; + } + + if (options.customer) { + Object.assign(fields.item.filters, { + customer: options.customer + }); + } + + constructForm('{% url "api-return-order-line-list" %}', { + fields: fields, + method: 'POST', + title: '{% trans "Add Line Item" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + +/* + * Edit an existing ReturnOrderLineItem + */ +function editReturnOrderLineItem(pk, options={}) { + + let fields = returnOrderLineItemFields(); + + constructForm(`{% url "api-return-order-line-list" %}${pk}/`, { + fields: fields, + title: '{% trans "Edit Line Item" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + +/* + * Receive one or more items against a ReturnOrder + */ +function receiveReturnOrderItems(order_id, line_items, options={}) { + + if (line_items.length == 0) { + showAlertDialog( + '{% trans "Select Line Items"% }', + '{% trans "At least one line item must be selected" %}' + ); + return; + } + + function renderLineItem(line_item) { + let pk = line_item.pk; + + // Render thumbnail + description + let thumb = thumbnailImage(line_item.part_detail.thumbnail); + + let buttons = ''; + + if (line_items.length > 1) { + buttons += makeRemoveButton('button-row-remove', pk, '{% trans "Remove row" %}'); + } + + buttons = wrapButtons(buttons); + + let html = ` + + + ${thumb} ${line_item.part_detail.full_name} + + + ${line_item.item_detail.serial} + + ${buttons} + `; + + return html; + } + + let table_entries = ''; + + line_items.forEach(function(item) { + if (!item.received_date) { + table_entries += renderLineItem(item); + } + }); + + let html = ''; + + html += ` + + + + + + + + ${table_entries} +
    {% trans "Part" %}{% trans "Serial Number" %}
    `; + + constructForm(`{% url "api-return-order-list" %}${order_id}/receive/`, { + method: 'POST', + preFormContent: html, + fields: { + location: { + filters: { + strucutral: false, + } + } + }, + confirm: true, + confirmMessage: '{% trans "Confirm receipt of items" %}', + title: '{% trans "Receive Return Order Items" %}', + afterRender: function(fields, opts) { + // Add callback to remove rows + $(opts.modal).find('.button-row-remove').click(function() { + let pk = $(this).attr('pk'); + $(opts.modal).find(`#receive_row_${pk}`).remove(); + }); + }, + onSubmit: function(fields, opts) { + // Extract data elements from the form + let data = { + items: [], + location: getFormFieldValue('location', {}, opts), + }; + + let item_pk_values = []; + + line_items.forEach(function(item) { + let pk = item.pk; + let row = $(opts.modal).find(`#receive_row_${pk}`); + + if (row.exists()) { + data.items.push({ + item: pk, + }); + item_pk_values.push(pk); + } + }); + + opts.nested = { + 'items': item_pk_values, + }; + + inventreePut( + opts.url, + data, + { + method: 'POST', + success: function(response) { + $(opts.modal).modal('hide'); + + handleFormSuccess(response, options); + }, + error: function(xhr) { + switch (xhr.status) { + case 400: + handleFormErrors(xhr.responseJSON, fields, opts); + break; + default: + $(opts.modal).modal('hide'); + showApiError(xhr, opts.url); + break; + } + } + } + ); + } + }); +} + + +/* + * Load a table displaying line items for a particular ReturnOrder + */ +function loadReturnOrderLineItemTable(options={}) { + + var table = options.table; + + options.params = options.params || {}; + + options.params.order = options.order; + options.params.item_detail = true; + options.params.order_detail = false; + options.params.part_detail = true; + + let filters = loadTableFilters('returnorderlineitem', options.params); + + setupFilterList('returnorderlineitem', $(table), '#filter-list-returnorderlines', {download: true}); + + function setupCallbacks() { + if (options.allow_edit) { + + // Callback for "receive" button + if (options.allow_receive) { + $(table).find('.button-line-receive').click(function() { + let pk = $(this).attr('pk'); + + let line = $(table).bootstrapTable('getRowByUniqueId', pk); + + receiveReturnOrderItems( + options.order, + [line], + { + onSuccess: function(response) { + reloadBootstrapTable(table); + } + } + ); + }); + } + + // Callback for "edit" button + $(table).find('.button-line-edit').click(function() { + let pk = $(this).attr('pk'); + + constructForm(`{% url "api-return-order-line-list" %}${pk}/`, { + fields: returnOrderLineItemFields(), + title: '{% trans "Edit Line Item" %}', + refreshTable: table, + }); + }); + } + + if (options.allow_delete) { + // Callback for "delete" button + $(table).find('.button-line-delete').click(function() { + let pk = $(this).attr('pk'); + + constructForm(`{% url "api-return-order-line-list" %}${pk}/`, { + method: 'DELETE', + title: '{% trans "Delete Line Item" %}', + refreshTable: table, + }); + }); + } + } + + $(table).inventreeTable({ + url: '{% url "api-return-order-line-list" %}', + name: 'returnorderlineitems', + formatNoMatches: function() { + return '{% trans "No matching line items" %}'; + }, + onPostBody: setupCallbacks, + queryParams: filters, + original: options.params, + showColumns: true, + showFooter: true, + uniqueId: 'pk', + columns: [ + { + checkbox: true, + switchable: false, + }, + { + field: 'part', + sortable: true, + switchable: false, + title: '{% trans "Part" %}', + formatter: function(value, row) { + let part = row.part_detail; + let html = thumbnailImage(part.thumbnail) + ' '; + html += renderLink(part.full_name, `/part/${part.pk}/`); + return html; + } + }, + { + field: 'item', + sortable: true, + switchable: false, + title: '{% trans "Item" %}', + formatter: function(value, row) { + return renderLink(`{% trans "Serial Number" %}: ${row.item_detail.serial}`, `/stock/item/${row.item}/`); + } + }, + { + field: 'reference', + title: '{% trans "Reference" %}', + }, + { + field: 'outcome', + title: '{% trans "Outcome" %}', + sortable: true, + formatter: function(value, row) { + return returnOrderLineItemStatusDisplay(value); + } + }, + { + field: 'price', + title: '{% trans "Price" %}', + formatter: function(value, row) { + return formatCurrency(row.price, { + currency: row.price_currency, + }); + } + }, + { + sortable: true, + field: 'target_date', + title: '{% trans "Target Date" %}', + formatter: function(value, row) { + let html = renderDate(value); + + if (row.overdue) { + html += makeIconBadge('fa-calendar-times icon-red', '{% trans "This line item is overdue" %}'); + } + + return html; + } + }, + { + field: 'received_date', + title: '{% trans "Received" %}', + sortable: true, + formatter: function(value) { + if (!value) { + yesNoLabel(value); + } else { + return renderDate(value); + } + } + }, + { + field: 'notes', + title: '{% trans "Notes" %}', + }, + { + field: 'buttons', + title: '', + switchable: false, + formatter: function(value, row) { + let buttons = ''; + let pk = row.pk; + + if (options.allow_edit) { + + if (options.allow_receive && !row.received_date) { + buttons += makeIconButton('fa-sign-in-alt icon-green', 'button-line-receive', pk, '{% trans "Mark item as received" %}'); + } + + buttons += makeEditButton('button-line-edit', pk, '{% trans "Edit line item" %}'); + } + + if (options.allow_delete) { + buttons += makeDeleteButton('button-line-delete', pk, '{% trans "Delete line item" %}'); + } + + return wrapButtons(buttons); + } + } + ] + }); +} diff --git a/InvenTree/templates/js/translated/sales_order.js b/InvenTree/templates/js/translated/sales_order.js new file mode 100644 index 0000000000..763718d100 --- /dev/null +++ b/InvenTree/templates/js/translated/sales_order.js @@ -0,0 +1,2107 @@ +{% load i18n %} +{% load inventree_extras %} + + +/* globals + companyFormFields, + constructForm, + global_settings, + imageHoverIcon, + inventreeGet, + launchModalForm, + loadTableFilters, + makeIconBadge, + renderLink, + salesOrderStatusDisplay, + setupFilterList, +*/ + +/* exported + allocateStockToSalesOrder, + cancelSalesOrder, + completeSalesOrder, + completeSalesOrderShipment, + completePendingShipments, + createSalesOrder, + createSalesOrderLineItem, + createSalesOrderShipment, + editSalesOrder, + exportOrder, + loadSalesOrderAllocationTable, + loadSalesOrderLineItemTable, + loadSalesOrderShipmentTable, + loadSalesOrderTable, + orderParts, + loadOrderTotal +*/ + + + +/* + * Construct a set of form fields for the SalesOrder model + */ +function salesOrderFields(options={}) { + let fields = { + reference: { + icon: 'fa-hashtag', + }, + description: {}, + customer: { + icon: 'fa-user-tie', + secondary: { + title: '{% trans "Add Customer" %}', + fields: function() { + var fields = companyFormFields(); + fields.is_customer.value = true; + return fields; + } + } + }, + customer_reference: {}, + target_date: { + icon: 'fa-calendar-alt', + }, + link: { + icon: 'fa-link', + }, + contact: { + icon: 'fa-user', + adjustFilters: function(filters) { + let customer = getFormFieldValue('customer', {}, {modal: options.modal}); + + if (customer) { + filters.company = customer; + } + + return filters; + } + }, + responsible: { + icon: 'fa-user', + } + }; + + return fields; +} + + +/* + * Create a new SalesOrder + */ +function createSalesOrder(options={}) { + + let fields = salesOrderFields(options); + + if (options.customer) { + fields.customer.value = options.customer; + } + + constructForm('{% url "api-so-list" %}', { + method: 'POST', + fields: fields, + title: '{% trans "Create Sales Order" %}', + onSuccess: function(data) { + location.href = `/order/sales-order/${data.pk}/`; + }, + }); +} + + +/* + * Edit an existing SalesOrder + */ +function editSalesOrder(order_id, options={}) { + + constructForm(`{% url "api-so-list" %}${order_id}/`, { + fields: salesOrderFields(options), + title: '{% trans "Edit Sales Order" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + + + +/* Construct a set of fields for the SalesOrderLineItem form */ +function soLineItemFields(options={}) { + + let fields = { + order: { + hidden: true, + }, + part: { + icon: 'fa-shapes', + }, + quantity: {}, + reference: {}, + sale_price: { + icon: 'fa-dollar-sign', + }, + sale_price_currency: { + icon: 'fa-coins', + }, + target_date: { + icon: 'fa-calendar-alt', + }, + notes: { + icon: 'fa-sticky-note', + }, + }; + + if (options.order) { + fields.order.value = options.order; + } + + if (options.target_date) { + fields.target_date.value = options.target_date; + } + + return fields; +} + + +/* + * Launch a modal form to create a new SalesOrderLineItem + */ +function createSalesOrderLineItem(options={}) { + + let fields = soLineItemFields(options); + + constructForm('{% url "api-so-line-list" %}', { + fields: fields, + method: 'POST', + title: '{% trans "Add Line Item" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + }, + }); +} + + +/* + * Form field definitions for a SalesOrderShipment + */ +function salesOrderShipmentFields(options={}) { + var fields = { + order: {}, + reference: {}, + tracking_number: { + icon: 'fa-hashtag', + }, + invoice_number: { + icon: 'fa-dollar-sign', + }, + link: { + icon: 'fa-link', + } + }; + + // If order is specified, hide the order field + if (options.order) { + fields.order.value = options.order; + fields.order.hidden = true; + } + + return fields; +} + + +/* + * Complete a Sales Order shipment + */ +function completeSalesOrderShipment(shipment_id, options={}) { + + // Request the list of stock items which will be shipped + inventreeGet(`{% url "api-so-shipment-list" %}${shipment_id}/`, {}, { + success: function(shipment) { + var allocations = shipment.allocations; + + var html = ''; + + if (!allocations || allocations.length == 0) { + html = ` +
    + {% trans "No stock items have been allocated to this shipment" %} +
    + `; + } else { + html = ` + {% trans "The following stock items will be shipped" %} + + + + + + + + + `; + + allocations.forEach(function(allocation) { + + var part = allocation.part_detail; + var thumb = thumbnailImage(part.thumbnail || part.image); + + var stock = ''; + + if (allocation.serial) { + stock = `{% trans "Serial Number" %}: ${allocation.serial}`; + } else { + stock = `{% trans "Quantity" %}: ${allocation.quantity}`; + } + + html += ` + + + + + `; + }); + + html += ` + +
    {% trans "Part" %}{% trans "Stock Item" %}
    ${thumb} ${part.full_name}${stock}
    + `; + } + + constructForm(`{% url "api-so-shipment-list" %}${shipment_id}/ship/`, { + method: 'POST', + title: `{% trans "Complete Shipment" %} ${shipment.reference}`, + fields: { + shipment_date: { + value: moment().format('YYYY-MM-DD'), + }, + tracking_number: { + value: shipment.tracking_number, + icon: 'fa-hashtag', + }, + invoice_number: { + value: shipment.invoice_number, + icon: 'fa-dollar-sign', + }, + link: { + value: shipment.link, + icon: 'fa-link', + } + }, + preFormContent: html, + confirm: true, + confirmMessage: '{% trans "Confirm Shipment" %}', + buttons: options.buttons, + onSuccess: function(data) { + // Reload tables + $('#so-lines-table').bootstrapTable('refresh'); + $('#pending-shipments-table').bootstrapTable('refresh'); + $('#completed-shipments-table').bootstrapTable('refresh'); + + if (options.onSuccess instanceof Function) { + options.onSuccess(data); + } + }, + reload: options.reload + }); + } + }); +} + +/* + * Launches a modal to mark all allocated pending shipments as complete + */ +function completePendingShipments(order_id, options={}) { + var pending_shipments = null; + + // Request the list of stock items which will be shipped + inventreeGet(`{% url "api-so-shipment-list" %}`, + { + order: order_id, + shipped: false + }, + { + async: false, + success: function(shipments) { + pending_shipments = shipments; + } + } + ); + + var allocated_shipments = []; + + for (var idx = 0; idx < pending_shipments.length; idx++) { + if (pending_shipments[idx].allocations.length > 0) { + allocated_shipments.push(pending_shipments[idx]); + } + } + + if (allocated_shipments.length > 0) { + completePendingShipmentsHelper(allocated_shipments, 0, options); + + } else { + html = ` +
    + `; + + if (!pending_shipments.length) { + html += ` + {% trans "No pending shipments found" %} + `; + } else { + html += ` + {% trans "No stock items have been allocated to pending shipments" %} + `; + } + + html += ` +
    + `; + + constructForm(`{% url "api-so-shipment-list" %}0/ship/`, { + method: 'POST', + title: '{% trans "Complete Shipments" %}', + preFormContent: html, + onSubmit: function(fields, options) { + handleFormSuccess(fields, options); + }, + closeText: 'Close', + hideSubmitButton: true, + }); + } +} + + +/* + * Recursive helper for opening shipment completion modals + */ +function completePendingShipmentsHelper(shipments, shipment_idx, options={}) { + if (shipment_idx < shipments.length) { + completeSalseOrderShipment(shipments[shipment_idx].pk, + { + buttons: [ + { + name: 'skip', + title: `{% trans "Skip" %}`, + onClick: function(form_options) { + if (form_options.modal) { + $(form_options.modal).modal('hide'); + } + + completePendingShipmentsHelper(shipments, shipment_idx + 1, options); + } + } + ], + onSuccess: function(data) { + completePendingShipmentsHelper(shipments, shipment_idx + 1, options); + }, + } + ); + + } else if (options.reload) { + location.reload(); + } +} + + + +/* + * Launches a modal form to mark a SalesOrder as "complete" + */ +function completeSalesOrder(order_id, options={}) { + + constructForm( + `/api/order/so/${order_id}/complete/`, + { + method: 'POST', + title: '{% trans "Complete Sales Order" %}', + confirm: true, + fieldsFunction: function(opts) { + var fields = { + accept_incomplete: {}, + }; + + if (opts.context.is_complete) { + delete fields['accept_incomplete']; + } + + return fields; + }, + preFormContent: function(opts) { + var html = ` +
    + {% trans "Mark this order as complete?" %} +
    `; + + if (opts.context.pending_shipments) { + html += ` +
    + {% trans "Order cannot be completed as there are incomplete shipments" %}
    +
    `; + } + + if (!opts.context.is_complete) { + html += ` +
    + {% trans "This order has line items which have not been completed." %}
    + {% trans "Completing this order means that the order and line items will no longer be editable." %} +
    `; + } + + return html; + }, + onSuccess: function(response) { + handleFormSuccess(response, options); + } + } + ); +} + + +/* + * Launches a modal form to mark a SalesOrder as "cancelled" + */ +function cancelSalesOrder(order_id, options={}) { + + constructForm( + `/api/order/so/${order_id}/cancel/`, + { + method: 'POST', + title: '{% trans "Cancel Sales Order" %}', + confirm: true, + preFormContent: function(opts) { + var html = ` +
    + {% trans "Cancelling this order means that the order will no longer be editable." %} +
    `; + + return html; + }, + onSuccess: function(response) { + handleFormSuccess(response, options); + } + } + ); +} + +// Open a dialog to create a new sales order shipment +function createSalesOrderShipment(options={}) { + + // Work out the next shipment number for the given order + inventreeGet( + '{% url "api-so-shipment-list" %}', + { + order: options.order, + }, + { + success: function(results) { + // "predict" the next reference number + var ref = results.length + 1; + + var found = false; + + while (!found) { + + var no_match = true; + + for (var ii = 0; ii < results.length; ii++) { + if (ref.toString() == results[ii].reference.toString()) { + no_match = false; + break; + } + } + + if (no_match) { + break; + } else { + ref++; + } + } + + var fields = salesOrderShipmentFields(options); + + fields.reference.value = ref; + fields.reference.prefix = options.reference; + + constructForm('{% url "api-so-shipment-list" %}', { + method: 'POST', + fields: fields, + title: '{% trans "Create New Shipment" %}', + onSuccess: function(data) { + if (options.onSuccess) { + options.onSuccess(data); + } + } + }); + } + } + ); +} + + + +/* + * Load table displaying list of sales orders + */ +function loadSalesOrderTable(table, options) { + + // Ensure the table starts in a known state + $(table).bootstrapTable('destroy'); + + options.params = options.params || {}; + options.params['customer_detail'] = true; + + var filters = loadTableFilters('salesorder', options.params); + + setupFilterList('salesorder', $(table), '#filter-list-salesorder', { + download: true, + report: { + url: '{% url "api-so-report-list" %}', + key: 'order' + } + }); + + var display_mode = inventreeLoad('salesorder-table-display-mode', 'list'); + + function buildEvents(calendar) { + + var start = startDate(calendar); + var end = endDate(calendar); + + clearEvents(calendar); + + // Extract current filters from table + var table_options = $(table).bootstrapTable('getOptions'); + var filters = table_options.query_params || {}; + + filters.customer_detail = true; + filters.min_date = start; + filters.max_date = end; + + // Request orders from the server within specified date range + inventreeGet( + '{% url "api-so-list" %}', + filters, + { + success: function(response) { + + for (var idx = 0; idx < response.length; idx++) { + var order = response[idx]; + + var date = order.creation_date; + + if (order.shipment_date) { + date = order.shipment_date; + } else if (order.target_date) { + date = order.target_date; + } + + var title = `${order.reference} - ${order.customer_detail.name}`; + + // Default color is blue + var color = '#4c68f5'; + + // Overdue orders are red + if (order.overdue) { + color = '#c22525'; + } else if (order.status == {{ SalesOrderStatus.SHIPPED }}) { + color = '#25c235'; + } + + var event = { + title: title, + start: date, + end: date, + url: `/order/sales-order/${order.pk}/`, + backgroundColor: color, + }; + + calendar.addEvent(event); + } + } + } + ); + } + + $(table).inventreeTable({ + url: '{% url "api-so-list" %}', + queryParams: filters, + name: 'salesorder', + groupBy: false, + sidePagination: 'server', + original: options.params, + showColums: display_mode != 'calendar', + search: display_mode != 'calendar', + showCustomViewButton: false, + showCustomView: display_mode == 'calendar', + disablePagination: display_mode == 'calendar', + formatNoMatches: function() { + return '{% trans "No sales orders found" %}'; + }, + buttons: constructOrderTableButtons({ + prefix: 'salesorder', + disableTreeView: true, + callback: function() { + // Reload the entire table + loadSalesOrderTable(table, options); + }, + }), + customView: function(data) { + return `
    `; + }, + onRefresh: function() { + loadSalesOrderTable(table, options); + }, + onLoadSuccess: function() { + + if (display_mode == 'calendar') { + var el = document.getElementById('purchase-order-calendar'); + + calendar = new FullCalendar.Calendar(el, { + initialView: 'dayGridMonth', + nowIndicator: true, + aspectRatio: 2.5, + locale: options.locale, + datesSet: function() { + buildEvents(calendar); + } + }); + + calendar.render(); + } + }, + columns: [ + { + title: '', + checkbox: true, + visible: true, + switchable: false, + }, + { + sortable: true, + field: 'reference', + title: '{% trans "Sales Order" %}', + formatter: function(value, row) { + var html = renderLink(value, `/order/sales-order/${row.pk}/`); + + if (row.overdue) { + html += makeIconBadge('fa-calendar-times icon-red', '{% trans "Order is overdue" %}'); + } + + return html; + }, + }, + { + sortable: true, + sortName: 'customer__name', + field: 'customer_detail', + title: '{% trans "Customer" %}', + formatter: function(value, row) { + + if (!row.customer_detail) { + return '{% trans "Invalid Customer" %}'; + } + + return imageHoverIcon(row.customer_detail.image) + renderLink(row.customer_detail.name, `/company/${row.customer}/sales-orders/`); + } + }, + { + sortable: true, + field: 'customer_reference', + title: '{% trans "Customer Reference" %}', + }, + { + sortable: false, + field: 'description', + title: '{% trans "Description" %}', + }, + { + sortable: true, + field: 'status', + title: '{% trans "Status" %}', + formatter: function(value, row) { + return salesOrderStatusDisplay(row.status); + } + }, + { + sortable: true, + field: 'creation_date', + title: '{% trans "Creation Date" %}', + formatter: function(value) { + return renderDate(value); + } + }, + { + sortable: true, + field: 'target_date', + title: '{% trans "Target Date" %}', + formatter: function(value) { + return renderDate(value); + } + }, + { + sortable: true, + field: 'shipment_date', + title: '{% trans "Shipment Date" %}', + formatter: function(value) { + return renderDate(value); + } + }, + { + sortable: true, + field: 'line_items', + title: '{% trans "Items" %}' + }, + { + field: 'total_price', + title: '{% trans "Total Cost" %}', + switchable: true, + sortable: true, + formatter: function(value, row) { + return formatCurrency(value, { + currency: row.total_price_currency, + }); + } + } + ], + }); +} + + +/* + * Load a table displaying Shipment information against a particular order + */ +function loadSalesOrderShipmentTable(table, options={}) { + + options.table = table; + + options.params = options.params || {}; + + // Filter by order + options.params.order = options.order; + + // Filter by "shipped" status + options.params.shipped = options.shipped || false; + + var filters = loadTableFilters('salesordershipment', options.params); + + setupFilterList('salesordershipment', $(table), options.filter_target); + + // Add callbacks for expand / collapse buttons + var prefix = options.shipped ? 'completed' : 'pending'; + + $(`#${prefix}-shipments-expand`).click(function() { + $(table).bootstrapTable('expandAllRows'); + }); + + $(`#${prefix}-shipments-collapse`).click(function() { + $(table).bootstrapTable('collapseAllRows'); + }); + + function makeShipmentActions(row) { + // Construct "actions" for the given shipment row + var pk = row.pk; + + let html = ''; + + html += makeEditButton('button-shipment-edit', pk, '{% trans "Edit shipment" %}'); + + if (!options.shipped) { + html += makeIconButton('fa-truck icon-green', 'button-shipment-ship', pk, '{% trans "Complete shipment" %}'); + } + + var enable_delete = row.allocations && row.allocations.length == 0; + + html += makeDeleteButton('button-shipment-delete', pk, '{% trans "Delete shipment" %}', {disabled: !enable_delete}); + + return wrapButtons(html); + } + + function setupShipmentCallbacks() { + // Setup action button callbacks + + $(table).find('.button-shipment-edit').click(function() { + var pk = $(this).attr('pk'); + + var fields = salesOrderShipmentFields(); + + delete fields.order; + + constructForm(`{% url "api-so-shipment-list" %}${pk}/`, { + fields: fields, + title: '{% trans "Edit Shipment" %}', + refreshTable: table, + }); + }); + + $(table).find('.button-shipment-ship').click(function() { + var pk = $(this).attr('pk'); + + completeSalesOrderShipment(pk); + }); + + $(table).find('.button-shipment-delete').click(function() { + var pk = $(this).attr('pk'); + + constructForm(`{% url "api-so-shipment-list" %}${pk}/`, { + title: '{% trans "Delete Shipment" %}', + method: 'DELETE', + refreshTable: table, + }); + }); + } + + $(table).inventreeTable({ + url: '{% url "api-so-shipment-list" %}', + queryParams: filters, + original: options.params, + name: options.name || 'salesordershipment', + search: false, + paginationVAlign: 'bottom', + showColumns: true, + detailView: true, + detailViewByClick: false, + buttons: constructExpandCollapseButtons(table), + detailFilter: function(index, row) { + return row.allocations.length > 0; + }, + detailFormatter: function(index, row, element) { + return showAllocationSubTable(index, row, element, options); + }, + onPostBody: function() { + setupShipmentCallbacks(); + + // Auto-expand rows on the "pending" table + if (!options.shipped) { + $(table).bootstrapTable('expandAllRows'); + } + }, + formatNoMatches: function() { + return '{% trans "No matching shipments found" %}'; + }, + columns: [ + { + visible: false, + checkbox: true, + switchable: false, + }, + { + field: 'reference', + title: '{% trans "Shipment Reference" %}', + switchable: false, + }, + { + field: 'allocations', + title: '{% trans "Items" %}', + switchable: false, + sortable: true, + formatter: function(value, row) { + if (row && row.allocations) { + return row.allocations.length; + } else { + return '-'; + } + } + }, + { + field: 'shipment_date', + title: '{% trans "Shipment Date" %}', + sortable: true, + formatter: function(value, row) { + if (value) { + return renderDate(value); + } else { + return '{% trans "Not shipped" %}'; + } + } + }, + { + field: 'tracking_number', + title: '{% trans "Tracking" %}', + }, + { + field: 'invoice_number', + title: '{% trans "Invoice" %}', + }, + { + field: 'link', + title: '{% trans "Link" %}', + formatter: function(value) { + if (value) { + return renderLink(value, value); + } else { + return '-'; + } + } + }, + { + field: 'notes', + title: '{% trans "Notes" %}', + visible: false, + switchable: false, + // TODO: Implement 'notes' field + }, + { + title: '', + switchable: false, + formatter: function(value, row) { + return makeShipmentActions(row); + } + } + ], + }); +} + + +/** + * Allocate stock items against a SalesOrder + * + * arguments: + * - order_id: The ID / PK value for the SalesOrder + * - lines: A list of SalesOrderLineItem objects to be allocated + * + * options: + * - source_location: ID / PK of the top-level StockLocation to source stock from (or null) + */ +function allocateStockToSalesOrder(order_id, line_items, options={}) { + + function renderLineItemRow(line_item, quantity) { + // Function to render a single line_item row + + var pk = line_item.pk; + + var part = line_item.part_detail; + + var thumb = thumbnailImage(part.thumbnail || part.image); + + let delete_button = wrapButtons( + makeRemoveButton( + 'button-row-remove', + pk, + '{% trans "Remove row" %}', + ) + ); + + delete_button += '
    '; + + var quantity_input = constructField( + `items_quantity_${pk}`, + { + type: 'decimal', + min_value: 0, + value: quantity || 0, + title: '{% trans "Specify stock allocation quantity" %}', + required: true, + }, + { + hideLabels: true, + } + ); + + var stock_input = constructField( + `items_stock_item_${pk}`, + { + type: 'related field', + required: 'true', + }, + { + hideLabels: true, + } + ); + + var html = ` + + + ${thumb} ${part.full_name} + + + ${stock_input} + + + ${quantity_input} + + + + + {% trans "Part" %} + {% trans "Stock Item" %} + {% trans "Quantity" %} + + + + ${table_entries} + + `; + + constructForm(`{% url "api-so-list" %}${order_id}/allocate/`, { + method: 'POST', + fields: { + shipment: { + filters: { + order: order_id, + shipped: false, + }, + value: options.shipment || null, + auto_fill: true, + secondary: { + method: 'POST', + title: '{% trans "Add Shipment" %}', + fields: function() { + var ref = null; + + // TODO: Refactor code for getting next shipment number + inventreeGet( + '{% url "api-so-shipment-list" %}', + { + order: options.order, + }, + { + async: false, + success: function(results) { + // "predict" the next reference number + ref = results.length + 1; + + var found = false; + + while (!found) { + + var no_match = true; + + for (var ii = 0; ii < results.length; ii++) { + if (ref.toString() == results[ii].reference.toString()) { + no_match = false; + break; + } + } + + if (no_match) { + break; + } else { + ref++; + } + } + } + } + ); + + var fields = salesOrderShipmentFields(options); + + fields.reference.value = ref; + fields.reference.prefix = options.reference; + + return fields; + } + } + } + }, + preFormContent: html, + confirm: true, + confirmMessage: '{% trans "Confirm stock allocation" %}', + title: '{% trans "Allocate Stock Items to Sales Order" %}', + afterRender: function(fields, opts) { + + // Initialize source location field + var take_from_field = { + name: 'take_from', + model: 'stocklocation', + api_url: '{% url "api-location-list" %}', + required: false, + type: 'related field', + value: options.source_location || null, + noResults: function(query) { + return '{% trans "No matching stock locations" %}'; + }, + }; + + initializeRelatedField( + take_from_field, + null, + opts + ); + + // Add callback to "clear" button for take_from field + addClearCallback( + 'take_from', + take_from_field, + opts, + ); + + // Initialize fields for each line item + line_items.forEach(function(line_item) { + var pk = line_item.pk; + + initializeRelatedField( + { + name: `items_stock_item_${pk}`, + api_url: '{% url "api-stock-list" %}', + filters: { + part: line_item.part, + in_stock: true, + part_detail: true, + location_detail: true, + available: true, + }, + model: 'stockitem', + required: true, + render_part_detail: true, + render_location_detail: true, + auto_fill: true, + onSelect: function(data, field, opts) { + // Adjust the 'quantity' field based on availability + + if (!('quantity' in data)) { + return; + } + + // Calculate the available quantity + var available = Math.max((data.quantity || 0) - (data.allocated || 0), 0); + + // Remaining quantity to be allocated? + var remaining = Math.max(line_item.quantity - line_item.shipped - line_item.allocated, 0); + + // Maximum amount that we need + var desired = Math.min(available, remaining); + + updateFieldValue(`items_quantity_${pk}`, desired, {}, opts); + + }, + adjustFilters: function(filters) { + // Restrict query to the selected location + var location = getFormFieldValue( + 'take_from', + {}, + { + modal: opts.modal, + } + ); + + filters.location = location; + filters.cascade = true; + + // Exclude expired stock? + if (global_settings.STOCK_ENABLE_EXPIRY && !global_settings.STOCK_ALLOW_EXPIRED_SALE) { + filters.expired = false; + } + + return filters; + }, + noResults: function(query) { + return '{% trans "No matching stock items" %}'; + } + }, + null, + opts + ); + }); + + // Add remove-row button callbacks + $(opts.modal).find('.button-row-remove').click(function() { + var pk = $(this).attr('pk'); + + $(opts.modal).find(`#allocation_row_${pk}`).remove(); + }); + }, + onSubmit: function(fields, opts) { + // Extract data elements from the form + var data = { + items: [], + shipment: getFormFieldValue( + 'shipment', + {}, + opts + ) + }; + + var item_pk_values = []; + + line_items.forEach(function(item) { + + var pk = item.pk; + + var quantity = getFormFieldValue( + `items_quantity_${pk}`, + {}, + opts + ); + + var stock_item = getFormFieldValue( + `items_stock_item_${pk}`, + {}, + opts + ); + + if (quantity != null) { + data.items.push({ + line_item: pk, + stock_item: stock_item, + quantity: quantity, + }); + + item_pk_values.push(pk); + } + }); + + // Provide nested values + opts.nested = { + 'items': item_pk_values + }; + + inventreePut( + opts.url, + data, + { + method: 'POST', + success: function(response) { + $(opts.modal).modal('hide'); + + if (options.success) { + options.success(response); + } + }, + error: function(xhr) { + switch (xhr.status) { + case 400: + handleFormErrors(xhr.responseJSON, fields, opts); + break; + default: + $(opts.modal).modal('hide'); + showApiError(xhr); + break; + } + } + } + ); + }, + }); +} + + +/** + * Load a table with SalesOrderAllocation items + */ +function loadSalesOrderAllocationTable(table, options={}) { + + options.params = options.params || {}; + + options.params['location_detail'] = true; + options.params['part_detail'] = true; + options.params['item_detail'] = true; + options.params['order_detail'] = true; + + let filters = loadTableFilters('salesorderallocation', options.params); + + setupFilterList('salesorderallocation', $(table)); + + $(table).inventreeTable({ + url: '{% url "api-so-allocation-list" %}', + queryParams: filters, + name: options.name || 'salesorderallocation', + groupBy: false, + search: false, + paginationVAlign: 'bottom', + original: options.params, + formatNoMatches: function() { + return '{% trans "No sales order allocations found" %}'; + }, + columns: [ + { + field: 'pk', + visible: false, + switchable: false, + }, + { + field: 'order', + switchable: false, + title: '{% trans "Order" %}', + formatter: function(value, row) { + + var ref = `${row.order_detail.reference}`; + + return renderLink(ref, `/order/sales-order/${row.order}/`); + } + }, + { + field: 'item', + title: '{% trans "Stock Item" %}', + formatter: function(value, row) { + // Render a link to the particular stock item + + var link = `/stock/item/${row.item}/`; + var text = `{% trans "Stock Item" %} ${row.item}`; + + return renderLink(text, link); + } + }, + { + field: 'location', + title: '{% trans "Location" %}', + formatter: function(value, row) { + return locationDetail(row.item_detail, true); + } + }, + { + field: 'quantity', + title: '{% trans "Quantity" %}', + sortable: true, + }, + ] + }); +} + + +/** + * Display an "allocations" sub table, showing stock items allocated againt a sales order + * @param {*} index + * @param {*} row + * @param {*} element + */ +function showAllocationSubTable(index, row, element, options) { + + // Construct a sub-table element + var html = ` +
    +
    +
    `; + + element.html(html); + + var table = $(`#allocation-table-${row.pk}`); + + function setupCallbacks() { + // Add callbacks for 'edit' buttons + table.find('.button-allocation-edit').click(function() { + + var pk = $(this).attr('pk'); + + // Edit the sales order alloction + constructForm( + `/api/order/so-allocation/${pk}/`, + { + fields: { + quantity: {}, + }, + title: '{% trans "Edit Stock Allocation" %}', + refreshTable: options.table, + }, + ); + }); + + // Add callbacks for 'delete' buttons + table.find('.button-allocation-delete').click(function() { + var pk = $(this).attr('pk'); + + constructForm( + `/api/order/so-allocation/${pk}/`, + { + method: 'DELETE', + confirmMessage: '{% trans "Confirm Delete Operation" %}', + title: '{% trans "Delete Stock Allocation" %}', + refreshTable: options.table, + } + ); + }); + } + + table.bootstrapTable({ + onPostBody: setupCallbacks, + data: row.allocations, + showHeader: true, + columns: [ + { + field: 'part_detail', + title: '{% trans "Part" %}', + formatter: function(part, row) { + return imageHoverIcon(part.thumbnail) + renderLink(part.full_name, `/part/${part.pk}/`); + } + }, + { + field: 'allocated', + title: '{% trans "Stock Item" %}', + formatter: function(value, row, index, field) { + var text = ''; + + var item = row.item_detail; + + var text = `{% trans "Quantity" %}: ${row.quantity}`; + + if (item && item.serial != null && row.quantity == 1) { + text = `{% trans "Serial Number" %}: ${item.serial}`; + } + + return renderLink(text, `/stock/item/${row.item}/`); + }, + }, + { + field: 'location', + title: '{% trans "Location" %}', + formatter: function(value, row, index, field) { + + if (row.shipment_date) { + return `{% trans "Shipped to customer" %} - ${row.shipment_date}`; + } else if (row.location) { + // Location specified + return renderLink( + row.location_detail.pathstring || '{% trans "Location" %}', + `/stock/location/${row.location}/` + ); + } else { + return `{% trans "Stock location not specified" %}`; + } + }, + }, + { + field: 'buttons', + title: '', + formatter: function(value, row, index, field) { + + let html = ''; + let pk = row.pk; + + if (row.shipment_date) { + html += `{% trans "Shipped" %}`; + } else { + html += makeEditButton('button-allocation-edit', pk, '{% trans "Edit stock allocation" %}'); + html += makeDeleteButton('button-allocation-delete', pk, '{% trans "Delete stock allocation" %}'); + } + + return wrapButtons(html); + }, + }, + ], + }); +} + +/** + * Display a "fulfilled" sub table, showing stock items fulfilled against a purchase order + */ +function showFulfilledSubTable(index, row, element, options) { + // Construct a table showing stock items which have been fulfilled against this line item + + if (!options.order) { + return 'ERROR: Order ID not supplied'; + } + + var id = `fulfilled-table-${row.pk}`; + + var html = ` +
    + +
    +
    `; + + element.html(html); + + $(`#${id}`).bootstrapTable({ + url: '{% url "api-stock-list" %}', + queryParams: { + part: row.part, + sales_order: options.order, + location_detail: true, + }, + showHeader: true, + columns: [ + { + field: 'pk', + visible: false, + }, + { + field: 'stock', + title: '{% trans "Stock Item" %}', + formatter: function(value, row) { + var text = ''; + if (row.serial && row.quantity == 1) { + text = `{% trans "Serial Number" %}: ${row.serial}`; + } else { + text = `{% trans "Quantity" %}: ${row.quantity}`; + } + + return renderLink(text, `/stock/item/${row.pk}/`); + }, + }, + { + field: 'location', + title: '{% trans "Location" %}', + formatter: function(value, row) { + if (row.customer) { + return renderLink( + '{% trans "Shipped to customer" %}', + `/company/${row.customer}/` + ); + } else if (row.location && row.location_detail) { + return renderLink( + row.location_detail.pathstring, + `/stock/location/${row.location}`, + ); + } else { + return `{% trans "Stock location not specified" %}`; + } + } + } + ], + }); +} + + + +/** + * Load a table displaying line items for a particular SalesOrder + * + * @param {String} table : HTML ID tag e.g. '#table' + * @param {Object} options : object which contains: + * - order {integer} : pk of the SalesOrder + * - status: {integer} : status code for the order + */ +function loadSalesOrderLineItemTable(table, options={}) { + + options.table = table; + + if (!options.pending && !global_settings.SALESORDER_EDIT_COMPLETED_ORDERS) { + options.allow_edit = false; + } + + options.params = options.params || {}; + + if (!options.order) { + console.error('function called without order ID'); + return; + } + + if (!options.status) { + console.error('function called without order status'); + return; + } + + options.params.order = options.order; + options.params.part_detail = true; + options.params.allocations = true; + + var filters = loadTableFilters('salesorderlineitem', options.params); + + options.url = options.url || '{% url "api-so-line-list" %}'; + + var filter_target = options.filter_target || '#filter-list-sales-order-lines'; + + setupFilterList( + 'salesorderlineitem', + $(table), + filter_target, + { + download: true, + } + ); + + // Is the order pending? + var pending = options.pending; + + // Has the order shipped? + var shipped = options.status == {{ SalesOrderStatus.SHIPPED }}; + + // Show detail view if the PurchaseOrder is PENDING or SHIPPED + var show_detail = pending || shipped; + + // Add callbacks for expand / collapse buttons + $('#sales-lines-expand').click(function() { + $(table).bootstrapTable('expandAllRows'); + }); + + $('#sales-lines-collapse').click(function() { + $(table).bootstrapTable('collapseAllRows'); + }); + + // Table columns to display + var columns = [ + /* + { + checkbox: true, + visible: true, + switchable: false, + }, + */ + { + sortable: true, + sortName: 'part_detail.name', + field: 'part', + title: '{% trans "Part" %}', + switchable: false, + formatter: function(value, row, index, field) { + if (row.part) { + return imageHoverIcon(row.part_detail.thumbnail) + renderLink(row.part_detail.full_name, `/part/${value}/`); + } else { + return '-'; + } + }, + footerFormatter: function() { + return '{% trans "Total" %}'; + }, + }, + { + sortable: true, + field: 'reference', + title: '{% trans "Reference" %}', + switchable: true, + }, + { + sortable: true, + field: 'quantity', + title: '{% trans "Quantity" %}', + footerFormatter: function(data) { + return data.map(function(row) { + return +row['quantity']; + }).reduce(function(sum, i) { + return sum + i; + }, 0); + }, + switchable: false, + }, + { + sortable: true, + field: 'sale_price', + title: '{% trans "Unit Price" %}', + formatter: function(value, row) { + return formatCurrency(row.sale_price, { + currency: row.sale_price_currency + }); + } + }, + { + field: 'total_price', + sortable: true, + title: '{% trans "Total Price" %}', + formatter: function(value, row) { + return formatCurrency(row.sale_price * row.quantity, { + currency: row.sale_price_currency, + }); + }, + footerFormatter: function(data) { + return calculateTotalPrice( + data, + function(row) { + return row.sale_price ? row.sale_price * row.quantity : null; + }, + function(row) { + return row.sale_price_currency; + } + ); + } + }, + { + field: 'target_date', + title: '{% trans "Target Date" %}', + sortable: true, + switchable: true, + formatter: function(value, row) { + if (row.target_date) { + var html = renderDate(row.target_date); + + if (row.overdue) { + html += makeIconBadge('fa-calendar-times', '{% trans "This line item is overdue" %}'); + } + + return html; + + } else if (row.order_detail && row.order_detail.target_date) { + return `${renderDate(row.order_detail.target_date)}`; + } else { + return '-'; + } + } + } + ]; + + if (pending) { + columns.push( + { + field: 'stock', + title: '{% trans "Available Stock" %}', + formatter: function(value, row) { + var available = row.available_stock; + var required = Math.max(row.quantity - row.allocated - row.shipped, 0); + + var html = ''; + + if (available > 0) { + var url = `/part/${row.part}/?display=part-stock`; + + var text = available; + + html = renderLink(text, url); + } else { + html += `{% trans "No Stock Available" %}`; + } + + if (required > 0) { + if (available >= required) { + html += makeIconBadge('fa-check-circle icon-green', '{% trans "Sufficient stock available" %}'); + } else { + html += makeIconBadge('fa-times-circle icon-red', '{% trans "Insufficient stock available" %}'); + } + } + + return html; + }, + }, + ); + + columns.push( + { + field: 'allocated', + title: '{% trans "Allocated" %}', + switchable: false, + sortable: true, + formatter: function(value, row, index, field) { + return makeProgressBar(row.allocated, row.quantity, { + id: `order-line-progress-${row.pk}`, + }); + }, + sorter: function(valA, valB, rowA, rowB) { + + var A = rowA.allocated; + var B = rowB.allocated; + + if (A == 0 && B == 0) { + return (rowA.quantity > rowB.quantity) ? 1 : -1; + } + + var progressA = parseFloat(A) / rowA.quantity; + var progressB = parseFloat(B) / rowB.quantity; + + return (progressA < progressB) ? 1 : -1; + } + }, + ); + } + + columns.push({ + field: 'shipped', + title: '{% trans "Shipped" %}', + switchable: false, + sortable: true, + formatter: function(value, row) { + return makeProgressBar(row.shipped, row.quantity, { + id: `order-line-shipped-${row.pk}` + }); + }, + sorter: function(valA, valB, rowA, rowB) { + var A = rowA.shipped; + var B = rowB.shipped; + + if (A == 0 && B == 0) { + return (rowA.quantity > rowB.quantity) ? 1 : -1; + } + + var progressA = parseFloat(A) / rowA.quantity; + var progressB = parseFloat(B) / rowB.quantity; + + return (progressA < progressB) ? 1 : -1; + } + }); + + columns.push({ + field: 'notes', + title: '{% trans "Notes" %}', + }); + + if (pending) { + columns.push({ + field: 'buttons', + switchable: false, + formatter: function(value, row, index, field) { + + let buttons = ''; + + var pk = row.pk; + + if (row.part) { + var part = row.part_detail; + + if (part.trackable) { + buttons += makeIconButton('fa-hashtag icon-green', 'button-add-by-sn', pk, '{% trans "Allocate serial numbers" %}'); + } + + buttons += makeIconButton('fa-sign-in-alt icon-green', 'button-add', pk, '{% trans "Allocate stock" %}'); + + if (part.purchaseable) { + buttons += makeIconButton('fa-shopping-cart', 'button-buy', row.part, '{% trans "Purchase stock" %}'); + } + + if (part.assembly) { + buttons += makeIconButton('fa-tools', 'button-build', row.part, '{% trans "Build stock" %}'); + } + + buttons += makeIconButton('fa-dollar-sign icon-green', 'button-price', pk, '{% trans "Calculate price" %}'); + } + + buttons += makeCopyButton('button-duplicate', pk, '{% trans "Duplicate line item" %}'); + buttons += makeEditButton('button-edit', pk, '{% trans "Edit line item" %}'); + + var delete_disabled = false; + + var title = '{% trans "Delete line item" %}'; + + if (!!row.shipped) { + delete_disabled = true; + title = '{% trans "Cannot be deleted as items have been shipped" %}'; + } else if (!!row.allocated) { + delete_disabled = true; + title = '{% trans "Cannot be deleted as items have been allocated" %}'; + } + + // Prevent deletion of the line item if items have been allocated or shipped! + buttons += makeDeleteButton('button-delete', pk, title, {disabled: delete_disabled}); + + return wrapButtons(buttons); + } + }); + } + + function reloadTable() { + $(table).bootstrapTable('refresh'); + reloadTotal(); + } + + // Configure callback functions once the table is loaded + function setupCallbacks() { + + // Callback for duplicating line items + $(table).find('.button-duplicate').click(function() { + var pk = $(this).attr('pk'); + + inventreeGet(`{% url "api-so-line-list" %}${pk}/`, {}, { + success: function(data) { + + let fields = soLineItemFields(); + + constructForm('{% url "api-so-line-list" %}', { + method: 'POST', + fields: fields, + data: data, + title: '{% trans "Duplicate Line Item" %}', + refreshTable: table, + }); + } + }); + }); + + // Callback for editing line items + $(table).find('.button-edit').click(function() { + var pk = $(this).attr('pk'); + + constructForm(`{% url "api-so-line-list" %}${pk}/`, { + fields: soLineItemFields(), + title: '{% trans "Edit Line Item" %}', + onSuccess: reloadTable, + }); + }); + + // Callback for deleting line items + $(table).find('.button-delete').click(function() { + var pk = $(this).attr('pk'); + + constructForm(`{% url "api-so-line-list" %}${pk}/`, { + method: 'DELETE', + title: '{% trans "Delete Line Item" %}', + onSuccess: reloadTable, + }); + }); + + // Callback for allocating stock items by serial number + $(table).find('.button-add-by-sn').click(function() { + var pk = $(this).attr('pk'); + + inventreeGet(`{% url "api-so-line-list" %}${pk}/`, {}, + { + success: function(response) { + + constructForm(`{% url "api-so-line-list" %}${options.order}/allocate-serials/`, { + method: 'POST', + title: '{% trans "Allocate Serial Numbers" %}', + fields: { + line_item: { + value: pk, + hidden: true, + }, + quantity: {}, + serial_numbers: {}, + shipment: { + filters: { + order: options.order, + shipped: false, + }, + auto_fill: true, + } + }, + refreshTable: table, + }); + } + } + ); + }); + + // Callback for allocation stock items to the order + $(table).find('.button-add').click(function() { + var pk = $(this).attr('pk'); + + var line_item = $(table).bootstrapTable('getRowByUniqueId', pk); + + allocateStockToSalesOrder( + options.order, + [ + line_item + ], + { + order: options.order, + reference: options.reference, + success: function() { + // Reload this table + $(table).bootstrapTable('refresh'); + + // Reload the pending shipment table + $('#pending-shipments-table').bootstrapTable('refresh'); + } + } + ); + }); + + // Callback for creating a new build + $(table).find('.button-build').click(function() { + var pk = $(this).attr('pk'); + + // Extract the row data from the table! + var idx = $(this).closest('tr').attr('data-index'); + + var row = $(table).bootstrapTable('getData')[idx]; + + var quantity = 1; + + if (row.allocated < row.quantity) { + quantity = row.quantity - row.allocated; + } + + // Create a new build order + newBuildOrder({ + part: pk, + sales_order: options.order, + quantity: quantity, + success: reloadTable + }); + }); + + // Callback for purchasing parts + $(table).find('.button-buy').click(function() { + var pk = $(this).attr('pk'); + + inventreeGet( + `/api/part/${pk}/`, + {}, + { + success: function(part) { + orderParts( + [part], + {} + ); + } + } + ); + }); + + // Callback for displaying price + $(table).find('.button-price').click(function() { + var pk = $(this).attr('pk'); + var idx = $(this).closest('tr').attr('data-index'); + var row = $(table).bootstrapTable('getData')[idx]; + + launchModalForm( + '{% url "line-pricing" %}', + { + submit_text: '{% trans "Calculate price" %}', + data: { + line_item: pk, + quantity: row.quantity, + }, + buttons: [ + { + name: 'update_price', + title: '{% trans "Update Unit Price" %}' + }, + ], + success: reloadTable, + } + ); + }); + } + + $(table).inventreeTable({ + onPostBody: setupCallbacks, + name: 'salesorderlineitems', + sidePagination: 'client', + formatNoMatches: function() { + return '{% trans "No matching line items" %}'; + }, + queryParams: filters, + original: options.params, + url: options.url, + showFooter: true, + uniqueId: 'pk', + detailView: show_detail, + detailViewByClick: false, + buttons: constructExpandCollapseButtons(table), + detailFilter: function(index, row) { + if (pending) { + // Order is pending + return row.allocated > 0; + } else { + return row.shipped > 0; + } + }, + detailFormatter: function(index, row, element) { + if (pending) { + return showAllocationSubTable(index, row, element, options); + } else { + return showFulfilledSubTable(index, row, element, options); + } + }, + columns: columns, + }); +} diff --git a/InvenTree/templates/js/translated/search.js b/InvenTree/templates/js/translated/search.js index 27bf72711a..513d1b17dc 100644 --- a/InvenTree/templates/js/translated/search.js +++ b/InvenTree/templates/js/translated/search.js @@ -222,7 +222,7 @@ function updateSearch() { if (checkPermission('purchase_order') && user_settings.SEARCH_PREVIEW_SHOW_PURCHASE_ORDERS) { - var filters = { + let filters = { supplier_detail: true, }; @@ -235,7 +235,7 @@ function updateSearch() { if (checkPermission('sales_order') && user_settings.SEARCH_PREVIEW_SHOW_SALES_ORDERS) { - var filters = { + let filters = { customer_detail: true, }; @@ -247,6 +247,19 @@ function updateSearch() { addSearchQuery('salesorder', '{% trans "Sales Orders" %}', filters); } + if (checkPermission('return_order') && user_settings.SEARCH_PREVIEW_SHOW_RETURN_ORDERS) { + let filters = { + customer_detail: true, + }; + + // Hide inactive (not "outstanding" orders) + if (user_settings.SEARCH_PREVIEW_EXCLUDE_INACTIVE_RETURN_ORDERS) { + filters.outstanding = true; + } + + addSearchQuery('returnorder', '{% trans "Return Orders" %}', filters); + } + let ctx = $('#offcanvas-search').find('#search-context'); ctx.html(` diff --git a/InvenTree/templates/js/translated/status_codes.js b/InvenTree/templates/js/translated/status_codes.js new file mode 100644 index 0000000000..caab07270e --- /dev/null +++ b/InvenTree/templates/js/translated/status_codes.js @@ -0,0 +1,24 @@ +{% load i18n %} +{% load status_codes %} +{% load inventree_extras %} + +/* globals +*/ + +/* exported + buildStatusDisplay, + purchaseOrderStatusDisplay, + returnOrderStatusDisplay, + returnOrderLineItemStatusDisplay, + salesOrderStatusDisplay, + stockHistoryStatusDisplay, + stockStatusDisplay, +*/ + +{% include "status_codes.html" with label='stock' options=StockStatus.list %} +{% include "status_codes.html" with label='stockHistory' options=StockHistoryCode.list %} +{% include "status_codes.html" with label='build' options=BuildStatus.list %} +{% include "status_codes.html" with label='purchaseOrder' options=PurchaseOrderStatus.list %} +{% include "status_codes.html" with label='salesOrder' options=SalesOrderStatus.list %} +{% include "status_codes.html" with label='returnOrder' options=ReturnOrderStatus.list %} +{% include "status_codes.html" with label='returnOrderLineItem' options=ReturnOrderLineStatus.list %} diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index cc6bdaf4fb..dcc8d88e59 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -24,8 +24,6 @@ modalSetTitle, modalSubmit, openModal, - printStockItemLabels, - printTestReports, renderLink, scanItemsIntoLocation, showAlertDialog, @@ -88,7 +86,7 @@ function serializeStockItem(pk, options={}) { if (options.part) { // Work out the next available serial number - inventreeGet(`/api/part/${options.part}/serial-numbers/`, {}, { + inventreeGet(`{% url "api-part-list" %}${options.part}/serial-numbers/`, {}, { success: function(data) { if (data.next) { options.fields.serial_numbers.placeholder = `{% trans "Next available serial number" %}: ${data.next}`; @@ -230,7 +228,7 @@ function stockItemFields(options={}) { enableFormInput('serial_numbers', opts); // Request part serial number information from the server - inventreeGet(`/api/part/${data.pk}/serial-numbers/`, {}, { + inventreeGet(`{% url "api-part-list" %}${data.pk}/serial-numbers/`, {}, { success: function(data) { var placeholder = ''; if (data.next) { @@ -379,7 +377,7 @@ function duplicateStockItem(pk, options) { } // First, we need the StockItem information - inventreeGet(`/api/stock/${pk}/`, {}, { + inventreeGet(`{% url "api-stock-list" %}${pk}/`, {}, { success: function(data) { // Do not duplicate the serial number @@ -656,8 +654,7 @@ function assignStockToCustomer(items, options={}) { var buttons = `
    `; - buttons += makeIconButton( - 'fa-times icon-red', + buttons += makeRemoveButton( 'button-stock-item-remove', pk, '{% trans "Remove row" %}', @@ -824,13 +821,13 @@ function mergeStockItems(items, options={}) { quantity += stockStatusDisplay(item.status, {classes: 'float-right'}); - var buttons = `
    `; - - buttons += makeIconButton( - 'fa-times icon-red', - 'button-stock-item-remove', - pk, - '{% trans "Remove row" %}', + let buttons = wrapButtons( + makeIconButton( + 'fa-times icon-red', + 'button-stock-item-remove', + pk, + '{% trans "Remove row" %}', + ) ); html += ` @@ -1094,16 +1091,11 @@ function adjustStock(action, items, options={}) { ); } - var buttons = `
    `; - - buttons += makeIconButton( - 'fa-times icon-red', + let buttons = wrapButtons(makeRemoveButton( 'button-stock-item-remove', pk, '{% trans "Remove stock item" %}', - ); - - buttons += `
    `; + )); html += ` @@ -1341,18 +1333,11 @@ function loadStockTestResultsTable(table, options) { var filterKey = options.filterKey || options.name || 'stocktests'; - var filters = loadTableFilters(filterKey); - - var params = { + let params = { part: options.part, }; - var original = {}; - - for (var k in params) { - original[k] = params[k]; - filters[k] = params[k]; - } + var filters = loadTableFilters(filterKey, params); setupFilterList(filterKey, table, filterTarget); @@ -1360,7 +1345,7 @@ function loadStockTestResultsTable(table, options) { // Helper function for rendering buttons - var html = `
    `; + let html = ''; if (row.requires_attachment == false && row.requires_value == false && !row.result) { // Enable a "quick tick" option for this test result @@ -1371,13 +1356,11 @@ function loadStockTestResultsTable(table, options) { if (!grouped && row.result != null) { var pk = row.pk; - html += makeIconButton('fa-edit icon-blue', 'button-test-edit', pk, '{% trans "Edit test result" %}'); - html += makeIconButton('fa-trash-alt icon-red', 'button-test-delete', pk, '{% trans "Delete test result" %}'); + html += makeEditButton('button-test-edit', pk, '{% trans "Edit test result" %}'); + html += makeDeleteButton('button-test-delete', pk, '{% trans "Delete test result" %}'); } - html += '
    '; - - return html; + return wrapButtons(html); } var parent_node = 'parent node'; @@ -1396,7 +1379,7 @@ function loadStockTestResultsTable(table, options) { return '{% trans "No test results found" %}'; }, queryParams: filters, - original: original, + original: params, onPostBody: function() { table.treegrid({ treeColumn: 0, @@ -1444,7 +1427,7 @@ function loadStockTestResultsTable(table, options) { var html = value; if (row.attachment) { - var text = ``; + let text = makeIconBadge('fa-file-alt', ''); html += renderLink(text, row.attachment, {download: true}); } @@ -1700,65 +1683,50 @@ function locationDetail(row, showLink=true) { } +/* Load data into a stock table with adjustable options. + * Fetches data (via AJAX) and loads into a bootstrap table. + * Also links in default button callbacks. + * + * Options: + * url - URL for the stock query + * params - query params for augmenting stock data request + * buttons - Which buttons to link to stock selection callbacks + * filterList -
      element where filters are displayed + * disableFilters: If true, disable custom filters + */ function loadStockTable(table, options) { - /* Load data into a stock table with adjustable options. - * Fetches data (via AJAX) and loads into a bootstrap table. - * Also links in default button callbacks. - * - * Options: - * url - URL for the stock query - * params - query params for augmenting stock data request - * groupByField - Column for grouping stock items - * buttons - Which buttons to link to stock selection callbacks - * filterList -
        element where filters are displayed - * disableFilters: If true, disable custom filters - */ // List of user-params which override the default filters - options.params['location_detail'] = true; options.params['part_detail'] = true; var params = options.params || {}; - var filterTarget = options.filterTarget || '#filter-list-stock'; + const filterTarget = options.filterTarget || '#filter-list-stock'; - var filters = {}; + const filterKey = options.filterKey || options.name || 'stock'; - var filterKey = options.filterKey || options.name || 'stock'; + let filters = loadTableFilters(filterKey, params); - if (!options.disableFilters) { - filters = loadTableFilters(filterKey); - } - - var original = {}; - - for (var k in params) { - original[k] = params[k]; - } - - setupFilterList(filterKey, table, filterTarget, {download: true}); + setupFilterList(filterKey, table, filterTarget, { + download: true, + report: { + url: '{% url "api-stockitem-testreport-list" %}', + key: 'item', + }, + labels: { + url: '{% url "api-stockitem-label-list" %}', + key: 'item', + } + }); // Override the default values, or add new ones for (var key in params) { filters[key] = params[key]; } - var grouping = true; - - if ('grouping' in options) { - grouping = options.grouping; - } - var col = null; - // Explicitly disable part grouping functionality - // Might be able to add this in later on, - // but there is a bug which makes this crash if paginating on the server side. - // Ref: https://github.com/wenzhixin/bootstrap-table/issues/3250 - // eslint-disable-next-line no-unused-vars - grouping = false; - var columns = [ { checkbox: true, @@ -2175,14 +2143,13 @@ function loadStockTable(table, options) { queryParams: filters, sidePagination: 'server', name: 'stock', - original: original, + original: params, showColumns: true, showFooter: true, columns: columns, }); var buttons = [ - '#stock-print-options', '#stock-options', ]; @@ -2206,31 +2173,6 @@ function loadStockTable(table, options) { } // Automatically link button callbacks - - $('#multi-item-print-label').click(function() { - var selections = getTableData(table); - - var items = []; - - selections.forEach(function(item) { - items.push(item.pk); - }); - - printStockItemLabels(items); - }); - - $('#multi-item-print-test-report').click(function() { - var selections = getTableData(table); - - var items = []; - - selections.forEach(function(item) { - items.push(item.pk); - }); - - printTestReports(items); - }); - if (global_settings.BARCODE_ENABLE) { $('#multi-item-barcode-scan-into-location').click(function() { var selections = getTableData(table); @@ -2420,21 +2362,17 @@ function loadStockLocationTable(table, options) { params.depth = global_settings.INVENTREE_TREE_DEPTH; } - var filters = {}; - var filterKey = options.filterKey || options.name || 'location'; - if (!options.disableFilters) { - filters = loadTableFilters(filterKey); - } + let filters = loadTableFilters(filterKey, params); - var original = {}; - - for (var k in params) { - original[k] = params[k]; - } - - setupFilterList(filterKey, table, filterListElement, {download: true}); + setupFilterList(filterKey, table, filterListElement, { + download: true, + labels: { + url: '{% url "api-stocklocation-label-list" %}', + key: 'location' + } + }); for (var key in params) { filters[key] = params[key]; @@ -2484,7 +2422,7 @@ function loadStockLocationTable(table, options) { url: options.url || '{% url "api-location-list" %}', queryParams: filters, name: 'location', - original: original, + original: params, sortable: true, showColumns: true, onPostBody: function() { @@ -2654,26 +2592,20 @@ function loadStockLocationTable(table, options) { }); } +/* + * Load stock history / tracking table for a given StockItem + */ function loadStockTrackingTable(table, options) { var cols = []; - var filterTarget = '#filter-list-stocktracking'; + const filterKey = 'stocktracking'; - var filterKey = 'stocktracking'; + let params = options.params || {}; - var filters = loadTableFilters(filterKey); + let filters = loadTableFilters(filterKey, params); - var params = options.params; - - var original = {}; - - for (var k in params) { - original[k] = params[k]; - filters[k] = params[k]; - } - - setupFilterList(filterKey, table, filterTarget); + setupFilterList(filterKey, table, '#filter-list-stocktracking'); // Date cols.push({ @@ -2747,10 +2679,10 @@ function loadStockTrackingTable(table, options) { html += ''; } - // Purchase Order Information + // PurchaseOrder Information if (details.purchaseorder) { - html += `{% trans "Purchase Order" %}`; + html += `{% trans "Purchase Order" %}`; html += ''; @@ -2766,6 +2698,40 @@ function loadStockTrackingTable(table, options) { html += ''; } + // SalesOrder information + if (details.salesorder) { + html += `{% trans "Sales Order" %}`; + html += ''; + + if (details.salesorder_detail) { + html += renderLink( + details.salesorder_detail.reference, + `/order/sales-order/${details.salesorder}` + ); + } else { + html += `{% trans "Sales Order no longer exists" %}`; + } + + html += ``; + } + + // ReturnOrder information + if (details.returnorder) { + html += `{% trans "Return Order" %}`; + html += ''; + + if (details.returnorder_detail) { + html += renderLink( + details.returnorder_detail.reference, + `/order/return-order/${details.returnorder}/` + ); + } else { + html += `{% trans "Return Order no longer exists" %}`; + } + + html += ``; + } + // Customer information if (details.customer) { @@ -2808,12 +2774,7 @@ function loadStockTrackingTable(table, options) { html += `{% trans "Status" %}`; html += ''; - html += stockStatusDisplay( - details.status, - { - classes: 'float-right', - } - ); + html += stockStatusDisplay(details.status); html += ''; } @@ -2865,7 +2826,7 @@ function loadStockTrackingTable(table, options) { table.inventreeTable({ method: 'get', queryParams: filters, - original: original, + original: params, columns: cols, url: options.url, }); @@ -2951,14 +2912,12 @@ function loadInstalledInTable(table, options) { title: '', switchable: false, formatter: function(value, row) { - var pk = row.pk; - var html = ''; + let pk = row.pk; + let html = ''; - html += `
        `; html += makeIconButton('fa-unlink', 'button-uninstall', pk, '{% trans "Uninstall Stock Item" %}'); - html += `
        `; - return html; + return wrapButtons(html); } } ], diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index 4070bf565c..8e32862f2d 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -2,23 +2,15 @@ {% load status_codes %} {% load inventree_extras %} -{% include "status_codes.html" with label='stock' options=StockStatus.list %} -{% include "status_codes.html" with label='stockHistory' options=StockHistoryCode.list %} -{% include "status_codes.html" with label='build' options=BuildStatus.list %} -{% include "status_codes.html" with label='purchaseOrder' options=PurchaseOrderStatus.list %} -{% include "status_codes.html" with label='salesOrder' options=SalesOrderStatus.list %} - /* globals global_settings + purchaseOrderCodes, + returnOrderCodes, + salesOrderCodes, */ /* exported - buildStatusDisplay, getAvailableTableFilters, - purchaseOrderStatusDisplay, - salesOrderStatusDisplay, - stockHistoryStatusDisplay, - stockStatusDisplay, */ @@ -26,6 +18,42 @@ function getAvailableTableFilters(tableKey) { tableKey = tableKey.toLowerCase(); + // Filters for "returnorder" table + if (tableKey == 'returnorder') { + return { + status: { + title: '{% trans "Order status" %}', + options: returnOrderCodes + }, + outstanding: { + type: 'bool', + title: '{% trans "Outstanding" %}', + }, + overdue: { + type: 'bool', + title: '{% trans "Overdue" %}', + }, + assigned_to_me: { + type: 'bool', + title: '{% trans "Assigned to me" %}', + }, + }; + } + + // Filters for "returnorderlineitem" table + if (tableKey == 'returnorderlineitem') { + return { + received: { + type: 'bool', + title: '{% trans "Received" %}', + }, + outcome: { + title: '{% trans "Outcome" %}', + options: returnOrderLineItemCodes, + } + }; + } + // Filters for "variant" table if (tableKey == 'variants') { return { @@ -363,7 +391,7 @@ function getAvailableTableFilters(tableKey) { title: '{% trans "Responsible" %}', options: function() { var ownersList = {}; - inventreeGet(`/api/user/owner/`, {}, { + inventreeGet('{% url "api-owner-list" %}', {}, { async: false, success: function(response) { for (key in response) { @@ -445,6 +473,10 @@ function getAvailableTableFilters(tableKey) { type: 'bool', title: '{% trans "Overdue" %}', }, + assigned_to_me: { + type: 'bool', + title: '{% trans "Assigned to me" %}', + }, }; } diff --git a/InvenTree/templates/js/translated/tables.js b/InvenTree/templates/js/translated/tables.js index 6de27fb9cb..65d58cb75f 100644 --- a/InvenTree/templates/js/translated/tables.js +++ b/InvenTree/templates/js/translated/tables.js @@ -9,7 +9,7 @@ customGroupSorter, downloadTableData, getTableData, - reloadtable, + reloadBootstrapTable, renderLink, reloadTableFilters, constructExpandCollapseButtons, @@ -20,8 +20,23 @@ * Reload a named table * @param table */ -function reloadtable(table) { - $(table).bootstrapTable('refresh'); +function reloadBootstrapTable(table) { + + let tbl = table; + + if (tbl) { + if (typeof tbl === 'string' || tbl instanceof String) { + tbl = $(tbl); + } + + if (tbl.exists()) { + tbl.bootstrapTable('refresh'); + } else { + console.error(`Invalid table name passed to reloadTable(): ${table}`); + } + } else { + console.error(`Null value passed to reloadTable()`); + } } @@ -127,7 +142,7 @@ function constructExpandCollapseButtons(table, idx=0) { */ function getTableData(table, allowEmpty=false) { - var data = $(table).bootstrapTable('getSelections'); + let data = $(table).bootstrapTable('getSelections'); if (data.length == 0 && !allowEmpty) { data = $(table).bootstrapTable('getData'); diff --git a/InvenTree/templates/navbar.html b/InvenTree/templates/navbar.html index 620aaf3eff..1be812c509 100644 --- a/InvenTree/templates/navbar.html +++ b/InvenTree/templates/navbar.html @@ -47,18 +47,23 @@ {% endif %} - {% if roles.sales_order.view %} + {% if roles.sales_order.view or roles.return_order.view %} {% endif %} diff --git a/InvenTree/templates/stock_table.html b/InvenTree/templates/stock_table.html index d609e78253..6484f74f0c 100644 --- a/InvenTree/templates/stock_table.html +++ b/InvenTree/templates/stock_table.html @@ -22,18 +22,6 @@
    {% endif %} - -
    - - -
    {% if not read_only %} {% if roles.stock.change or roles.stock.delete %}
    diff --git a/InvenTree/users/admin.py b/InvenTree/users/admin.py index d26a7f97fc..693840187d 100644 --- a/InvenTree/users/admin.py +++ b/InvenTree/users/admin.py @@ -85,7 +85,7 @@ class RoleGroupAdmin(admin.ModelAdmin): # pragma: no cover ] list_display = ('name', 'admin', 'part_category', 'part', 'stocktake', 'stock_location', - 'stock_item', 'build', 'purchase_order', 'sales_order') + 'stock_item', 'build', 'purchase_order', 'sales_order', 'return_order') def get_rule_set(self, obj, rule_set_type): """Return list of permissions for the given ruleset.""" @@ -161,6 +161,10 @@ class RoleGroupAdmin(admin.ModelAdmin): # pragma: no cover """Return the ruleset for the SalesOrder role""" return self.get_rule_set(obj, 'sales_order') + def return_order(self, obj): + """Return the ruleset ofr the ReturnOrder role""" + return self.get_rule_set(obj, 'return_order') + def get_formsets_with_inlines(self, request, obj=None): """Return all inline formsets""" for inline in self.get_inline_instances(request, obj): diff --git a/InvenTree/users/migrations/0007_alter_ruleset_name.py b/InvenTree/users/migrations/0007_alter_ruleset_name.py new file mode 100644 index 0000000000..b38511dc30 --- /dev/null +++ b/InvenTree/users/migrations/0007_alter_ruleset_name.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.18 on 2023-03-14 10:07 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0006_alter_ruleset_name'), + ] + + operations = [ + migrations.AlterField( + model_name='ruleset', + name='name', + field=models.CharField(choices=[('admin', 'Admin'), ('part_category', 'Part Categories'), ('part', 'Parts'), ('stocktake', 'Stocktake'), ('stock_location', 'Stock Locations'), ('stock', 'Stock Items'), ('build', 'Build Orders'), ('purchase_order', 'Purchase Orders'), ('sales_order', 'Sales Orders'), ('return_order', 'Return Orders')], help_text='Permission set', max_length=50), + ), + ] diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index e68a00a539..9d4948bdc7 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -42,6 +42,7 @@ class RuleSet(models.Model): ('build', _('Build Orders')), ('purchase_order', _('Purchase Orders')), ('sales_order', _('Sales Orders')), + ('return_order', _('Return Orders')), ] RULESET_NAMES = [ @@ -135,6 +136,7 @@ class RuleSet(models.Model): 'purchase_order': [ 'company_company', 'company_companyattachment', + 'company_contact', 'company_manufacturerpart', 'company_manufacturerpartparameter', 'company_supplierpart', @@ -148,6 +150,7 @@ class RuleSet(models.Model): 'sales_order': [ 'company_company', 'company_companyattachment', + 'company_contact', 'order_salesorder', 'order_salesorderallocation', 'order_salesorderattachment', @@ -155,6 +158,16 @@ class RuleSet(models.Model): 'order_salesorderextraline', 'order_salesordershipment', 'report_salesorderreport', + ], + 'return_order': [ + 'company_company', + 'company_companyattachment', + 'company_contact', + 'order_returnorder', + 'order_returnorderlineitem', + 'order_returnorderextraline', + 'order_returnorderattachment', + 'report_returnorderreport', ] } @@ -172,7 +185,6 @@ class RuleSet(models.Model): 'common_webhookmessage', 'common_notificationentry', 'common_notificationmessage', - 'company_contact', 'users_owner', # Third-party tables @@ -505,6 +517,26 @@ def clear_user_role_cache(user): cache.delete(key) +def get_user_roles(user): + """Return all roles available to a given user""" + + roles = set() + + for group in user.groups.all(): + for rule in group.rule_sets.all(): + name = rule.name + if rule.can_view: + roles.add(f'{name}.view') + if rule.can_add: + roles.add(f'{name}.add') + if rule.can_change: + roles.add(f'{name}.change') + if rule.can_delete: + roles.add(f'{name}.delete') + + return roles + + def check_user_role(user, role, permission): """Check if a user has a particular role:permission combination. diff --git a/tasks.py b/tasks.py index 85501e024e..e6e602f133 100644 --- a/tasks.py +++ b/tasks.py @@ -578,7 +578,7 @@ def setup_test(c, ignore_update=False, dev=False, path="inventree-demo-dataset") # Get test data print("Cloning demo dataset ...") - c.run(f'git clone https://github.com/inventree/demo-dataset {path} -v') + c.run(f'git clone https://github.com/inventree/demo-dataset {path} -v --depth=1') print("========================================") # Make sure migrations are done - might have just deleted sqlite database From e8e2985454f70a2830431f54e0963f7f2827be6e Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 29 Mar 2023 13:06:12 +1100 Subject: [PATCH 089/140] Bug fix for rendering in PurchaseOrderLineItem table (#4536) --- InvenTree/templates/js/translated/purchase_order.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/InvenTree/templates/js/translated/purchase_order.js b/InvenTree/templates/js/translated/purchase_order.js index 2c1f555bd2..ee172c1922 100644 --- a/InvenTree/templates/js/translated/purchase_order.js +++ b/InvenTree/templates/js/translated/purchase_order.js @@ -1905,15 +1905,15 @@ function loadPurchaseOrderLineItemTable(table, options={}) { field: 'quantity', title: '{% trans "Quantity" %}', formatter: function(value, row) { - var units = ''; + let units = ''; - if (row.part_detail.units) { + if (row.part_detail && row.part_detail.units) { units = ` ${row.part_detail.units}`; } - var data = value; + let data = value; - if (row.supplier_part_detail.pack_size != 1.0) { + if (row.supplier_part_detail && row.supplier_part_detail.pack_size != 1.0) { var pack_size = row.supplier_part_detail.pack_size; var total = value * pack_size; data += ``; From 66b8fb6bc1d4404597912c88eefa4c0ba37d3602 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 29 Mar 2023 14:59:28 +1100 Subject: [PATCH 090/140] Only allow pricing update when creating a new PurchaseOrderLineItem (#4537) Fixes https://github.com/inventree/InvenTree/issues/4485 --- .../templates/js/translated/purchase_order.js | 47 ++++++++++--------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/InvenTree/templates/js/translated/purchase_order.js b/InvenTree/templates/js/translated/purchase_order.js index ee172c1922..4f7ae30d2a 100644 --- a/InvenTree/templates/js/translated/purchase_order.js +++ b/InvenTree/templates/js/translated/purchase_order.js @@ -252,34 +252,36 @@ function poLineItemFields(options={}) { } }).then(function() { // Update pricing data (if available) - inventreeGet( - '{% url "api-part-supplier-price-list" %}', - { - part: supplier_part_id, - ordering: 'quantity', - }, - { - success: function(response) { - // Returned prices are in increasing order of quantity - if (response.length > 0) { - var idx = 0; - var index = 0; + if (options.update_pricing) { + inventreeGet( + '{% url "api-part-supplier-price-list" %}', + { + part: supplier_part_id, + ordering: 'quantity', + }, + { + success: function(response) { + // Returned prices are in increasing order of quantity + if (response.length > 0) { + var idx = 0; + var index = 0; - for (var idx = 0; idx < response.length; idx++) { - if (response[idx].quantity > quantity) { - break; + for (var idx = 0; idx < response.length; idx++) { + if (response[idx].quantity > quantity) { + break; + } + + index = idx; } - index = idx; + // Update price and currency data in the form + updateFieldValue('purchase_price', response[index].price, {}, opts); + updateFieldValue('purchase_price_currency', response[index].price_currency, {}, opts); } - - // Update price and currency data in the form - updateFieldValue('purchase_price', response[index].price, {}, opts); - updateFieldValue('purchase_price_currency', response[index].price_currency, {}, opts); } } - } - ); + ); + } }); }, secondary: { @@ -356,6 +358,7 @@ function createPurchaseOrderLineItem(order, options={}) { supplier: options.supplier, currency: options.currency, target_date: options.target_date, + update_pricing: true, }); constructForm('{% url "api-po-line-list" %}', { From 8148067f59e2d0f41c93c422c5fc9c42a31bf4f0 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 29 Mar 2023 16:04:31 +1100 Subject: [PATCH 091/140] Clear allocations when returning a stock item against a return order (#4538) --- InvenTree/order/models.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index fb8b65e6e0..ac7499735e 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -1745,6 +1745,9 @@ class ReturnOrder(TotalPriceMixin, Order): stock_item = line.item + # Remove any allocations against the returned StockItem + stock_item.clearAllocations() + deltas = { 'status': StockStatus.QUARANTINED, 'returnorder': self.pk, From d5a71b2fe8d3600b18cab24b55abca69d24456f6 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 29 Mar 2023 19:08:11 +1100 Subject: [PATCH 092/140] New Crowdin updates (#4511) * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin --- InvenTree/locale/cs/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/da/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/de/LC_MESSAGES/django.po | 1054 ++++++++------- InvenTree/locale/el/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/es/LC_MESSAGES/django.po | 1076 ++++++++------- InvenTree/locale/fa/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/fr/LC_MESSAGES/django.po | 1044 ++++++++------- InvenTree/locale/he/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/hu/LC_MESSAGES/django.po | 1044 ++++++++------- InvenTree/locale/id/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/it/LC_MESSAGES/django.po | 1044 ++++++++------- InvenTree/locale/ja/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/ko/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/nl/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/no/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/pl/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/pt/LC_MESSAGES/django.po | 1452 ++++++++++----------- InvenTree/locale/ru/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/sl/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/sv/LC_MESSAGES/django.po | 1054 ++++++++------- InvenTree/locale/th/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/tr/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/vi/LC_MESSAGES/django.po | 1040 ++++++++------- InvenTree/locale/zh/LC_MESSAGES/django.po | 1044 ++++++++------- 24 files changed, 12678 insertions(+), 12774 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 7035d9b3e2..c6d0a6d453 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" @@ -45,7 +49,7 @@ msgstr "Zadejte datum" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Poznámky" @@ -212,7 +216,7 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Vyberte soubor k přiložení" msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -238,13 +242,13 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Uživatel" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Neplatný výběr" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Název" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Název" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Popis" @@ -339,7 +343,7 @@ msgid "parent" msgstr "nadřazený" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Cesta" @@ -679,7 +683,7 @@ msgstr "Rozdělit od nadřazené položky" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "" @@ -755,11 +759,11 @@ msgstr "Informace o systému" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "" msgid "Build Order" msgstr "Vytvořit objednávku" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Vytvořené objednávky" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Díl" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "Formát data" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "Cena" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "Id" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "Smazat obrázek" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Zákazník" @@ -3509,7 +3521,7 @@ msgstr "Stáhnout obrázek" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Dodavatel dílů" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "Odstraněné díly" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Výrobce dílů" @@ -3565,7 +3577,7 @@ msgstr "Dodavatelský sklad" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Zakoupené objednávky" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Potvrdit" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 68c8aabeda..7a1db3018b 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "API endpoint ikke fundet" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Fejloplysninger kan findes i admin panelet" @@ -45,7 +49,7 @@ msgstr "Angiv dato" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Bemærkninger" @@ -212,7 +216,7 @@ msgstr "Vedhæftning" msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Vælg fil, der skal vedhæftes" msgid "Link" msgstr "Link" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -238,13 +242,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Bruger" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Ugyldigt valg" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Navn" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Beskrivelse" @@ -339,7 +343,7 @@ msgid "parent" msgstr "overordnet" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Sti" @@ -679,7 +683,7 @@ msgstr "Opdel fra overordnet element" msgid "Split child item" msgstr "Opdel underordnet element" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Flettede lagervarer" @@ -755,11 +759,11 @@ msgstr "Systemoplysninger" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "Produktion skal anulleres, før den kan slettes" msgid "Build Order" msgstr "Produktionsordre" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Produktionsordrer" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Ugyldigt valg for overordnet produktion" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Produktionsordre reference" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Reference" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Kort beskrivelse af produktionsordre" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produktion" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Del" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Vælg dele til produktion" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Salgsordrereference" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Kilde Lokation" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vælg lokation for lager, som skal benyttes til denne produktion (lad feltet stå tomt for at benytte vilkårligt lager)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Destinations Placering" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Vælg placering, hvor de færdige elementer vil blive gemt" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Produktions antal" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Antal lagervarer som skal produceres" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Afsluttede elementer" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Antal lagervarer som er færdiggjort" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Produktions Status" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Oprettelsesdato" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Projekteret afslutningsdato" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Dato for afslutning" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "udført af" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Udstedt af" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Bruger som udstedte denne byggeordre" msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" msgid "External Link" msgstr "Ekstern link" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Ekstra bygge noter" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "Bygge Prioritet" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bygningsordre {build} er fuldført" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 3e82e20b9b..758d52fd2d 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Fehlerdetails finden Sie im Admin-Panel" @@ -45,7 +49,7 @@ msgstr "Datum eingeben" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Notizen" @@ -212,7 +216,7 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Datei zum Anhängen auswählen" msgid "Link" msgstr "Link" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -238,13 +242,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Benutzer" @@ -285,9 +289,9 @@ msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Name" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Name" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Beschreibung" @@ -339,7 +343,7 @@ msgid "parent" msgstr "Eltern" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Pfad" @@ -679,7 +683,7 @@ msgstr "Vom übergeordneten Element geteilt" msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" @@ -755,11 +759,11 @@ msgstr "Systeminformationen" msgid "About InvenTree" msgstr "Über InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Bauauftragsreferenz" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Referenz" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Kurze Beschreibung des Baus" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Teil" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden Lagerartikel" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat" msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" msgid "External Link" msgstr "Externer Link" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Extranotizen für den Bauauftrag" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "Bauauftrags-Priorität" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bauauftrag {build} wurde fertiggestellt" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1188 +#: build/models.py:1189 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:1197 +#: build/models.py:1198 #, 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:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Ausgewähltes Bestands-Objekt nicht in Stückliste für Teil '{p}' gefunden" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Bauauftrag" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "Bauauftrag starten um Teile zuzuweisen" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Quell-Lagerartikel" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Quell-Lagerartikel" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" @@ -1186,8 +1190,8 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Lagerort" @@ -1201,8 +1205,8 @@ msgstr "Lagerort für fertige Endprodukte" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Status" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Fertig" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Fertig" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Auftrag" @@ -1527,9 +1531,9 @@ msgstr "Zugewiesene Teile" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1881,15 +1885,15 @@ msgstr "Standard Ebene für Baumansicht. Tiefere Ebenen kann bei Bedarf nachgela #: common/models.py:988 msgid "Update Check Inverval" -msgstr "Update Check Intervall" +msgstr "Intervall für die Suche nach Updates" #: common/models.py:989 msgid "How often to check for updates (set to zero to disable)" -msgstr "Wie oft soll nach Updates gesucht werden? (0 zum Deaktivieren eingeben)" +msgstr "Wie oft soll nach Updates gesucht werden? (auf 0 setzen zum Deaktivieren)" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "Tage" @@ -1959,11 +1963,11 @@ msgstr "Barcode-Scannen über Webcam im Browser erlauben" #: common/models.py:1075 msgid "Part Revisions" -msgstr "" +msgstr "Artikelrevisionen" #: common/models.py:1076 msgid "Enable revision field for Part" -msgstr "" +msgstr "Revisions-Feld für Artikel aktivieren" #: common/models.py:1082 msgid "IPN Regex" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "Vorlage" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" #: common/models.py:1220 -msgid "Pricing Decimal Places" -msgstr "Dezimalstellen für Preise" +msgid "Minimum Pricing Decimal Places" +msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" -msgstr "Anzahl der Dezimalstellen, die bei der Darstellung der Preisdaten angezeigt werden sollen" +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "" #: common/models.py:1231 +msgid "Maximum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/models.py:1232 +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/models.py:1253 +#: common/models.py:1264 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:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "Intervall für Neuberechnung von Preisen" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/models.py:1310 +#: common/models.py:1321 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:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "Testberichte aktivieren" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "Testberichte anhängen" -#: common/models.py:1352 +#: common/models.py:1363 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:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel erschöpft ist" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1380 +#: common/models.py:1391 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:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1400 +#: common/models.py:1411 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:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1428 +#: common/models.py:1439 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:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1435 +#: common/models.py:1446 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:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Verkaufsaufträge bearbeiten" -#: common/models.py:1449 +#: common/models.py:1460 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:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1456 +#: common/models.py:1467 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:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1463 +#: common/models.py:1474 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:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1492 +#: common/models.py:1503 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:1498 +#: common/models.py:1509 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1513 +#: common/models.py:1524 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:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (komma-separiert, mit @ startend)" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1548 +#: common/models.py:1559 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:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "Plugin-Signaturen überprüfen" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "Signaturen für Plugins prüfen und anzeigen" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "Inventurfunktionen" -#: common/models.py:1604 +#: common/models.py:1615 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:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "Automatische Inventur-Periode" -#: common/models.py:1611 +#: common/models.py:1622 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:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "Löschintervall für Berichte" -#: common/models.py:1621 +#: common/models.py:1632 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:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "Kein Drucker (Exportieren als PDF)" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1812 +#: common/models.py:1823 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:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1826 +#: common/models.py:1837 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:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:1875 +#: common/models.py:1886 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:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:1931 +#: common/models.py:1942 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:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "Preis" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "Token" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "Host" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "Body" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "ID" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "Titel" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "Gelesen" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" @@ -3309,7 +3321,7 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "Zulieferer" @@ -3322,7 +3334,7 @@ msgstr "Zulieferer auswählen" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" @@ -3363,7 +3375,7 @@ msgstr "Mindestpreis" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "Verpackungen" @@ -3397,7 +3409,7 @@ msgstr "Mehrere bestellen" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "Bild löschen" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Kunde" @@ -3509,7 +3521,7 @@ msgstr "Bild herunterladen" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Zuliefererteile" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "Teile löschen" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Herstellerteile" @@ -3565,7 +3577,7 @@ msgstr "Zulieferer-Bestand" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Bestellungen" @@ -3588,7 +3600,7 @@ msgstr "Neue Bestellung" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "Aufträge" @@ -3657,7 +3669,7 @@ msgstr "Zuliefererteil entfernen" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "Zugewiesene Lagerartikel" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -3811,7 +3823,7 @@ msgstr "Preisinformationen ansehen" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" @@ -3835,7 +3847,7 @@ msgstr "Teilverfügbarkeit aktualisieren" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "Lagerartikel" @@ -3861,7 +3873,7 @@ msgstr "Kunden" msgid "New Customer" msgstr "Neuer Kunde" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "Firmen" @@ -3869,68 +3881,68 @@ msgstr "Firmen" msgid "New Company" msgstr "Neue Firma" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "Label Name" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "Label Beschreibung" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "Label" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "Label-Vorlage-Datei" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "Aktiviert" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "Label-Vorlage ist aktiviert" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "Breite [mm]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "Label-Breite in mm" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "Höhe [mm]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "Dateinamen-Muster" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "Muster für die Erstellung von Label-Dateinamen" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "Filter" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" @@ -3938,7 +3950,7 @@ msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "Keine passende Bestellung gefunden" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "Unbekannt" @@ -4139,7 +4151,7 @@ msgstr "Empfangene Objekt-Anzahl" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "Preis" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Verkaufspreis" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "Sendung" @@ -4727,7 +4739,7 @@ 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:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "Teil-ID" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "IPN (Interne Produktnummer)" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "Version" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "Schlüsselwörter" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "Kategorie-ID" @@ -4833,7 +4844,7 @@ msgstr "Pfad zur Kategorie" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Teile" @@ -4854,13 +4865,13 @@ msgstr "Übergeordnete IPN" msgid "Part IPN" msgstr "Teil IPN" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "Höchster Preis" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "Teil-Kategorie" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Teil-Kategorien" @@ -4925,7 +4936,7 @@ msgstr "Teil-Kategorien" msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "Datum" @@ -5505,7 +5516,7 @@ msgstr "überprüft" #: part/models.py:3603 msgid "This BOM item has been validated" -msgstr "" +msgstr "Diese Stücklistenposition wurde validiert" #: part/models.py:3608 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1022 @@ -5984,7 +5995,7 @@ msgstr "Inventurinformationen hinzufügen" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "Inventur" @@ -6223,7 +6234,7 @@ msgstr "Teil ist virtuell (kein physisches Teil)" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "Inaktiv" @@ -6258,8 +6269,8 @@ msgstr "Minimaler Bestand" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "Preisspanne" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "Teildetails ausblenden" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "Zulieferer-Preise" @@ -6394,7 +6405,7 @@ msgstr "Preis aktualisieren" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -6771,100 +6782,100 @@ msgstr "Installation nicht bestätigt" msgid "Either packagename of URL must be provided" msgstr "Entweder Paketname oder URL muss angegeben werden" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "Testbericht" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "Vorlagen Name" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "Bericht-Vorlage Datei" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "Bericht-Vorlage Beschreibung" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "Bericht Revisionsnummer (autom. erhöht)" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "Muster für die Erstellung von Berichtsdateinamen" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "Bericht-Vorlage ist ein" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Lagerartikel-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "einfügen Installiert in Tests" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "Test-Ergebnisse für Lagerartikel in Baugruppen einschließen" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "Bauauftrag Filter" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "Teil Filter" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "Bestellungs-Abfragefilter" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "Auftrags-Abfragefilter" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "Snippet" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "Ressource" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "Ressource-Beschreibung" @@ -6884,9 +6895,9 @@ msgstr "Lieferant gelöscht" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "Stück-Preis" @@ -6909,7 +6920,7 @@ msgstr "Lagerartikel Test-Bericht" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "Verbaute Objekte" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "Seriennummer" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "Standort-ID" @@ -6970,7 +6980,7 @@ msgstr "Lagerartikel ID" msgid "Status Code" msgstr "Statuscode" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "Zuliefererteil-ID" @@ -6991,7 +7001,7 @@ msgstr "Kunden ID" msgid "Installed In" msgstr "verbaut in" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "Bauauftrag-ID" @@ -7013,7 +7023,7 @@ msgstr "Löschen wenn leer" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "Bestand-Lagerort" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "Bestand-Lagerorte" @@ -7058,7 +7068,7 @@ msgstr "Besitzer auswählen" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "Extern" @@ -7448,7 +7458,7 @@ msgstr "Testdaten hinzufügen" msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "Lagerartikel installieren" @@ -8161,20 +8171,20 @@ msgstr "Bestellungs-Einstellungen" msgid "Pricing Settings" msgstr "Preiseinstellungen" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "Wechselkurse" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "Jetzt aktualisieren" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "Letzte Aktualisierung" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "Nie" @@ -8613,7 +8623,7 @@ msgstr "E-Mail-Adresse bestätigen" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Bitte bestätigen Sie, dass %(email)s eine E-Mail-Adresse für den Benutzer %(user_display)s ist." -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Bestätigen" @@ -9520,7 +9530,7 @@ msgstr "Keine Bauaufträge passen zur Anfrage" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "Auswählen" @@ -9532,7 +9542,7 @@ msgstr "Bauauftrag ist überfällig" msgid "Progress" msgstr "Fortschritt" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "Keine Benutzerinformation" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "Zuliefererteil entfernen" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "Preisstaffel löschen" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "Preisstaffel bearbeiten" @@ -9716,61 +9726,61 @@ msgstr "Filter entfernen" msgid "Create filter" msgstr "Filter anlegen" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "Aktion verboten" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "Erstellvorgang nicht erlaubt" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "Updatevorgang nicht erlaubt" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "Löschvorgang nicht erlaubt" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "Anzeigevorgang nicht erlaubt" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "Dieses Formular offen lassen" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "Gib eine gültige Nummer ein" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "Spalten auswählen" @@ -9903,28 +9913,6 @@ msgstr "Fehler 400 von Server erhalten" msgid "Error requesting form data" msgstr "Fehler bei Formulardaten-Anfrage" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "Firmen-ID" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "Bestands-ID" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "Bestell-ID" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "Sendungs-ID" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "Herstellerteil-ID" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "Keine Nachrichten gefunden" @@ -10133,7 +10121,7 @@ msgstr "Gelieferte Menge" msgid "Quantity to receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "Status" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "Keine Kategorie" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "Listenansicht" @@ -10602,7 +10590,7 @@ msgstr "Teil-Kategorie wählen" msgid "Category is required" msgstr "Kategorie erforderlich" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "Baumansicht" @@ -10675,53 +10663,53 @@ msgstr "Minimaler Lagerbestand" msgid "The Plugin was installed" msgstr "Das Plugin wurde installiert" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "Fehler beim Abrufen der Währungsdaten" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "Keine Stücklisten-Daten verfügbar" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "Keine Zulieferer-Preise verfügbar" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "Keine Staffelpreisdaten verfügbar" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "${human_name} bearbeiten" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "${human_name} löschen" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "Keine Einkaufshistorie verfügbar" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "Kaufpreisverlauf" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "Keine Verkaufshistorie verfügbar" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "Verkaufspreisverlauf" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "Keine Variantendaten verfügbar" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "Variantenteil" @@ -10791,11 +10779,27 @@ msgstr "Aufträge auswählen" msgid "Sales Order(s) must be selected before printing report" msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "Keine Ergebnisse" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "Suchbegriff eingeben" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "Ergebnisse minimieren" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "Ergebnisse entfernen" @@ -11088,103 +11092,103 @@ msgstr "Lagerartikel zerstört" msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "Bestandswert" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerartikel" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "Untergeordnete Lagerorte laden" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "Details" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "Artikelinformationen nicht verfügbar" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "Lagerartikel existiert nicht mehr" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "Lagerartikel entfernen" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "Zu deinstallierende Lagerartikel auswählen" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "Einen weiteren Lagerartikel in dieses Teil installiert" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Der Lagerartikel ist auf ein Teil verknüpft das in der Stückliste für diesen Lagerartikel ist" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "Dieser Lagerartikel ist aktuell vorhanden" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "Teil zur Installation auswählen" @@ -11561,18 +11565,10 @@ msgstr "Suchergebnis anzeigen" msgid "Clear search" msgstr "Suche zurücksetzen" -#: templates/search.html:16 -msgid "Filter results" -msgstr "Ergebnisse filtern" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "Suche abbrechen" -#: templates/search.html:35 -msgid "No search results" -msgstr "Keine Treffer gefunden" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "Fehler bei der Anmeldung" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 3fb399537b..1e44aec5c3 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "Το API endpoint δε βρέθηκε" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλματος στον πίνακα διαχείρισης" @@ -45,7 +49,7 @@ msgstr "Εισάγετε ημερομηνία" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Σημειώσεις" @@ -212,7 +216,7 @@ msgstr "Συνημμένο" msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -238,13 +242,13 @@ msgstr "Σχόλιο" msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Χρήστης" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Μη έγκυρη επιλογή" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Όνομα" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Περιγραφή" @@ -339,7 +343,7 @@ msgid "parent" msgstr "γονέας" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Μονοπάτι" @@ -679,7 +683,7 @@ msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχεί msgid "Split child item" msgstr "Διαχωρίστηκε θυγατρικό στοιχείο" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Έγινε συγχώνευση αποθεμάτων" @@ -755,11 +759,11 @@ msgstr "Πληροφορίες συστήματος" msgid "About InvenTree" msgstr "Σχετικά με το InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγρα msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Δημιουργία Παραγγελιών" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Αναφορά" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Σύντομη περιγραφή της κατασκευής" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Γονική Κατασκευή" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Εξάρτημα" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Επιλέξτε τμήμα για κατασκευή" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Κωδικός Παραγγελίας Πωλήσεων" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Επιλέξτε τοποθεσία από την οποία θα γίνει απόθεμα, για αυτή την κατασκευή (αφήστε κενό για να πάρετε από οποιαδήποτε θέση αποθήκευσης)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Τοποθεσία Προορισμού" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Επιλέξτε την τοποθεσία όπου θα αποθηκευτούν τα ολοκληρωμένα στοιχεία" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Ποσότητα Κατασκευής" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Αριθμός αντικειμένων για κατασκευή" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Ολοκληρωμένα αντικείμενα" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Αριθμός αντικειμένων αποθέματος που έχουν ολοκληρωθεί" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Κατάσταση Κατασκευής" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Ημερομηνία ολοκλήρωσης στόχου" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "ολοκληρώθηκε από" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Εκδόθηκε από" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελ msgid "Responsible" msgstr "Υπεύθυνος" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Επιπλέον σημειώσεις" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Το επιλεγμένο αντικείμενο αποθέματος δεν βρέθηκε στο BOM" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Κατασκευή" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "Κατασκευή για εκχώρηση τμημάτων" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "Κατασκευή για εκχώρηση τμημάτων" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index fd8354245c..bd2acb93b6 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "\"API Endpoint\" no encontrado" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Los detalles del error pueden encontrarse en el panel de administración" @@ -45,7 +49,7 @@ msgstr "Seleccionar una fecha" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Notas" @@ -212,7 +216,7 @@ msgstr "Archivo adjunto" msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Seleccionar archivo para adjuntar" msgid "Link" msgstr "Enlace" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -238,13 +242,13 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Usuario" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Selección no válida" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Nombre" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Descripción" @@ -339,7 +343,7 @@ msgid "parent" msgstr "superior" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Ruta" @@ -679,7 +683,7 @@ msgstr "Separar del elemento principal" msgid "Split child item" msgstr "Separar elemento secundario" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Artículos de stock combinados" @@ -755,11 +759,11 @@ msgstr "Información del sistema" msgid "About InvenTree" msgstr "Acerca de InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "La construcción debe cancelarse antes de que pueda ser eliminada" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "La construcción debe cancelarse antes de que pueda ser eliminada" msgid "Build Order" msgstr "Petición de Ensamblado" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Peticiones de Ensamblado" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Opción no válida para la construcción padre" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Referencia de Orden de Ensamblado" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Referencia de Orden de Ensamblado" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Referencia" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Breve descripción del ensamblado" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Construcción o Armado Superior" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Construcción de orden a la que se asigna esta versión" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Construcción de orden a la que se asigna esta versión" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Pieza" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Seleccionar parte a construir o armar" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Referencia de Pedido de Entrega" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Pedido de Entrega a la que este ensamblaje se asigna" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Ubicación de la fuente" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleccione la ubicación de donde tomar stock para esta construcción o armado (deje en blanco para tomar desde cualquier ubicación)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Ubicación de destino" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Seleccione la ubicación donde se almacenarán los artículos completados" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Cantidad a crear" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Número de artículos de stock a ensamblar" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Artículos completados" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Número de productos en stock que se han completado" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Estado de la construcción" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Fecha de Creación" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Fecha límite de finalización" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización del ensamblado. El ensamblado estará vencido después de esta fecha." -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Fecha de Finalización" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" -msgstr "" +msgstr "terminado por" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" -msgstr "" +msgstr "Emitido por" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" -msgstr "" +msgstr "El usuario que emitió esta orden" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "" msgid "Responsible" msgstr "Responsable" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" -msgstr "" +msgstr "Usuario o grupo responsable de esta orden de fabricación" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "Enlaces Externo" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" -msgstr "" +msgstr "Notas adicionales de fabricación" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" -msgstr "" +msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" -msgstr "" +msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,26 +1093,26 @@ msgstr "" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" -msgstr "" - -#: build/models.py:1384 -msgid "Install into" -msgstr "" +msgstr "Cantidad de stock a asignar para construir" #: build/models.py:1385 +msgid "Install into" +msgstr "Instalar en" + +#: build/models.py:1386 msgid "Destination stock item" -msgstr "" +msgstr "Artículo de stock de destino" #: build/serializers.py:145 build/serializers.py:703 #: templates/js/translated/build.js:1243 @@ -1158,11 +1162,11 @@ msgstr "Números de serie" #: build/serializers.py:234 msgid "Enter serial numbers for build outputs" -msgstr "" +msgstr "Introduzca los números de serie de salidas de construcción" #: build/serializers.py:247 msgid "Auto Allocate Serial Numbers" -msgstr "" +msgstr "Autoasignar Números de Serie" #: build/serializers.py:248 msgid "Automatically allocate required items with matching serial numbers" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Ubicación" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Estado" @@ -1322,11 +1326,11 @@ msgstr "" #: build/serializers.py:826 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "" +msgstr "Ubicación de stock donde las piezas deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)" #: build/serializers.py:834 msgid "Exclude Location" -msgstr "" +msgstr "Excluir ubicación" #: build/serializers.py:835 msgid "Exclude stock items from this selected location" @@ -1377,15 +1381,15 @@ msgstr "Acciones de impresión" #: build/templates/build/build_base.html:43 msgid "Print build order report" -msgstr "" +msgstr "Imprimir informe de orden de fabricación" #: build/templates/build/build_base.html:50 msgid "Build actions" -msgstr "" +msgstr "Acciones de fabricación" #: build/templates/build/build_base.html:54 msgid "Edit Build" -msgstr "" +msgstr "Editar fabricación" #: build/templates/build/build_base.html:56 msgid "Cancel Build" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Completado" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Completado" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Pedido de Entrega" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "Número de días antes de que el precio de la pieza se actualice automáticamente" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "Habilitar informes" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "Habilitar la generación de informes" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "Modo de depuración" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "Generar informes en modo de depuración (salida HTML)" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "Formato de papel" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "Formato de papel predeterminado para informes en PDF" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "Entregar Existencias Caducadas" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "Patrón para Referencias de Orden de Ensamblado" -#: common/models.py:1428 +#: common/models.py:1439 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:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "Patrón para la Referencia de los Pedidos de Entrega" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Petición de Entrega" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "Envío Predeterminado de las Peticiones de Entrega" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar la creación de envío predeterminado con pedidos de entrega" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "Editar Pedidos Completados" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir la edición de pedidos después de que hayan sido enviados o completados" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "Patrón para Referencias de Orden de Compra" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "Habilitar recuperación de contraseña" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "Permitir a los usuarios recuperar su contraseña al iniciar sesión" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "Habilitar registro" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "Permitir a usuarios registrarse por su cuenta" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "Requerir email" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "Requerir al usuario una dirección de correo electrónico al registrarse" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "Requerir AFM" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "Requerir a los usuarios el uso de Autenticación de Factor Múltiple" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "Mostrar Lista de Materiales (BOMs) no validados" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "Mostrar noticias" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 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:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 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:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "Buscar Pedidos de Entrega" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "Mostrar pedidos de entrega en la ventana de vista previa de búsqueda" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "Excluir Pedidos Inactivos" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "Excluir pedidos inactivos de la ventana de vista previa de búsqueda" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "Formato de Fecha" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planificación de piezas" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "Mostrar información de programación de piezas" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "Precio" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma pieza #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "Proveedor" @@ -3322,7 +3334,7 @@ msgstr "Seleccionar proveedor" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "Empaquetado" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Cliente" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Piezas del Proveedor" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Ordenes de Compra" @@ -3588,7 +3600,7 @@ msgstr "Nueva Orden de Compra" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "Pedidos de Entrega" @@ -3657,7 +3669,7 @@ msgstr "Eliminar piezas del proveedor" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "Artículos de Stock Asignados" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "Pieza del Proveedor" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "Actualizar Disponibilidad de Piezas" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "Artículos de Stock" @@ -3861,7 +3873,7 @@ msgstr "Clientes" msgid "New Customer" msgstr "Nuevo Cliente" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "Empresas" @@ -3869,68 +3881,68 @@ msgstr "Empresas" msgid "New Company" msgstr "Nueva Empresa" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "Descripción de etiqueta" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "No se encontró ninguna orden de compra coincidente" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "Orden de Compra" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "Precio de Compra" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "Sólo las piezas entregables pueden ser asignadas a un pedido de entrega" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ 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:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "ID de Pieza" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "Ruta de la Categoría" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Piezas" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "IPN de la Pieza" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "Categoría de Pieza" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Categorías de Piezas" @@ -4925,7 +4936,7 @@ msgstr "Categorías de Piezas" msgid "Default location for parts in this category" msgstr "Ubicación predeterminada para piezas de esta categoría" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "Fecha" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "Inventario" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "Inactivo" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "Precios del Proveedor" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "Última Actualización" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "Descripción de la plantilla de informe" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "Filtros de búsqueda de pedidos de entrega" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "Precio Unitario" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "ID del Cliente" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "Ubicación de Stock" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "Ubicaciones de Stock" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "Configuración de Precios" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "Conversión de divisas" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "Actualizar" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "Última actualización" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "Seleccionar Columnas" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "ID de Empresa" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "Mostrar como lista" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "Mostrar como árbol" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "Seleccionar Pedidos de Entrega" msgid "Sales Order(s) must be selected before printing report" msgstr "Algún Pedido(s) de Entrega debe ser seleccionado antes de imprimir el informe" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "El cliente ya no existe" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index 8367db78d8..e29675e95c 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:29\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "Address e API peida nashod" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا کرد" @@ -45,7 +49,7 @@ msgstr "تاریخ را وارد کنید" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "یادداشت" @@ -212,7 +216,7 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "" @@ -238,13 +242,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "" @@ -339,7 +343,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "" @@ -679,7 +683,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "" @@ -755,11 +759,11 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "مرجع سفارش فروش" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "منبع محل" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "مقصد" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "تایید" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index d72898d18e..1c09a57f5d 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 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" @@ -45,7 +49,7 @@ msgstr "Entrer la date" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Notes" @@ -212,7 +216,7 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Sélectionnez un fichier à joindre" msgid "Link" msgstr "Lien" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -238,13 +242,13 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Utilisateur" @@ -285,9 +289,9 @@ msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Choix invalide" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Nom" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Description" @@ -339,7 +343,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Chemin d'accès" @@ -679,7 +683,7 @@ msgstr "Séparer de l'élément parent" msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Articles de stock fusionnés" @@ -755,11 +759,11 @@ msgstr "Informations système" msgid "About InvenTree" msgstr "À propos d'InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "La construction doit être annulée avant de pouvoir être supprimée" msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Ordres de Fabrication" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Référence de l' Ordre de Fabrication" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Référence" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Brève description de la fabrication" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Fabrication parente" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Pièce" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Bon de commande de référence" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Emplacement d'origine" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Sélectionner l'emplacement à partir duquel le stock doit être pris pour cette construction (laisser vide pour prendre à partir de n'importe quel emplacement de stock)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Emplacement cible" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Sélectionnez l'emplacement où les éléments complétés seront stockés" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Quantité a fabriquer" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Nombre de stock items à construire" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Articles terminés" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Nombre d'articles de stock qui ont été terminés" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "État de la construction" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Date d'achèvement cible" -#: build/models.py:258 +#: build/models.py:259 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:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Date d'achèvement" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "achevé par" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Émis par" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Utilisateur ayant émis cette commande de construction" msgid "Responsible" msgstr "Responsable" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "Utilisateur ou groupe responsable de cet ordre de construction" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction" msgid "External Link" msgstr "Lien Externe" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Notes de construction supplémentaires" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "Priorité de fabrication" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "La commande de construction {build} a été effectuée" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:1188 +#: build/models.py:1189 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:1197 +#: build/models.py:1198 #, 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:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "L'article du stock sélectionné n'a pas été trouvé dans la BOM" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Assemblage" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "Construction à laquelle allouer des pièces" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "Construction à laquelle allouer des pièces" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Stock d'origine de l'article" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Stock d'origine de l'article" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Quantité" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Stock de destination de l'article" @@ -1186,8 +1190,8 @@ msgstr "Une liste d'ordre de production doit être fourni" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Emplacement" @@ -1201,8 +1205,8 @@ msgstr "Emplacement des ordres de production achevés" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "État" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Terminé" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Terminé" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Commandes" @@ -1527,9 +1531,9 @@ msgstr "Pièces allouées" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "jours" @@ -2022,7 +2026,7 @@ 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:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "Modèle" @@ -2139,824 +2143,832 @@ 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:1220 -msgid "Pricing Decimal Places" -msgstr "Décimales de tarification" +msgid "Minimum Pricing Decimal Places" +msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" -msgstr "Nombre de décimales à afficher lors du rendu des données de prix" +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "" #: common/models.py:1231 +msgid "Maximum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/models.py:1232 +#: common/models.py:1243 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:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/models.py:1239 +#: common/models.py:1250 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:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/models.py:1246 +#: common/models.py:1257 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:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/models.py:1253 +#: common/models.py:1264 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:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/models.py:1271 +#: common/models.py:1282 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:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 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:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/models.py:1296 +#: common/models.py:1307 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:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/models.py:1310 +#: common/models.py:1321 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:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "Activer les rapports de test" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "Activer la génération de rapports de test" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "Joindre des rapports de test" -#: common/models.py:1352 +#: common/models.py:1363 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:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/models.py:1359 +#: common/models.py:1370 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:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/models.py:1373 +#: common/models.py:1384 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:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/models.py:1380 +#: common/models.py:1391 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:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/models.py:1400 +#: common/models.py:1411 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:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1415 +#: common/models.py:1426 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:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1422 +#: common/models.py:1433 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:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1428 +#: common/models.py:1439 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:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1435 +#: common/models.py:1446 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:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1442 +#: common/models.py:1453 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:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1449 +#: common/models.py:1460 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:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1456 +#: common/models.py:1467 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:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1463 +#: common/models.py:1474 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:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1471 +#: common/models.py:1482 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:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1478 +#: common/models.py:1489 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:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1492 +#: common/models.py:1503 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:1498 +#: common/models.py:1509 msgid "Email required" msgstr "Email requis" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1506 +#: common/models.py:1517 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:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1520 +#: common/models.py:1531 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:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Restreindre l'inscription à certains domaines (séparés par des virgules, commence par @)" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:1534 +#: common/models.py:1545 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:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:1548 +#: common/models.py:1559 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:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "Vérifier les signatures du plugin" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "Vérifier et afficher les signatures des plugins" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "Fonctionnalité d'inventaire" -#: common/models.py:1604 +#: common/models.py:1615 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:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "Période de l'inventaire automatique" -#: common/models.py:1611 +#: common/models.py:1622 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:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 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:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "Pas d'imprimante (Exporter vers PDF)" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:1686 +#: common/models.py:1697 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:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "Nombre de composants récents" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "Nombre de pièces récentes à afficher sur la page d'index" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "Afficher les listes de matériaux non validées" -#: common/models.py:1707 +#: common/models.py:1718 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:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1714 +#: common/models.py:1725 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:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "Compte de stock récent" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "Nombre d'éléments de stock récents à afficher sur la page d'index" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:1742 +#: common/models.py:1753 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:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:1749 +#: common/models.py:1760 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:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:1756 +#: common/models.py:1767 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:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:1812 +#: common/models.py:1823 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:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:1819 +#: common/models.py:1830 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:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:1826 +#: common/models.py:1837 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:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:1833 +#: common/models.py:1844 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:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 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:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:1847 +#: common/models.py:1858 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:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:1854 +#: common/models.py:1865 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:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:1861 +#: common/models.py:1872 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:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:1868 +#: common/models.py:1879 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:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:1875 +#: common/models.py:1886 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:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:1882 +#: common/models.py:1893 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:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:1896 +#: common/models.py:1907 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:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:1903 +#: common/models.py:1914 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:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:1910 +#: common/models.py:1921 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:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:1917 +#: common/models.py:1928 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:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:1924 +#: common/models.py:1935 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:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:1931 +#: common/models.py:1942 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:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:1952 +#: common/models.py:1963 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:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "Format de date" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:1988 +#: common/models.py:1999 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:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "Prix" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "Jeton" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "ID message" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "Hôte" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "Entête" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "Corps" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "Id" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "Titre" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "Publié" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Auteur" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "Résumé" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "Lu" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" @@ -3309,7 +3321,7 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "Fournisseur" @@ -3322,7 +3334,7 @@ msgstr "Sélectionner un fournisseur" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "SKU" @@ -3363,7 +3375,7 @@ msgstr "Frais minimums (par exemple frais de stock)" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "Conditionnement" @@ -3397,7 +3409,7 @@ msgstr "Commande multiple" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "Supprimer image" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Client" @@ -3509,7 +3521,7 @@ msgstr "Télécharger une image" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Pièce fournisseur" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "Supprimer les pièces" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Pièces du fabricant" @@ -3565,7 +3577,7 @@ msgstr "Stock fournisseur" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Commandes d'achat" @@ -3588,7 +3600,7 @@ msgstr "Nouvelle commande achat" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "Ventes" @@ -3657,7 +3669,7 @@ msgstr "Supprimer les pièces du fournisseur" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "Articles en stock assignés" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "Pièce fournisseur" @@ -3811,7 +3823,7 @@ msgstr "Information sur les prix" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Ajouter un prix de rupture" @@ -3835,7 +3847,7 @@ msgstr "Mettre à jour la disponibilité des pièces" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "Éléments en stock" @@ -3861,7 +3873,7 @@ msgstr "Clients" msgid "New Customer" msgstr "Nouveaux Clients" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "Entreprises" @@ -3869,68 +3881,68 @@ msgstr "Entreprises" msgid "New Company" msgstr "Nouvelle Entreprise" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "Nom de l'étiquette" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "Description de l’étiquette" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "Étiquette" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "Fichier de modèle d'étiquette" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "Activé" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "Le modèle d'étiquette est activé" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "Largeur [mm]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "Largeur de l'étiquette, spécifiée en mm" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "Hauteur [mm]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "Hauteur de l'étiquette, spécifiée en mm" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "Modèle de nom de fichier" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "Modèle pour la génération des noms de fichiers d'étiquette" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules)," -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "Filtres" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Filtres de requêtes de pièces (valeurs de paires clé=valeur séparées par des virgules)" @@ -3938,7 +3950,7 @@ msgstr "Filtres de requêtes de pièces (valeurs de paires clé=valeur séparée msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "Inconnu" @@ -4139,7 +4151,7 @@ msgstr "Nombre d'éléments reçus" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "Prix d'achat" @@ -4160,7 +4172,7 @@ 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:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Prix de vente" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "Envoi" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "ID de composant" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "Révision" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Composantes" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "Catégorie de composant" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Catégories de composants" @@ -4925,7 +4936,7 @@ msgstr "Catégories de composants" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "Date" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "Prise d'inventaire" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "Aucun objet valide n'a été fourni au modèle" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "Nom du modèle" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "Filtres de composants" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "Extrait " -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "Elément" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "Numéro de série" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "Sélectionner un propriétaire" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Confirmer" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "Pas d'informations sur l'utilisateur" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "ID de commande" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "Aucune catégorie" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "Afficher sous forme de liste" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "Afficher sous forme d'arborescence" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "Le plugin a été installé" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "L'article de stock est détruit" msgid "Depleted" msgstr "Epuisé" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "Pièce de fournisseur non précisée" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "Aucun article de stock ne correspond à la requête" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "Définir l'état du stock" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "Sélectionner le code de statut" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "Le code de statut doit être sélectionné" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "Détails" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "L'emplacement n'existe plus" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "La commande d'achat n'existe plus" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "Le client n'existe plus" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "L'article de stock n'existe plus" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "Ajouté" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "Supprimé" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "Échec de connexion au réseau social" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index b51c1fc2d6..7da4cb2ed2 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "" @@ -45,7 +49,7 @@ msgstr "הזן תאריך סיום" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "" @@ -212,7 +216,7 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "בחר קובץ לצירוף" msgid "Link" msgstr "קישור" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -238,13 +242,13 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "משתמש" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "בחירה שגויה" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "שם" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "שם" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "תיאור" @@ -339,7 +343,7 @@ msgid "parent" msgstr "מקור" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "" @@ -679,7 +683,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "" @@ -755,11 +759,11 @@ msgstr "מידע אודות המערכת" msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "מקט" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "תיאור קצר אודות הבנייה" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "רכיב" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "בחר רכיב לבנייה" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "כמות בניה" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "כמות" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "אשר" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index b7edf511f6..0ce963e109 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "API funkciót nem találom" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "A hiba részleteit megtalálod az admin panelen" @@ -45,7 +49,7 @@ msgstr "Dátum megadása" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Megjegyzések" @@ -212,7 +216,7 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" msgid "Link" msgstr "Link" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -238,13 +242,13 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Felhasználó" @@ -285,9 +289,9 @@ msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Érvénytelen választás" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Név" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Név" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Leírás" @@ -339,7 +343,7 @@ msgid "parent" msgstr "szülő" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Elérési út" @@ -679,7 +683,7 @@ msgstr "Szülő tételből szétválasztva" msgid "Split child item" msgstr "Szétválasztott gyermek tétel" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Összevont készlet tétel" @@ -755,11 +759,11 @@ msgstr "Rendszerinformáció" msgid "About InvenTree" msgstr "Verzió információk" -#: build/api.py:243 +#: build/api.py:245 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/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "A gyártást be kell fejezni a törlés előtt" msgid "Build Order" msgstr "Gyártási utasítás" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Gyártási utasítások" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Gyártási utasítás azonosító" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Azonosító" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Gyártás rövid leírása" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Szülő gyártás" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Alkatrész" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Válassz alkatrészt a gyártáshoz" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Vevői rendelés azonosító" -#: build/models.py:198 +#: build/models.py:199 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:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Forrás hely" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Válassz helyet ahonnan készletet vegyünk el ehhez a gyártáshoz (hagyd üresen ha bárhonnan)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Cél hely" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Válassz helyet ahol a kész tételek tárolva lesznek" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Gyártandó készlet tételek száma" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Kész tételek" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Elkészült készlet tételek száma" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Gyártási állapot" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Befejezés cél dátuma" -#: build/models.py:258 +#: build/models.py:259 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:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Elkészítés dátuma" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "elkészítette" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Kiállította" -#: build/models.py:276 +#: build/models.py:277 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:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" msgid "Responsible" msgstr "Felelős" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" msgid "External Link" msgstr "Külső link" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Egyéb gyártási megjegyzések" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "Priorítás" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:540 +#: build/models.py:541 #, 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:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:731 +#: build/models.py:732 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:1188 +#: build/models.py:1189 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:1197 +#: build/models.py:1198 #, 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:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1219 +#: build/models.py:1220 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:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Kiválasztott készlet tétel nem található az alkatrészjegyzékben" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Gyártás" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "Gyártás amihez készletet foglaljunk" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "Gyártás amihez készletet foglaljunk" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Forrás készlet tétel" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Forrás készlet tétel" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Cél készlet tétel" @@ -1186,8 +1190,8 @@ msgstr "A gyártási kimenetek listáját meg kell adni" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Hely" @@ -1201,8 +1205,8 @@ msgstr "A kész gyártási kimenetek helye" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Állapot" @@ -1473,7 +1477,7 @@ msgid "Completed" msgstr "Kész" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1481,7 +1485,7 @@ msgstr "Kész" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Vevői rendelés" @@ -1528,9 +1532,9 @@ msgstr "Lefoglalt alkatrészek" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1889,8 +1893,8 @@ 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:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "nap" @@ -2023,7 +2027,7 @@ 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:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "Sablon" @@ -2140,824 +2144,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" #: common/models.py:1220 -msgid "Pricing Decimal Places" -msgstr "Áraknál használt tizedesjegyek száma" +msgid "Minimum Pricing Decimal Places" +msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" -msgstr "Tizedejegyek száma az árak megjelenítésekor" +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "" #: common/models.py:1231 +msgid "Maximum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/models.py:1232 +#: common/models.py:1243 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:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/models.py:1239 +#: common/models.py:1250 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:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/models.py:1246 +#: common/models.py:1257 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:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/models.py:1253 +#: common/models.py:1264 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:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/models.py:1264 +#: common/models.py:1275 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:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/models.py:1271 +#: common/models.py:1282 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:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "Árazás újraszámítás gyakoriság" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/models.py:1296 +#: common/models.py:1307 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:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/models.py:1310 +#: common/models.py:1321 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:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "Teszt riportok engedélyezése" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "Teszt riportok hozzáadása" -#: common/models.py:1352 +#: common/models.py:1363 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:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/models.py:1359 +#: common/models.py:1370 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:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/models.py:1373 +#: common/models.py:1384 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:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1380 +#: common/models.py:1391 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:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1400 +#: common/models.py:1411 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:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1428 +#: common/models.py:1439 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:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1435 +#: common/models.py:1446 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:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1442 +#: common/models.py:1453 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:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1449 +#: common/models.py:1460 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:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1456 +#: common/models.py:1467 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:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1463 +#: common/models.py:1474 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:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1478 +#: common/models.py:1489 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:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1492 +#: common/models.py:1503 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:1498 +#: common/models.py:1509 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1506 +#: common/models.py:1517 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:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1513 +#: common/models.py:1524 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:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1520 +#: common/models.py:1531 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:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Ezekről a domain-ekről a regisztráció tiltása (vesszővel elválasztva, @-el kezdve)" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1534 +#: common/models.py:1545 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:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1548 +#: common/models.py:1559 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:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "Plugin aláírások ellenőrzése" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "Pluginok aláírásainak ellenőrzése és megjelenítése" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1564 +#: common/models.py:1575 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:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1588 +#: common/models.py:1599 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:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1596 +#: common/models.py:1607 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:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "Leltár funkció" -#: common/models.py:1604 +#: common/models.py:1615 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:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "Automatikus leltár időpontja" -#: common/models.py:1611 +#: common/models.py:1622 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:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "Riport törlési gyakoriság" -#: common/models.py:1621 +#: common/models.py:1632 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:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 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:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "Nincs nyomtató (nyomtatás PDF-be)" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1686 +#: common/models.py:1697 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:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "Legfrissebb alkatrész szám" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "Főoldalon megjelenítendő legújabb alkatrészek" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1707 +#: common/models.py:1718 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:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1714 +#: common/models.py:1725 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:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "Legfrissebb készlet mennyiség" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1742 +#: common/models.py:1753 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:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1770 +#: common/models.py:1781 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:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1798 +#: common/models.py:1809 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:1804 +#: common/models.py:1815 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1812 +#: common/models.py:1823 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:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1826 +#: common/models.py:1837 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:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:1840 +#: common/models.py:1851 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:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:1847 +#: common/models.py:1858 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:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1854 +#: common/models.py:1865 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:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1861 +#: common/models.py:1872 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:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1868 +#: common/models.py:1879 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:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:1875 +#: common/models.py:1886 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:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:1896 +#: common/models.py:1907 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:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1903 +#: common/models.py:1914 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:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:1910 +#: common/models.py:1921 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:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:1917 +#: common/models.py:1928 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:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:1924 +#: common/models.py:1935 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:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:1931 +#: common/models.py:1942 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:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:1938 +#: common/models.py:1949 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:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:1945 +#: common/models.py:1956 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:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:1952 +#: common/models.py:1963 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:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:1981 +#: common/models.py:1992 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:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:1988 +#: common/models.py:1999 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:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "Ár" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2965,97 +2977,97 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "Token" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "Titok" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "Fejléc" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "Törzs" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "Id" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "Cím" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "Közzétéve" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Szerző" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "Elolvasva" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "Elolvasva?" @@ -3310,7 +3322,7 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "Beszállító" @@ -3323,7 +3335,7 @@ msgstr "Beszállító kiválasztása" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "SKU" @@ -3364,7 +3376,7 @@ msgstr "Minimális díj (pl. tárolási díj)" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "Csomagolás" @@ -3398,7 +3410,7 @@ msgstr "Többszörös rendelés" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3469,7 +3481,7 @@ msgstr "Kép törlése" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Vevő" @@ -3510,7 +3522,7 @@ msgstr "Kép letöltése" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Beszállítói alkatrészek" @@ -3541,7 +3553,7 @@ msgid "Delete Parts" msgstr "Alkatrész törlés" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Gyártói alkatrészek" @@ -3566,7 +3578,7 @@ msgstr "Beszállítói készlet" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Beszerzési rendelések" @@ -3589,7 +3601,7 @@ msgstr "Új beszerzési rendelés" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "Vevői rendelések" @@ -3658,7 +3670,7 @@ msgstr "Beszállítói alkatrész törlése" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3707,7 +3719,7 @@ msgstr "Hozzárendelt készlet tételek" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "Beszállítói alkatrész" @@ -3812,7 +3824,7 @@ msgstr "Árinformációk" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Ársáv hozzáadása" @@ -3836,7 +3848,7 @@ msgstr "Alkatrész elérhetőség frissítése" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "Készlet tételek" @@ -3862,7 +3874,7 @@ msgstr "Vevők" msgid "New Customer" msgstr "Új vevő" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "Cégek" @@ -3870,68 +3882,68 @@ msgstr "Cégek" msgid "New Company" msgstr "Új cég" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "Címke neve" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "Címke leírása" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "Címke" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "Címke sablon fájl" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "Engedélyezve" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "Címke sablon engedélyezve" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "Szélesség [mm]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "Címke szélessége, mm-ben" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "Magasság [mm]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "Fájlnév minta" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "Minta a címke fájlnevek előállításához" -#: label/models.py:233 +#: label/models.py:234 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:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "Szűrők" -#: label/models.py:274 +#: label/models.py:275 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:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" @@ -3939,7 +3951,7 @@ msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3947,12 +3959,12 @@ msgstr "Nincs egyező beszerzési rendelés" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "Ismeretlen" @@ -4140,7 +4152,7 @@ msgstr "Érkezett tételek száma" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "Beszerzési ár" @@ -4161,7 +4173,7 @@ 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:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Eladási ár" @@ -4186,7 +4198,7 @@ msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "Szállítmány" @@ -4728,7 +4740,7 @@ 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:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "Alkatrész ID" @@ -4748,7 +4760,7 @@ msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "Változat" @@ -4759,7 +4771,6 @@ msgid "Keywords" msgstr "Kulcsszavak" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "Kategória ID" @@ -4834,7 +4845,7 @@ msgstr "Kategória elérési út" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Alkatrészek" @@ -4855,13 +4866,13 @@ msgstr "Szülő IPN" msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "Minimum ár" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "Maximum ár" @@ -4917,7 +4928,7 @@ msgid "Part Category" msgstr "Alkatrész kategória" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Alkatrész kategóriák" @@ -4926,7 +4937,7 @@ msgstr "Alkatrész kategóriák" msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5275,8 +5286,8 @@ msgstr "Teljes készlet a leltárkor" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "Dátum" @@ -5985,7 +5996,7 @@ msgstr "Leltár információ hozzáadása" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "Leltár" @@ -6224,7 +6235,7 @@ msgstr "Virtuális (nem kézzelfogható alkatrész)" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "Inaktív" @@ -6259,8 +6270,8 @@ msgstr "Minimális készlet" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "Ártartomány" @@ -6298,7 +6309,7 @@ msgid "Hide Part Details" msgstr "Részletek elrejtése" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "Beszállítói ár" @@ -6395,7 +6406,7 @@ msgstr "Árazás frissítése" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -6772,100 +6783,100 @@ 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" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "Nincs érvényes objektum megadva a sablonhoz" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, 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:305 +#: report/api.py:310 msgid "Test report" msgstr "Teszt riport" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "Sablon neve" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "Riport sablon fájl" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "Riport sablon leírása" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "Riport verziószáma (automatikusan nő)" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "Minta a riport fájlnevek előállításához" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "Riport sablon engedélyezve" -#: report/models.py:280 +#: report/models.py:281 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:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "Beépített tesztekkel együtt" -#: report/models.py:289 +#: report/models.py:290 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:336 +#: report/models.py:337 msgid "Build Filters" msgstr "Gyártás szűrők" -#: report/models.py:337 +#: report/models.py:338 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:376 +#: report/models.py:377 msgid "Part Filters" msgstr "Alkatrész szűrők" -#: report/models.py:377 +#: report/models.py:378 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:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "Megrendelés lekérdezés szűrők" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "Vevő rendelés lekérdezés szűrők" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "Részlet" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "Eszköz" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "Asset fájl leírása" @@ -6885,9 +6896,9 @@ msgstr "Beszállító törölve lett" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "Egységár" @@ -6910,7 +6921,7 @@ msgstr "Készlet tétel teszt riport" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6945,12 +6956,11 @@ msgstr "Beépített tételek" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "Sorozatszám" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "Hely ID" @@ -6971,7 +6981,7 @@ msgstr "Készlet tétel ID" msgid "Status Code" msgstr "Státuszkód" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "Beszállítói cikkszám" @@ -6992,7 +7002,7 @@ msgstr "Vevő ID" msgid "Installed In" msgstr "Beépítve ebbe" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "Gyártás ID" @@ -7014,7 +7024,7 @@ msgstr "Törlés ha kimerül" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "Lejárati dátum" @@ -7041,7 +7051,7 @@ msgid "Stock Location" msgstr "Készlet hely" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "Készlethelyek" @@ -7059,7 +7069,7 @@ msgstr "Tulajdonos kiválasztása" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "Külső" @@ -7449,7 +7459,7 @@ msgstr "Teszt adatok hozzáadása" msgid "Installed Stock Items" msgstr "Beépített készlet tételek" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" @@ -8162,20 +8172,20 @@ msgstr "Beszerzési rendelés beállításai" msgid "Pricing Settings" msgstr "Árazási beállítások" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "Árfolyamok" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "Frissítés most" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "Utolsó frissítés" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "Soha" @@ -8614,7 +8624,7 @@ msgstr "Email cím megerősítése" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Erősítsd meg hogy a %(email)s email a %(user_display)s felhasználó email címe." -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Megerősítés" @@ -9521,7 +9531,7 @@ msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "Kiválaszt" @@ -9533,7 +9543,7 @@ msgstr "Gyártás késésben van" msgid "Progress" msgstr "Haladás" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "Nincs felhasználói információ" @@ -9658,12 +9668,12 @@ msgid "Delete supplier part" msgstr "Beszállítói alkatrész törlése" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "Ársáv törlése" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "Ársáv szerkesztése" @@ -9717,61 +9727,61 @@ msgstr "Összes szűrő törlése" msgid "Create filter" msgstr "Szűrő létrehozása" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "Művelet tiltva" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "Létrehozás nem engedélyezett" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "Módosítás nem engedélyezett" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "Törlés nem engedélyezett" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "Megtekintés nem engedélyezett" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "Form nyitva tartása" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "Adj meg egy érvényes számot" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Form hibák vannak" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "Nincs eredmény" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "Oszlopok kiválasztása" @@ -9904,28 +9914,6 @@ msgstr "A kiszolgáló 400-as hibakódot adott vissza" msgid "Error requesting form data" msgstr "Form adat lekérése sikertelen" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "Cég ID" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "Készlet ID" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "Rendelés ID" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "Szállítmány ID" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "Gyártói cikkszám" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "Nem találhatók hírek" @@ -10134,7 +10122,7 @@ msgstr "Beérkezett mennyiség" msgid "Quantity to receive" msgstr "Érkező mennyiség" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "Készlet állapota" @@ -10579,7 +10567,7 @@ msgid "No category" msgstr "Nincs kategória" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "Megjelenítés listaként" @@ -10603,7 +10591,7 @@ msgstr "Alkatrész kategória kiválasztása" msgid "Category is required" msgstr "Kategória megadása kötelező" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "Megjelenítés fában" @@ -10676,53 +10664,53 @@ msgstr "Minimális készlet" msgid "The Plugin was installed" msgstr "A plugin telepítve lett" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "Pénznem adatok lekérdezése sikertelen" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "Nincs alkatrészjegyzék infomáció" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "Nincs beszállítói árinfomáció" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "Nincsenek ársáv adatok" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "${human_name} szerkesztése" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "${human_name} törlése" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "Nincsenek beszerzési ár előzmények" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "Beszerzési ár előzmények" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "Nincsenek eladási ár előzmények" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "Eladási ár előzmények" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "Nincs alkatrészváltozat infomáció" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "Alkatrészváltozat" @@ -10792,11 +10780,27 @@ msgstr "Vevői rendelések kiválasztása" msgid "Sales Order(s) must be selected before printing report" msgstr "Vevői rendelés(eke)t ki kell választani a riport nyomtatás előtt" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "Eredmények összezárása" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "Eredmények eltávolítása" @@ -11089,103 +11093,103 @@ msgstr "Készlet tétel megsemmisült" msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "Készletérték" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "Készlet állapot beállítása" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "Státuszkód kiválasztása" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "Státuszkódot ki kell választani" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "Alhelyek betöltése" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "Másik tétel beépítése ebbe a készlet tételbe" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "A készlet tétel jelenleg elérhető készleten" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "A készlet tétel még nem épült be egy másik tételbe" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" @@ -11562,18 +11566,10 @@ msgstr "Teljes találatok megjelenítése" msgid "Clear search" msgstr "Keresőmező törlése" -#: templates/search.html:16 -msgid "Filter results" -msgstr "Eredmények szűrése" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "Keresés menü bezárása" -#: templates/search.html:35 -msgid "No search results" -msgstr "Nincs találat" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "Közösségi háló bejelentkezési hiba" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index d6d04fa666..4cced6cf7b 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:29\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "" @@ -45,7 +49,7 @@ msgstr "Masukkan tanggal" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Catatan" @@ -212,7 +216,7 @@ msgstr "Lampiran" msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Pilih file untuk dilampirkan" msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -238,13 +242,13 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Pengguna" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Pilihan tidak valid" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Nama" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Nama" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Keterangan" @@ -339,7 +343,7 @@ msgid "parent" msgstr "induk" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Direktori" @@ -679,7 +683,7 @@ msgstr "Dipisah dari item induk" msgid "Split child item" msgstr "Pisah item dari barang induk" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Stok item digabungkan" @@ -755,11 +759,11 @@ msgstr "Informasi Sistem" msgid "About InvenTree" msgstr "Tentang InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" msgid "Build Order" msgstr "Order Produksi" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Order Produksi" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Pilihan produksi induk tidak valid" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Referensi Order Produksi" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Referensi" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Deskripsi singkat produksi" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produksi Induk" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Bagian" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Pilih bagian untuk diproduksi" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Referensi Order Penjualan" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Lokasi Sumber" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Pilih dari lokasi mana stok akan diambil untuk produksi ini (kosongkan untuk mengambil stok dari mana pun)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Lokasi Tujuan" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Pilih lokasi di mana item selesai akan disimpan" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Jumlah Produksi" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Jumlah item stok yang akan dibuat" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Item selesai" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Jumlah stok item yang telah diselesaikan" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Status pembuatan" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Tanggal Pembuatan" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Target tanggal selesai" -#: build/models.py:258 +#: build/models.py:259 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:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Tanggal selesai" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "diselesaikan oleh" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Diserahkan oleh" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Pengguna yang menyerahkan order ini" msgid "Responsible" msgstr "Penanggung Jawab" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Catatan tambahan produksi" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:1188 +#: build/models.py:1189 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:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Item stok yang dipilih tidak ditemukan dalam daftar barang order" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Produksi" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Sumber stok item" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Sumber stok item" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Tujuan stok item" @@ -1186,8 +1190,8 @@ msgstr "Daftar hasil pesanan harus disediakan" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Lokasi" @@ -1201,8 +1205,8 @@ msgstr "Lokasi hasil pesanan yang selesai" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Status" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Konfirmasi" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 086990c580..9da463fcab 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "Endpoint API non trovato" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministrazione" @@ -45,7 +49,7 @@ msgstr "Inserisci la data" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Note" @@ -212,7 +216,7 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Seleziona file da allegare" msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -238,13 +242,13 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Utente" @@ -285,9 +289,9 @@ msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Scelta non valida" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Nome" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Descrizione" @@ -339,7 +343,7 @@ msgid "parent" msgstr "genitore" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Percorso" @@ -679,7 +683,7 @@ msgstr "Diviso dall'elemento genitore" msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Elemento stock raggruppato" @@ -755,11 +759,11 @@ msgstr "Informazioni sistema" msgid "About InvenTree" msgstr "Informazioni Su InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "La produzione deve essere annullata prima di poter essere eliminata" msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Ordini di Produzione" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Scelta non valida per la produzione genitore" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Riferimento Ordine Di Produzione" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Riferimento" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Breve descrizione della produzione" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produzione Genitore" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Articolo" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Selezionare parte da produrre" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Numero di riferimento ordine di vendita" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Posizione Di Origine" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleziona la posizione da cui prelevare la giacenza (lasciare vuoto per prelevare da qualsiasi posizione di magazzino)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Posizione Della Destinazione" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Quantità Produzione" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Numero di articoli da costruire" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Articoli completati" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Numero di articoli di magazzino che sono stati completati" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Stato Produzione" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Data completamento obiettivo" -#: build/models.py:258 +#: build/models.py:259 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:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Data di completamento" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "Completato da" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Rilasciato da" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Utente che ha emesso questo ordine di costruzione" msgid "Responsible" msgstr "Responsabile" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "Utente o gruppo responsabile di questo ordine di produzione" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione" msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Note aggiuntive" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "Priorità di produzione" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "L'ordine di produzione {build} è stato completato" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:1188 +#: build/models.py:1189 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:1197 +#: build/models.py:1198 #, 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:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Articolo in giacenza selezionato non trovato nel BOM" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Produzione" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "Costruisci per allocare gli articoli" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "Costruisci per allocare gli articoli" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Origine giacenza articolo" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Origine giacenza articolo" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Quantità" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Installa in" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" @@ -1186,8 +1190,8 @@ msgstr "Deve essere fornito un elenco dei risultati di produzione" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Posizione" @@ -1201,8 +1205,8 @@ msgstr "Posizione per gli output di build completati" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Stato" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Completato" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Completato" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Ordini di Vendita" @@ -1527,9 +1531,9 @@ msgstr "Articoli Assegnati" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "giorni" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "Modello" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" #: common/models.py:1220 -msgid "Pricing Decimal Places" -msgstr "Prezzi Decimali" +msgid "Minimum Pricing Decimal Places" +msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" -msgstr "Numero di cifre decimali da visualizzare quando si visualizzano i dati dei prezzi" +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "" #: common/models.py:1231 +msgid "Maximum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/models.py:1232 +#: common/models.py:1243 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:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/models.py:1239 +#: common/models.py:1250 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:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/models.py:1246 +#: common/models.py:1257 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:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/models.py:1253 +#: common/models.py:1264 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:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/models.py:1271 +#: common/models.py:1282 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:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 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:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/models.py:1296 +#: common/models.py:1307 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:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/models.py:1310 +#: common/models.py:1321 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:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "Abilita Rapporto di Prova" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "Allega Rapporto di Prova" -#: common/models.py:1352 +#: common/models.py:1363 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:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/models.py:1359 +#: common/models.py:1370 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:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina il comportamento predefinito quando un elemento stock è esaurito" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/models.py:1380 +#: common/models.py:1391 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:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/models.py:1400 +#: common/models.py:1411 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:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1415 +#: common/models.py:1426 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:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1449 +#: common/models.py:1460 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:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1463 +#: common/models.py:1474 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:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1492 +#: common/models.py:1503 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:1498 +#: common/models.py:1509 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1506 +#: common/models.py:1517 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:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:1513 +#: common/models.py:1524 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:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:1520 +#: common/models.py:1531 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:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Limita la registrazione a determinati domini (separati da virgola, che cominciano con @)" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:1534 +#: common/models.py:1545 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:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:1548 +#: common/models.py:1559 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:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "Controlla le firme del plugin" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "Controlla e mostra le firme per i plugin" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "Funzionalità Dell'Inventario" -#: common/models.py:1604 +#: common/models.py:1615 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:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "Inventario periodico automatico" -#: common/models.py:1611 +#: common/models.py:1622 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:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 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:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "Nessuna stampante (Esporta in PDF)" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "Conteggio Ultimi Articoli" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "Numero di articoli da visualizzare sulla pagina indice" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "Mostra distinta base non convalidata" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "Recente Conteggio Giacenze" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "Numero di giacenze recenti da visualizzare sulla pagina indice" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:1742 +#: common/models.py:1753 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:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1812 +#: common/models.py:1823 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:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:1819 +#: common/models.py:1830 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:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1826 +#: common/models.py:1837 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:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:1875 +#: common/models.py:1886 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:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:1931 +#: common/models.py:1942 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:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:1952 +#: common/models.py:1963 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:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:1981 +#: common/models.py:1992 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:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:1988 +#: common/models.py:1999 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:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "Prezzo" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "Nome per questa notifica" msgid "Active" msgstr "Attivo" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "Token" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "Segreto" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "Host" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "Intestazione" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "Contenuto" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "Id" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "Titolo" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "Pubblicato" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autore" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "Letto" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" @@ -3309,7 +3321,7 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "Fornitore" @@ -3322,7 +3334,7 @@ msgstr "Seleziona fornitore" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "SKU" @@ -3363,7 +3375,7 @@ msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "Confezionamento" @@ -3397,7 +3409,7 @@ msgstr "Ordine multiplo" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "Elimina immagine" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Cliente" @@ -3509,7 +3521,7 @@ msgstr "Download Immagine" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Articoli fornitore" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "Cancella articoli" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Articoli Produttore" @@ -3565,7 +3577,7 @@ msgstr "Giacenza Fornitore" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Ordine di acquisto" @@ -3588,7 +3600,7 @@ msgstr "Nuovo Ordine di Acquisto" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "Ordini di Vendita" @@ -3657,7 +3669,7 @@ msgstr "Elimina articolo fornitore" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "Elementi in Giacenza Impegnati" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "Articolo Fornitore" @@ -3811,7 +3823,7 @@ msgstr "Informazioni Prezzi" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Aggiungi riduzione prezzo" @@ -3835,7 +3847,7 @@ msgstr "Aggiorna Disponibilità Articolo" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -3861,7 +3873,7 @@ msgstr "Clienti" msgid "New Customer" msgstr "Nuovo cliente" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "Aziende" @@ -3869,68 +3881,68 @@ msgstr "Aziende" msgid "New Company" msgstr "Nuova Azienda" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "Nome etichetta" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "Descrizione etichetta" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "Etichetta" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "File modello etichetta" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "Abilitato" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "Modello di etichetta abilitato" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "Larghezza [mm]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "Altezza [mm]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "Formato del nome file" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "Formato del nome file per la generazione etichetta" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori)," -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "Filtri" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Articolo Filtri di ricerca (elenco separato da virgole key=coppia di valori)" @@ -3938,7 +3950,7 @@ msgstr "Articolo Filtri di ricerca (elenco separato da virgole key=coppia di val msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "Nessun ordine di acquisto corrispondente trovato" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "Sconosciuto" @@ -4139,7 +4151,7 @@ msgstr "Numero di elementi ricevuti" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "Prezzo di Acquisto" @@ -4160,7 +4172,7 @@ 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:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Prezzo di Vendita" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "Spedizione" @@ -4727,7 +4739,7 @@ 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:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "Codice Articolo" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "IPN - Numero di riferimento interno" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "Revisione" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "Parole Chiave" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "Id Categoria" @@ -4833,7 +4844,7 @@ msgstr "Percorso Categoria" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Articoli" @@ -4854,13 +4865,13 @@ msgstr "IPN Principale" msgid "Part IPN" msgstr "IPN Articolo" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "Prezzo Massimo" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "Categoria Articoli" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Categorie Articolo" @@ -4925,7 +4936,7 @@ msgstr "Categorie Articolo" msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "Data" @@ -5984,7 +5995,7 @@ msgstr "Aggiungi informazioni inventario" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "Inventario" @@ -6223,7 +6234,7 @@ msgstr "L'Articolo è virtuale (non è un articolo fisico)" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "Inattivo" @@ -6258,8 +6269,8 @@ msgstr "Livello minimo di giacenza" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "Fascia di Prezzo" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "Nascondi Dettagli dell'Articolo" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "Prezzo del Fornitore" @@ -6394,7 +6405,7 @@ msgstr "Aggiorna prezzo articolo" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -6771,100 +6782,100 @@ msgstr "Installazione non confermata" msgid "Either packagename of URL must be provided" msgstr "Deve essere fornito uno dei nomi del pacchetto URL" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "Nessun oggetto valido fornito nel modello" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, 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:305 +#: report/api.py:310 msgid "Test report" msgstr "Report test" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "Nome modello" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "File modello di report" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "Descrizione del modello report" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "Numero di revisione del rapporto (auto-incrementi)" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "Sequenza per generare i nomi dei file report" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "Modello report abilitato" -#: report/models.py:280 +#: report/models.py:281 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:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "Includi Test Installati" -#: report/models.py:289 +#: report/models.py:290 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:336 +#: report/models.py:337 msgid "Build Filters" msgstr "Filtri di produzione" -#: report/models.py:337 +#: report/models.py:338 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:376 +#: report/models.py:377 msgid "Part Filters" msgstr "Filtri Articolo" -#: report/models.py:377 +#: report/models.py:378 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:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "Ordine di Acquisto filtra la ricerca" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "Ordine di Vendita filtra la ricerca" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "Snippet" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "Risorsa" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "File risorsa descrizione" @@ -6884,9 +6895,9 @@ msgstr "Il fornitore è stato eliminato" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "Prezzo Unitario" @@ -6909,7 +6920,7 @@ msgstr "Test Report Elemento Stock" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "Elementi installati" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "Seriale" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "ID Posizione" @@ -6970,7 +6980,7 @@ msgstr "ID Elemento Stock" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "ID Articolo Fornitore" @@ -6991,7 +7001,7 @@ msgstr "ID Cliente" msgid "Installed In" msgstr "Installato In" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "ID Costruttore" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "Data di Scadenza" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "Ubicazione magazzino" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "Posizioni magazzino" @@ -7058,7 +7068,7 @@ msgstr "Seleziona Owner" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "Esterno" @@ -7448,7 +7458,7 @@ msgstr "Aggiungi Dati Di Test" msgid "Installed Stock Items" msgstr "Elementi di magazzino installati" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "Installa Elemento Magazzino" @@ -8161,20 +8171,20 @@ msgstr "Impostazioni Ordine di Acquisto" msgid "Pricing Settings" msgstr "Impostazioni Prezzi" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "Tassi di cambio" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "Aggiorna Ora" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "Ultimo Aggiornamento" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "Mai" @@ -8613,7 +8623,7 @@ msgstr "Conferma l'indirizzo e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Si prega di confermare che %(email)s è un indirizzo email per l'utente %(user_display)s." -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Conferma" @@ -9520,7 +9530,7 @@ msgstr "Nessuna produzione corrispondente alla ricerca" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "Seleziona" @@ -9532,7 +9542,7 @@ msgstr "L'ordine di produzione è in ritardo" msgid "Progress" msgstr "Avanzamento" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "Nessuna informazione utente" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "Elimina articolo fornitore" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "Elimina riduzione di prezzo" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "Modifica Prezzo Limite" @@ -9716,61 +9726,61 @@ msgstr "Cancella tutti i filtri" msgid "Create filter" msgstr "Crea filtro" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "Azione Vietata" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "Crea operazione non consentita" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "Operazione di aggiornamento non consentita" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "Operazione di eliminazione non consentita" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "Mostra operazione non consentita" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "Mantieni aperto questo modulo" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "Inserisci un numero valido" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Esistono errori nel modulo" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "Nessun risultato trovato" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "Ricerca" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "Cancella input" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "Colonna File" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "Nome del campo" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "Seleziona Colonne" @@ -9903,28 +9913,6 @@ msgstr "Il server ha restituito codice di errore 400" msgid "Error requesting form data" msgstr "Errore nella richiesta di dati modulo" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "ID azienda" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "ID Giacenza" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "ID Ordine" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "Id Spedizione" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "ID articolo produttore" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "Nessuna notizia trovata" @@ -10133,7 +10121,7 @@ msgstr "Quantità Ricevuta" msgid "Quantity to receive" msgstr "Quantità da ricevere" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "Stato giacenza" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "Nessuna categoria" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "Visualizza come elenco" @@ -10602,7 +10590,7 @@ msgstr "Seleziona Categoria Articolo" msgid "Category is required" msgstr "Carica Sotto Categorie" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" @@ -10675,53 +10663,53 @@ msgstr "Livello Minimo Stock" msgid "The Plugin was installed" msgstr "Il Plugin è stato installato" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "Errore durante il recupero dati" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "Nessun dato Distinta Base disponibile" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "Nessun dato di prezzo disponibile per il fornitore" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "Nessun dato disponibile prezzo limite" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "Modifica ${human_name}" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "Elimina ${human_name}" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "Nessun dato della cronologia di acquisto disponibile" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "Cronologia Prezzi Acquisto" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "Nessun dato della cronologia di vendita disponibile" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "Cronologia Prezzo Vendita" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "Non sono disponibili dati varianti" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "Variante Articolo" @@ -10791,11 +10779,27 @@ msgstr "Seleziona Ordini Di Vendita" msgid "Sales Order(s) must be selected before printing report" msgstr "Gli ordini di vendita devono essere selezionati prima di stampare il report" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "Minimizza risultati" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "Rimuovi risultati" @@ -11088,103 +11092,103 @@ msgstr "Articolo di magazzino distrutto" msgid "Depleted" msgstr "Esaurito" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "Fornitore dell'articolo non specificato" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "Nessun articolo in magazzino corrispondente alla richiesta" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "Impostare lo stato delle scorte" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "Selezionare il codice di stato" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "Il codice di stato deve essere selezionato" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "Caricare sublocazioni" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "Dettagli" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "Informazioni sull'articolo non disponibili" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "La posizione non esiste più" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "L'ordine di acquisto non esiste più" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "Il cliente non esiste più" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "L'articolo in magazzino non esiste più" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "Aggiunto" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "Rimosso" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "Nessun elemento installato" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "Disinstallare l'articolo di magazzino" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "Selezionare l'articolo di magazzino da disinstallare" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "Installare un altro articolo di magazzino in questo articolo" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Gli articoli in magazzino possono essere installati solo se soddisfano i seguenti criteri" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "L'articolo di magazzino si collega a un'articolo che è la distinta base di questo articolo di magazzino" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "L'articolo in stock è attualmente disponibile in magazzino" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "L'articolo di magazzino non è già installato in un altro articolo" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "L'articolo di magazzino è tracciato da un codice di lotto o da un numero di serie" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "Selezionare la parte da installare" @@ -11561,18 +11565,10 @@ msgstr "Visualizza tutti i risultati di ricerca" msgid "Clear search" msgstr "Cancella ricerca" -#: templates/search.html:16 -msgid "Filter results" -msgstr "Filtra risultati" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "Chiudi menu di ricerca" -#: templates/search.html:35 -msgid "No search results" -msgstr "Nessun risultato di ricerca" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "Errore Accesso Social Network" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 68107842c2..df7be4f271 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "" @@ -45,7 +49,7 @@ msgstr "日付を入力する" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "メモ" @@ -212,7 +216,7 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "添付ファイルを選択" msgid "Link" msgstr "リンク" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -238,13 +242,13 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "ユーザー" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "無効な選択です" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "お名前" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "説明" @@ -339,7 +343,7 @@ msgid "parent" msgstr "親" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "" @@ -679,7 +683,7 @@ msgstr "親アイテムから分割する" msgid "Split child item" msgstr "子項目を分割" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "商品在庫をマージしました" @@ -755,11 +759,11 @@ msgstr "システム情報" msgid "About InvenTree" msgstr "InvenTree について" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "パーツ" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "パーツを割り当てるためにビルドする" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "数量" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "ステータス" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "テンプレート" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "サプライヤー・パーツ" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "パーツを削除" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "メーカー・パーツ" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "購入金額" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "パーツ" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "確認" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index 0371588214..105bbbfef8 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "" @@ -45,7 +49,7 @@ msgstr "" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "" @@ -212,7 +216,7 @@ msgstr "첨부파일" msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "첨부할 파일을 선택하세요" msgid "Link" msgstr "링크" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "외부 URL로 링크" @@ -238,13 +242,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "사용자" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "이름" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "이름" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "설명" @@ -339,7 +343,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "" @@ -679,7 +683,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "" @@ -755,11 +759,11 @@ msgstr "시스템 정보" msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "외부 링크" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "수량" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "위치" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "상태" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "디버그 모드" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "페이지 크기" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "PDF 보고서 기본 페이지 크기" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "작성자" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "고객" @@ -3509,7 +3521,7 @@ msgstr "이미지 다운로드" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "신규 고객" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "새 회사" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "너비 [mm]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "높이 [mm]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "단가" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "지금 업데이트" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "확인" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "선택" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index c26e140bf1..f3eb095de1 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Error details kunnen worden gevonden in het admin scherm" @@ -45,7 +49,7 @@ msgstr "Voer datum in" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Opmerkingen" @@ -212,7 +216,7 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Bestand als bijlage selecteren" msgid "Link" msgstr "Link" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -238,13 +242,13 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Gebruiker" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Ongeldige keuze" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Naam" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Omschrijving" @@ -339,7 +343,7 @@ msgid "parent" msgstr "bovenliggende" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Pad" @@ -679,7 +683,7 @@ msgstr "Splits van bovenliggend item" msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" @@ -755,11 +759,11 @@ msgstr "Systeeminformatie" msgid "About InvenTree" msgstr "Over InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" msgid "Build Order" msgstr "Productieorder" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Productieorders" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Productieorderreferentie" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Referentie" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Korte beschrijving van de productie" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Onderdeel" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Selecteer onderdeel om te produceren" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Verkooporder Referentie" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Bronlocatie" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecteer de locatie waar de voorraad van de productie vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Productiehoeveelheid" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Aantal voorraaditems om te produceren" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Productiestatus" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" -#: build/models.py:258 +#: build/models.py:259 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:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Opleveringsdatum" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "voltooid door" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Uitgegeven door" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Gebruiker die de productieorder heeft gegeven" msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "Externe Link" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Opmerkingen over de productie" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "Bouw prioriteit" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Productieorder {build} is voltooid" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:1188 +#: build/models.py:1189 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:1197 +#: build/models.py:1198 #, 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:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Product" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "Product om onderdelen toe te wijzen" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "Product om onderdelen toe te wijzen" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Bron voorraadartikel" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Bron voorraadartikel" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" @@ -1186,8 +1190,8 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Locatie" @@ -1201,8 +1205,8 @@ msgstr "Locatie van voltooide productieuitvoeren" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Status" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Voltooid" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Voltooid" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Verkooporder" @@ -1527,9 +1531,9 @@ msgstr "Toegewezen Onderdelen" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "dagen" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "Sjabloon" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/models.py:1310 +#: common/models.py:1321 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:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "Activeer Testrapporten" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "Testrapporten Toevoegen" -#: common/models.py:1352 +#: common/models.py:1363 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:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1400 +#: common/models.py:1411 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:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "Recente Voorraadtelling" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "Recente Voorraadtelling" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "Prijs" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "Actief" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "Token" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "Geheim" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "Host" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "Koptekst" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "Leverancier" @@ -3322,7 +3334,7 @@ msgstr "Leverancier selecteren" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "SKU" @@ -3363,7 +3375,7 @@ msgstr "Minimale kosten (bijv. voorraadkosten)" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "Order meerdere" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Klant" @@ -3509,7 +3521,7 @@ msgstr "Afbeelding Downloaden" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "Verwijder Onderdelen" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Fabrikant onderdelen" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Inkooporders" @@ -3588,7 +3600,7 @@ msgstr "Nieuwe Inkooporder" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "Verkooporders" @@ -3657,7 +3669,7 @@ msgstr "Verwijder leveranciersonderdelen" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "Toegewezen Voorraadartikelen" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "Leveranciersonderdeel" @@ -3811,7 +3823,7 @@ msgstr "Prijsinformatie" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "Voorraadartikelen" @@ -3861,7 +3873,7 @@ msgstr "Klanten" msgid "New Customer" msgstr "Nieuwe Klant" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "Bedrijven" @@ -3869,68 +3881,68 @@ msgstr "Bedrijven" msgid "New Company" msgstr "Nieuw Bedrijf" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "Labelnaam" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "Label beschrijving" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "Label" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "Label template bestand" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "Ingeschakeld" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "Label template is ingeschakeld" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "Breedte [mm]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "Label breedte, gespecificeerd in mm" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "Hoogte [mm]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "Label hoogte, gespecificeerd in mm" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "Bestandsnaam Patroon" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "Filters" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "Aantal ontvangen artikelen" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "Inkoopprijs" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Verkoopprijs" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "Zending" @@ -4727,7 +4739,7 @@ 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:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "Datum" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "Filters inkooporder" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "Verkooporder zoekopdracht filters" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "Stukprijs" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "Voorraadlocatie" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "Voorraadlocaties" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "Inkooporder Instellingen" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Bevestigen" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "Productieorder is achterstallig" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "Order-ID" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "Onderdeelnummer Fabrikant" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "Selecteer Verkooporders" msgid "Sales Order(s) must be selected before printing report" msgstr "Verkooporder(s) moeten geselecteerd zijn voordat u rapport afdrukt" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "Inkooporder bestaat niet meer" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 21083a1b72..0f076edb9e 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "API endepunkt ikke funnet" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Feildetaljer kan ikke finnes i admin-panelet" @@ -45,7 +49,7 @@ msgstr "Oppgi dato" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Notater" @@ -212,7 +216,7 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Velg fil å legge ved" msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -238,13 +242,13 @@ msgstr "Kommenter" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Bruker" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Ugyldig valg" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Navn" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Beskrivelse" @@ -339,7 +343,7 @@ msgid "parent" msgstr "overkategori" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Sti" @@ -679,7 +683,7 @@ msgstr "Delt fra overordnet element" msgid "Split child item" msgstr "Delt fra underelement" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Sammenslått lagervare" @@ -755,11 +759,11 @@ msgstr "Systeminformasjon" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "Bygningen må avbrytes før den kan slettes" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "Bygningen må avbrytes før den kan slettes" msgid "Build Order" msgstr "Build ordre" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Build Ordre" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Ugylding valg for overordnet build" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Bygg ordrereferanse" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Referanse" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Kort beskrivelse av build" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet build" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Build order som denne build er tildelt til" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Build order som denne build er tildelt til" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Del" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Valg del å bygge" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Salg order referanse" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Salgorder som denne build er tildelt til" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Kilde plassering" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Valg sted for å ta lagervare fra for dette prosjektet (la stå tomt for a ta fra hvilken som helst sted)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Sted for destinasjon" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Velg sted hvor fulførte elementer vil bli lagret" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Prosjekt mengde" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Antall lagervare til prosjektet" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Fullførte elementer" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Antall lagervarer som er fullført" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Byggstatus" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Byggstatuskode" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Batch kode" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch kode for denne build output" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Forventet sluttdato" -#: build/models.py:258 +#: build/models.py:259 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:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Fullført dato" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "fullført av" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Utstedt av" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Brukeren som utstede denne prosjekt order" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Brukeren som utstede denne prosjekt order" msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "Ekstern link" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Ekstra prosjekt notater" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "Bygg prioritet" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "Prioritet for denne byggeordren" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggeordre {build} er fullført" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "Byggeordre er fullført" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Ingen prosjekt utgang" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Prosjekt utdata er allerede utfylt" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" -#: build/models.py:1188 +#: build/models.py:1189 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:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelige lager mengde ({a})" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "Lagervare er overtildelt" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Tildeling antallet må være større enn null" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må væew 1 for serialisert lagervare" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Valgt lagevare ikke funnet i BOM" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Prosjekt" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "Bygge for å tildele deler" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "Bygge for å tildele deler" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Kilde lagervare" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Kilde lagervare" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Kilde lagervare" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Antall" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å allokere til bygging" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Installerings informasjon" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Målets lagervare" @@ -1186,8 +1190,8 @@ msgstr "En liste over byggeresultater må oppgis" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Beliggenhet" @@ -1201,8 +1205,8 @@ msgstr "Sted for ferdige byggeresultater" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Status" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Fullført" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Fullført" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Salgsorder" @@ -1527,9 +1531,9 @@ msgstr "Tildelte deler" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Kopier kategori parametermaler ved oppretting av en del" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "Mal" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1449 +#: common/models.py:1460 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:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1463 +#: common/models.py:1474 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:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "Krevt at brukeren angi e-post ved registrering" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO brukere" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "Ved registrering spør brukere to ganger for e-posten" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "Ved registrerting, spør brukere to ganger for passord" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "Gruppe på registrering" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Sjekk at alle programtillegg er installert ved oppstart - aktiver i containermiljøer" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "Sjekk plugin signaturer" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "Kontroller og vis signaturer for plugins" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "Aktiver URL integrering" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "Aktiver tillegg for å legge til URL" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrering" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "Aktiver plugins for å integrere inn i navigasjon" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "Aktiver app integrasjon" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "Aktiver plugins for å legge til apper" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "Aktiver integrering av tidsplan" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "Aktiver utvidelser for å kjøre planlagte oppgaver" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrering" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "Aktiver plugins til å svare på interne hendelser" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 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:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "Vis abbonerte deler" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "Vis abbonerte deler på hjemmesiden" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "Vis abbonerte kategorier" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "Vis abbonerte delkatekorier på hjemmesiden" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på hjemmesiden" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "Antall nylig deler" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "Antall nylige deler som skal vises på indeks-side" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte BOMs" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "Vis BOMs som venter validering på hjemmesiden" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endret lagervarer på hjemmesiden" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "Siste lagertelling" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "Antall nylige lagervarer som skal vises på indeksside" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "Vis lav lager" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "Vis lav lagervarer på hjemmesiden" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "Vis tom lagervarer" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "Vis lav lagerbeholdning på hjemmesiden" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "Vis nødvendig lagervare" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for å bygge på hjemmesiden" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "Vis utløpt lager" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagerbeholdninger på hjemmesiden" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Del planlegging" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "Aktiv" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "Sjetong" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "Vert" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "Tittel" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Kunde" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Leverandør deler" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "Slett deler" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Produsentdeler" @@ -3565,7 +3577,7 @@ msgstr "Leverandør lager" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Bestillingsorder" @@ -3588,7 +3600,7 @@ msgstr "Ny bestillingsorder" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "Salgsordre" @@ -3657,7 +3669,7 @@ msgstr "Slett leverandørdeler" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "Tildelt lagervarer" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "Leverandør deler" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "Oppdater tilgjengelighet" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Spørrefilter (kommaseparert liste over nøkkel=verdiparer)," -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "Filtre" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Bekreft" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index fa8eadcec9..cfed423885 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" @@ -45,7 +49,7 @@ msgstr "Wprowadź dane" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Uwagi" @@ -212,7 +216,7 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Wybierz plik do załączenia" msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -238,13 +242,13 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Użytkownik" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Błędny wybór" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Nazwa" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Opis" @@ -339,7 +343,7 @@ msgid "parent" msgstr "nadrzędny" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Ścieżka" @@ -679,7 +683,7 @@ msgstr "Podziel z pozycji nadrzędnej" msgid "Split child item" msgstr "Podziel element podrzędny" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Scalone przedmioty magazynowe" @@ -755,11 +759,11 @@ msgstr "Informacja systemowa" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięt msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Odwołanie do zamówienia wykonania" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Referencja" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Krótki opis budowy" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Komponent" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:258 +#: build/models.py:259 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:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Użytkownik, który wydał to zamówienie" msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Dodatkowe notatki do budowy" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Kolejność kompilacji {build} została zakończona" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Nie znaleziono wybranego elementu magazynowego w BOM" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Budowa" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Ilość" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Lokalizacja" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Status" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Zakończone" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Zakończone" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "dni" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "Szablon" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1478 +#: common/models.py:1489 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:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1513 +#: common/models.py:1524 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:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "Format daty" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "Cena" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "Sekret" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "Zawartość" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "Dostawca" @@ -3322,7 +3334,7 @@ msgstr "Wybierz dostawcę" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "Opakowanie" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Klient" @@ -3509,7 +3521,7 @@ msgstr "Pobierz obraz" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Komponenty dostawcy" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "Usuń części" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Części producenta" @@ -3565,7 +3577,7 @@ msgstr "Zapasy dostawcy" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Zamówienia zakupu" @@ -3588,7 +3600,7 @@ msgstr "Nowe zamówienie zakupu" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "Informacja cenowa" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "Towary" @@ -3861,7 +3873,7 @@ msgstr "Klienci" msgid "New Customer" msgstr "Nowy klient" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "Firmy" @@ -3869,68 +3881,68 @@ msgstr "Firmy" msgid "New Company" msgstr "Nowa firma" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "Nazwa etykiety" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "Opis etykiety" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "Etykieta" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "Aktywne" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "Szerokość [mm]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "Wysokość [mm]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "Filtry" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "Cena zakupu" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Cena sprzedaży" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "Przesyłka" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "ID komponentu" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "Wersja" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "Słowa kluczowe" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "ID kategorii" @@ -4833,7 +4844,7 @@ msgstr "Ścieżka kategorii" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Części" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "IPN komponentu" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "Kategoria komponentu" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Kategorie części" @@ -4925,7 +4936,7 @@ msgstr "Kategorie części" msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "Data" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "Część jest wirtualna (nie fizyczna)" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "Nieaktywny" @@ -6258,8 +6269,8 @@ msgstr "Minimalny poziom stanu magazynowego" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "Ukryj szczegóły części" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "Cennik dostawcy" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -6771,100 +6782,100 @@ msgstr "Instalacja nie została potwierdzona" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "Nazwa szablonu" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "Filtr części" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "Cena jednostkowa" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "Zainstalowane elementy" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "Numer seryjny" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "ID lokalizacji" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "ID części dostawcy" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "Zainstalowane w" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "Data ważności" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" @@ -7058,7 +7068,7 @@ msgstr "Wybierz właściciela" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "Kurs wymiany" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "Aktualizuj teraz" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "Ostatnia Aktualizacja" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "Nigdy" @@ -8613,7 +8623,7 @@ msgstr "Potwierdź adres e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Proszę potwierdzić że %(email)s jest adresem e-mail dla użytkownika %(user_display)s." -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Potwierdź" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "Wybierz" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "Brak informacji o użytkowniku" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "Edytuj przedział cenowy" @@ -9716,61 +9726,61 @@ msgstr "Wyczyść wszystkie filtry" msgid "Create filter" msgstr "Utwórz filtr" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "Działanie zabronione" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "Operacja utworzenia nie jest dozwolona" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "Operacja aktualizacji nie jest dozwolona" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "Operacja usuwania nie jest dozwolona" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "Operacja przeglądania nie jest dozwolona" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "Pozostaw ten formularz otwarty" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "Wprowadź poprawny numer" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Istnieją błędy formularza" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "Nie znaleziono wyników" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "Wyszukiwanie" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "Wyczyść wejście" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "Kolumna pliku" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "Nazwa pola" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "Wybór Kolumn" @@ -9903,28 +9913,6 @@ msgstr "Serwer zwrócił kod błędu 400" msgid "Error requesting form data" msgstr "Błąd podczas żądania danych formularza" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "ID firmy" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "ID zamówienia" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "ID wysyłki" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "Brak kategorii" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "Wyświetl jako listę" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "Wyświetl jako drzewo" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "Edytuj ${human_name}" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "Usuń ${human_name}" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "Kod statusu musi być wybrany" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "Szczegóły" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "Lokalizacja już nie istnieje" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "Zamówienie zakupu już nie istnieje" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "Klient już nie istnieje" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "Element magazynowy już nie istnieje" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "Usunięto" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "Pokaż pełne wyniki wyszukiwania" msgid "Clear search" msgstr "Wyczyść wyszukiwanie" -#: templates/search.html:16 -msgid "Filter results" -msgstr "Filtruj wyniki" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "Zamknij menu wyszukiwania" -#: templates/search.html:35 -msgid "No search results" -msgstr "Brak wyników" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index db00b655fc..e23c0c40df 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-18 08:05\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:29\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "API endpoint não encontrado" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "Usuário não tem permissão para ver este modelo" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Detalhes do erro podem ser encontrados no painel de administrador" @@ -45,7 +49,7 @@ msgstr "Insira uma Data" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Anotações" @@ -212,7 +216,7 @@ msgstr "Anexo" msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Selecione arquivo para anexar" msgid "Link" msgstr "Link" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Link para URL externa" @@ -238,13 +242,13 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario sobre arquivo" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Usuario" @@ -285,9 +289,9 @@ msgstr "Nomes duplicados não podem existir sob o mesmo parental" msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Escolha inválida" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Nome" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Descricao" @@ -339,7 +343,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Caminho" @@ -679,7 +683,7 @@ msgstr "Separado do Item Paternal" msgid "Split child item" msgstr "Separar o Item filho" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Itens de estoque mesclados" @@ -755,11 +759,11 @@ msgstr "Informação do Sistema" msgid "About InvenTree" msgstr "Sobre o InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "Produção deve ser cancelada antes de ser deletada" msgid "Build Order" msgstr "Ondem de Produção" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Ordens de Produções" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Escolha de Produção parental inválida" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Referência do pedido de produção" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Referência" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Breve descrição da produção" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produção Progenitor" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Ordem de produção para qual este serviço está alocado" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Peça" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Selecionar peça para produção" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Referência do pedido de venda" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Ordem de Venda para qual esta produção está alocada" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Local de Origem" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecione a localização para pegar do estoque para esta produção (deixe em branco para tirar a partir de qualquer local de estoque)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Local de Destino" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Selecione o local onde os itens concluídos serão armazenados" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Quantidade de Produção" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Número de itens em estoque para produzir" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Itens concluídos" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Número de itens em estoque concluídos" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Progresso da produção" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Código de situação da produção" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Código de Lote" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Criado em" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Data alvo final" -#: build/models.py:258 +#: build/models.py:259 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:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Data de conclusão" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "Concluído em" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Emitido em" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Usuário que emitiu esta ordem de produção" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Usuário que emitiu esta ordem de produção" msgid "Responsible" msgstr "Responsável" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "Usuário ou grupo responsável para esta ordem de produção" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "Usuário ou grupo responsável para esta ordem de produção" msgid "External Link" msgstr "Link Externo" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Notas de produção complementares" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "Prioridade de Produção" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "Prioridade desta ordem de produção" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "O Pedido de produção {build} foi concluído!" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "Um pedido de produção foi concluído" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Nenhuma saída de produção especificada" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Saída de produção já completada" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde à Ordem de Produção" -#: build/models.py:1188 +#: build/models.py:1189 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:1197 +#: build/models.py:1198 #, 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:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "Quantidade deve ser 1 para estoque serializado" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Item do estoque selecionado não encontrado na LDM" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Produção" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "Faça uma Produção para atribuir peças" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "Faça uma Produção para atribuir peças" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Item de estoque" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Origem do item em estoque" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Origem do item em estoque" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Quantidade" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Destino do Item do Estoque" @@ -1186,8 +1190,8 @@ msgstr "Uma lista de saídas de produção deve ser fornecida" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Local" @@ -1201,8 +1205,8 @@ msgstr "Local para saídas de produção concluídas" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Situação" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Concluído" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Concluído" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Pedido de Venda" @@ -1527,9 +1531,9 @@ msgstr "Peças alocadas" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ 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:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "dias" @@ -2022,7 +2026,7 @@ 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:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "Modelo" @@ -2139,824 +2143,832 @@ 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:1220 -msgid "Pricing Decimal Places" -msgstr "Casas decimais de preço" +msgid "Minimum Pricing Decimal Places" +msgstr "Mínimo de Casas Decimais do Preço" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" -msgstr "Número de casas decimais a exibir quando renderizar dados de preços" +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:1231 +msgid "Maximum Pricing Decimal Places" +msgstr "Máximo Casas Decimais de Preço" + +#: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 msgid "Use Supplier Pricing" msgstr "Usar Preços do Fornecedor" -#: common/models.py:1232 +#: common/models.py:1243 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:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "Sobrescrever histórico de compra" -#: common/models.py:1239 +#: common/models.py:1250 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:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "Usar Preços do Item em Estoque" -#: common/models.py:1246 +#: common/models.py:1257 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:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "Idade do preço do Item em Estoque" -#: common/models.py:1253 +#: common/models.py:1264 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:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "Usar Preço Variável" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir preços variáveis nos cálculos de valores gerais" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "Apenas Ativar Variáveis" -#: common/models.py:1271 +#: common/models.py:1282 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:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "Intervalo de Reconstrução de Preços" -#: common/models.py:1278 +#: common/models.py:1289 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:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "Preços Internos" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "Habilitar preços internos para peças" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "Sobrepor Valor Interno" -#: common/models.py:1296 +#: common/models.py:1307 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:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "Ativar impressão de etiquetas" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "Ativar impressão de etiqueta pela interface da internet" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "DPI da Imagem na Etiqueta" -#: common/models.py:1310 +#: common/models.py:1321 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:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "Habilitar Relatórios" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "Ativar geração de relatórios" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "Modo de depuração" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "Gerar relatórios em modo de depuração (saída HTML)" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "Tamanho da página" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "Tamanho padrão da página PDF para relatórios" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "Ativar Relatórios Teste" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "Ativar geração de relatórios de teste" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "Anexar Relatórios de Teste" -#: common/models.py:1352 +#: common/models.py:1363 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:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "Seriais Únicos Globais" -#: common/models.py:1359 +#: common/models.py:1370 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:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "Preenchimento automático de Números Seriais" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "Preencher números de série automaticamente no formulário" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "Excluir Estoque Esgotado" -#: common/models.py:1373 +#: common/models.py:1384 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:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "Modelo de Código de Lote" -#: common/models.py:1380 +#: common/models.py:1391 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:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "Validade do Estoque" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "Ativar função de validade de estoque" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "Vender estoque expirado" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "Permitir venda de estoque expirado" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "Tempo de Estoque Inativo" -#: common/models.py:1400 +#: common/models.py:1411 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:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "Produzir Estoque Vencido" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "Permitir produção com estoque vencido" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "Controle de propriedade do estoque" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "Ativar controle de propriedade sobre locais e itens de estoque" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "Ícone padrão do local de estoque" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Produção" -#: common/models.py:1428 +#: common/models.py:1439 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:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Venda" -#: common/models.py:1435 +#: common/models.py:1446 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:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "Envio Padrão de Pedidos de Venda" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "Editar os Pedidos de Vendas concluídos" -#: common/models.py:1449 +#: common/models.py:1460 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:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Compras" -#: common/models.py:1456 +#: common/models.py:1467 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:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "Editar Pedidos de Compra Concluídos" -#: common/models.py:1463 +#: common/models.py:1474 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:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "Habitar esquecer senha" -#: common/models.py:1471 +#: common/models.py:1482 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:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "Habilitar cadastro" -#: common/models.py:1478 +#: common/models.py:1489 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:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "Ativar SSO" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "Ativar SSO na página de acesso" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "Ativar registro SSO" -#: common/models.py:1492 +#: common/models.py:1503 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:1498 +#: common/models.py:1509 msgid "Email required" msgstr "Email obrigatório" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "Exigir do usuário o e-mail no cadastro" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "Auto-preencher usuários SSO" -#: common/models.py:1506 +#: common/models.py:1517 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:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "Enviar email duplo" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "No registro pedir aos usuários duas vezes pelo email" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "Senha duas vezes" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "No registro pedir aos usuários duas vezes pela senha" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "Domínios permitidos" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "Grupo no cadastro" -#: common/models.py:1534 +#: common/models.py:1545 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:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "Forçar AMF" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "Os usuários devem usar uma segurança multifator." -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "Checar extensões no início" -#: common/models.py:1548 +#: common/models.py:1559 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:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "Checar assinaturas de extensões" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "Checar e mostrar assinaturas das extensões" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "Ativar integração URL" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "Ativar extensão para adicionar rotas URL" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "Ativar integração de navegação" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "Ativar extensões para integrar à navegação" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "Ativa integração com aplicativo" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "Ativar extensões para adicionar aplicativos" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "Ativar integração do calendário" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "Ativar extensões para executar tarefas agendadas" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "Ativar integração de eventos" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "Ativar extensões para responder a eventos internos" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "Funcionalidade de Balanço do Inventário" -#: common/models.py:1604 +#: common/models.py:1615 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:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "Período de Balanço Automático" -#: common/models.py:1611 +#: common/models.py:1622 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:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "Intervalo para Excluir o Relatório" -#: common/models.py:1621 +#: common/models.py:1632 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:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 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:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "Nenhuma impressora (Exportar para PDF)" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "Mostrar peças subscritas" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "Mostrar peças subscritas na tela inicial" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "Mostrar categorias subscritas" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorias de peças subscritas na tela inicial" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "Mostrar peças mais recentes" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "Mostrar as peças mais recentes na página inicial" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "Contagem de peças recentes" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "Número de peças recentes para mostrar no índice" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "Mostrar LDMs não validadas" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar LDMs que aguardam validação na página inicial" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "Mostrar alterações recentes de estoque" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar itens de estoque alterados recentemente na página inicial" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "Contagem de Estoque Recente" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "Número recentes itens do estoque para mostrar no índice" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "Mostrar baixo estoque" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "Mostrar itens de baixo estoque na página inicial" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "Mostrar estoque esgotado" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "Mostrar itens sem estoque na página inicial" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "Mostrar estoque necessário" -#: common/models.py:1742 +#: common/models.py:1753 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:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "Mostrar estoque expirado" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "Mostrar expirados itens em estoque na tela inicial" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "Mostrar estoque inativo" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "Mostrar estoque inativo na tela inicial" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "Mostrar produções pendentes" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "Mostrar produções pendentes na tela inicial" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "Mostrar produções atrasadas" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "Mostrar produções atrasadas na tela inicial" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "Mostrar pedidos de compra pendentes" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "Mostrar Pedidos de Compra atrasados" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "Mostrar pedidos de vendas pendentes" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "Mostrar Pedidos de Venda atrasados" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "Mostrar notícias" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "Mostrar notícias na tela inicial" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "Mostrar etiqueta em linha" -#: common/models.py:1812 +#: common/models.py:1823 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:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "Impressora de etiquetas padrão" -#: common/models.py:1819 +#: common/models.py:1830 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:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "Mostrar relatório em linha" -#: common/models.py:1826 +#: common/models.py:1837 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:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "Procurar Peças" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "Mostrar peças na janela de visualização de pesquisa" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "Buscar Peças do Fornecedor" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "Buscar peças do fabricante" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "Ocultar peças inativas" -#: common/models.py:1854 +#: common/models.py:1865 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:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "Pesquisar Categorias" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "Pesquisar Estoque" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "Ocultar itens do estoque indisponíveis" -#: common/models.py:1875 +#: common/models.py:1886 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:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "Procurar Locais" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "Pesquisar empresas" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "Mostrar empresas na janela de visualização de pesquisa" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "Procurar Pedidos de Produção" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "Mostrar Pedido de Compras" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "Não incluir Pedidos de Compras Inativos" -#: common/models.py:1910 +#: common/models.py:1921 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:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "Procurar Pedidos de Vendas" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "Não Incluir Pedidos de Compras Inativas" -#: common/models.py:1924 +#: common/models.py:1935 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:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "Mostrar Resultados Anteriores" -#: common/models.py:1931 +#: common/models.py:1942 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:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "Mostrar Quantidade nos Formulários" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "Tecla Esc Fecha Formulários" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "Usar a tecla Esc para fechar fomulários modais" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "Fixar Navbar" -#: common/models.py:1952 +#: common/models.py:1963 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:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "Formato da data" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar datas" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Agendamento de peças" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "Mostrar informações de agendamento de peças" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Balanço de Peça" -#: common/models.py:1981 +#: common/models.py:1992 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:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "Comprimento da Tabela de Frases" -#: common/models.py:1988 +#: common/models.py:1999 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:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "Preço" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "Nome para este webhook" msgid "Active" msgstr "Ativo" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "Token" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "Segredo" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "Servidor" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "Corpo" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "Id" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "Título" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "Publicado" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "Resumo" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "Lida" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" @@ -3309,7 +3321,7 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "Fornecedor" @@ -3322,7 +3334,7 @@ msgstr "Selecione o fornecedor" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "Código (SKU)" @@ -3363,7 +3375,7 @@ msgstr "Taxa mínima (ex.: taxa de estoque)" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "Embalagem" @@ -3397,7 +3409,7 @@ msgstr "Pedir múltiplos" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "Excluir imagem" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Cliente" @@ -3509,7 +3521,7 @@ msgstr "Baixar Imagem" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Peças do Fornecedor" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "Excluir Peças" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Fabricantes de peças" @@ -3565,7 +3577,7 @@ msgstr "Estoque do Fornecedor" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Pedidos de compra" @@ -3588,7 +3600,7 @@ msgstr "Novo Pedido de Compra" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "Pedidos de vendas" @@ -3657,7 +3669,7 @@ msgstr "Excluir peças do fornecedor" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "Itens de Estoque atribuídos" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "Fornecedor da Peça" @@ -3811,7 +3823,7 @@ msgstr "Informações de Preço" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Adicionar parcela de preço" @@ -3835,7 +3847,7 @@ msgstr "Atualizar disponibilidade de peças" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "Itens de Estoque" @@ -3861,7 +3873,7 @@ msgstr "Clientes" msgid "New Customer" msgstr "Novo Cliente" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "Empresas" @@ -3869,68 +3881,68 @@ msgstr "Empresas" msgid "New Company" msgstr "Nova Empresa" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "Nome da etiqueta" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "Descrição da etiqueta" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "Etiqueta" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "Arquivo de modelo de etiqueta" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "Habilitado" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "Modelo de Etiqueta Habilitado" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "Largura [mm]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "Largura da etiqueta, em mm" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "Altura [mm]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "Altura da Etiqueta, em mm" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "Padrão de Nome de Arquivo" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "Padrão para gerar nomes do arquivo das etiquetas" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Filtros de consulta (lista de valores separados por vírgula)," -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "Filtros" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Filtros de consulta (lista de valores separados por vírgula" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Filtros de consulta de peça (lista de valores separados por vírgula)" @@ -3938,7 +3950,7 @@ msgstr "Filtros de consulta de peça (lista de valores separados por vírgula)" msgid "No matching purchase order found" msgstr "Nenhum pedido de compra correspondente encontrado" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "Nenhum pedido de compra correspondente encontrado" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "Desconhecido" @@ -4139,7 +4151,7 @@ msgstr "Número de itens recebidos" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "Preço de Compra" @@ -4160,7 +4172,7 @@ 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:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Preço de Venda" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "Remessa" @@ -4727,7 +4739,7 @@ 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:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "ID da Peça" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "Revisão" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "Palavras chave" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "ID da Categoria" @@ -4833,7 +4844,7 @@ msgstr "Caminho da Categoria" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Peças" @@ -4854,13 +4865,13 @@ msgstr "IPN Paternal" msgid "Part IPN" msgstr "IPN da Peça" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "Preço Mínimo" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "Preço Máximo" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "Categoria da Peça" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Categorias de Peça" @@ -4925,7 +4936,7 @@ msgstr "Categorias de Peça" msgid "Default location for parts in this category" msgstr "Local padrão para peças desta categoria" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "Estoque total disponível no momento do balanço" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "Data" @@ -5533,7 +5544,7 @@ msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" #: part/models.py:3710 part/models.py:3712 msgid "Sub part must be specified" -msgstr "" +msgstr "Sub peça deve ser especificada" #: part/models.py:3828 msgid "BOM Item Substitute" @@ -5984,7 +5995,7 @@ msgstr "Adicionar informações de balanço de estoque" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "Balanço" @@ -6051,221 +6062,221 @@ msgstr "Carregar LDM" #: part/templates/part/detail.html:297 msgid "Validate BOM" -msgstr "" +msgstr "Validar LDM" #: part/templates/part/detail.html:302 part/templates/part/detail.html:303 #: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276 msgid "Add BOM Item" -msgstr "" +msgstr "Adicionar Item LDM" #: part/templates/part/detail.html:316 msgid "Assemblies" -msgstr "" +msgstr "Montagens" #: part/templates/part/detail.html:334 msgid "Part Builds" -msgstr "" +msgstr "Produções de peça" #: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 msgid "Build Order Allocations" -msgstr "" +msgstr "Alocações de Pedido de Produção" #: part/templates/part/detail.html:377 msgid "Part Suppliers" -msgstr "" +msgstr "Fornecedores da peça" #: part/templates/part/detail.html:407 msgid "Part Manufacturers" -msgstr "" +msgstr "Fabricantes da peça" #: part/templates/part/detail.html:423 msgid "Delete manufacturer parts" -msgstr "" +msgstr "Apagar peças do fabricante" #: part/templates/part/detail.html:703 msgid "Related Part" -msgstr "" +msgstr "Peça Relacionada" #: part/templates/part/detail.html:711 msgid "Add Related Part" -msgstr "" +msgstr "Adicionar peça relacionada" #: part/templates/part/detail.html:799 msgid "Add Test Result Template" -msgstr "" +msgstr "Adicionar Modelo de Resultado de Teste" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 msgid "Insufficient privileges." -msgstr "" +msgstr "Permissões insuficientes." #: part/templates/part/import_wizard/part_upload.html:8 msgid "Return to Parts" -msgstr "" +msgstr "Retornar para Peças" #: part/templates/part/import_wizard/part_upload.html:13 msgid "Import Parts from File" -msgstr "" +msgstr "Importar Peças de um Arquivo" #: part/templates/part/import_wizard/part_upload.html:31 msgid "Requirements for part import" -msgstr "" +msgstr "Requerimentos para importar peça" #: part/templates/part/import_wizard/part_upload.html:33 msgid "The part import file must contain the required named columns as provided in the " -msgstr "" +msgstr "O arquivo para importar peças deve conter as colunas nomeadas como fornecido na " #: part/templates/part/import_wizard/part_upload.html:33 msgid "Part Import Template" -msgstr "" +msgstr "Modelo de importação de Peças" #: part/templates/part/import_wizard/part_upload.html:89 msgid "Download Part Import Template" -msgstr "" +msgstr "Baixar Modelo de Importação de Peça" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 #: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 msgid "Format" -msgstr "" +msgstr "Formato" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 #: templates/js/translated/order.js:1088 msgid "Select file format" -msgstr "" +msgstr "Selecione o formato de arquivo" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "" +msgstr "Lista de Peças" #: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 msgid "You are subscribed to notifications for this part" -msgstr "" +msgstr "Você está inscrito para notificações desta peça" #: part/templates/part/part_base.html:35 msgid "Subscribe to notifications for this part" -msgstr "" +msgstr "Inscrever-se para notificações desta peça" #: part/templates/part/part_base.html:49 msgid "Unink Barcode" -msgstr "" +msgstr "Desatribuir Código de Barras" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 #: stock/templates/stock/location.html:73 msgid "Print Label" -msgstr "" +msgstr "Imprimir Etiqueta" #: part/templates/part/part_base.html:60 msgid "Show pricing information" -msgstr "" +msgstr "Mostrar informações de preços" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 #: stock/templates/stock/location.html:81 msgid "Stock actions" -msgstr "" +msgstr "Ações de Estoque" #: part/templates/part/part_base.html:72 msgid "Count part stock" -msgstr "" +msgstr "Contagem peça em estoque" #: part/templates/part/part_base.html:78 msgid "Transfer part stock" -msgstr "" +msgstr "Transferir estoque de peça" #: part/templates/part/part_base.html:93 msgid "Part actions" -msgstr "" +msgstr "Ações de peça" #: part/templates/part/part_base.html:96 msgid "Duplicate part" -msgstr "" +msgstr "Peça duplicada" #: part/templates/part/part_base.html:99 msgid "Edit part" -msgstr "" +msgstr "Editar peça" #: part/templates/part/part_base.html:102 msgid "Delete part" -msgstr "" +msgstr "Excluir peça" #: part/templates/part/part_base.html:121 msgid "Part is a template part (variants can be made from this part)" -msgstr "" +msgstr "Esta é uma peça modelo (as variantes podem ser feitas a partir desta peça)" #: part/templates/part/part_base.html:125 msgid "Part can be assembled from other parts" -msgstr "" +msgstr "Peças pode ser montada a partir de outras peças" #: part/templates/part/part_base.html:129 msgid "Part can be used in assemblies" -msgstr "" +msgstr "Peça pode ser usada em montagens" #: part/templates/part/part_base.html:133 msgid "Part stock is tracked by serial number" -msgstr "" +msgstr "Peça em estoque é controlada por número de série" #: part/templates/part/part_base.html:137 msgid "Part can be purchased from external suppliers" -msgstr "" +msgstr "Peça pode ser comprada de fornecedores externos" #: part/templates/part/part_base.html:141 msgid "Part can be sold to customers" -msgstr "" +msgstr "Peça pode ser vendida a clientes" #: part/templates/part/part_base.html:147 #: part/templates/part/part_base.html:155 msgid "Part is virtual (not a physical part)" -msgstr "" +msgstr "Peça é virtual (não é algo físico)" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" -msgstr "" +msgstr "Inativo" #: part/templates/part/part_base.html:165 #: part/templates/part/part_base.html:687 msgid "Show Part Details" -msgstr "" +msgstr "Mostrar Detalhes de Peça" #: part/templates/part/part_base.html:183 #, python-format msgid "This part is a variant of %(link)s" -msgstr "" +msgstr "Esta peça é uma variante de %(link)s" #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:385 msgid "Allocated to Build Orders" -msgstr "" +msgstr "Alocado para Pedidos de Construção" #: part/templates/part/part_base.html:230 #: stock/templates/stock/item_base.html:378 msgid "Allocated to Sales Orders" -msgstr "" +msgstr "Alocado para Pedidos de Venda" #: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 msgid "Can Build" -msgstr "" +msgstr "Pode Produzir" #: part/templates/part/part_base.html:294 msgid "Minimum stock level" -msgstr "" +msgstr "Nível mínimo de estoque" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" -msgstr "" +msgstr "Faixa de Preço" #: part/templates/part/part_base.html:361 msgid "Latest Serial Number" -msgstr "" +msgstr "Último Número de Série" #: part/templates/part/part_base.html:365 #: stock/templates/stock/item_base.html:334 @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "Esconder Detalhes da Peça" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "Preço do fornecedor" @@ -6394,7 +6405,7 @@ msgstr "Atualizar Preço da Peça" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "Última atualização" @@ -6489,66 +6500,66 @@ msgstr "Enviar Dados LDM" #: part/templates/part/upload_bom.html:37 msgid "Requirements for BOM upload" -msgstr "" +msgstr "Requisitos para carregar a LDM" #: part/templates/part/upload_bom.html:39 msgid "The BOM file must contain the required named columns as provided in the " -msgstr "" +msgstr "O arquivo da LDM deve conter as colunas nomeadas como fornecido na " #: part/templates/part/upload_bom.html:39 msgid "BOM Upload Template" -msgstr "" +msgstr "Carregar Modelo de LDM" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "" +msgstr "Cada peça deve existir no banco de dados" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" -msgstr "" +msgstr "Criar variante de peça" #: part/templates/part/variant_part.html:10 #, python-format msgid "Create a new variant of template '%(full_name)s'." -msgstr "" +msgstr "Criar uma nova variante do modelo '%(full_name)s'." #: part/templatetags/inventree_extras.py:187 msgid "Unknown database" -msgstr "" +msgstr "Banco de dados desconhecido" #: part/templatetags/inventree_extras.py:239 #, python-brace-format msgid "{title} v{version}" -msgstr "" +msgstr "{title} v{version}" #: part/views.py:110 msgid "Match References" -msgstr "" +msgstr "Referências de combinações" #: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" -msgstr "" +msgstr "Não é possível importar a peça {name} pois não há uma categoria atribuída" #: part/views.py:379 msgid "Select Part Image" -msgstr "" +msgstr "Selecionar Imagem da Peça" #: part/views.py:405 msgid "Updated part image" -msgstr "" +msgstr "Atualizar imagem da peça" #: part/views.py:408 msgid "Part image not found" -msgstr "" +msgstr "Imagem da peça não encontrada" #: part/views.py:503 msgid "Part Pricing" -msgstr "" +msgstr "Preço Peça" #: plugin/apps.py:55 msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" +msgstr "Seu ambiente tem uma versão git desatualizada. Isto impede que o InvenTree carregue detalhes da extensão." #: plugin/base/action/api.py:27 msgid "No action specified" @@ -6560,102 +6571,102 @@ msgstr "Nenhuma ação correspondente encontrada" #: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 msgid "Missing barcode data" -msgstr "" +msgstr "Faltando dados do código de barras" #: plugin/base/barcodes/api.py:80 msgid "No match found for barcode data" -msgstr "" +msgstr "Nenhum resultado encontrado para os dados do código de barras" #: plugin/base/barcodes/api.py:84 msgid "Match found for barcode data" -msgstr "" +msgstr "Coincidência encontrada para dados de código de barras" #: plugin/base/barcodes/api.py:120 msgid "Barcode matches existing item" -msgstr "" +msgstr "Código de barras corresponde ao item existente" #: plugin/base/barcodes/api.py:217 msgid "No match found for provided value" -msgstr "" +msgstr "Nenhuma correspondência encontrada para o valor fornecido" #: plugin/base/label/label.py:60 msgid "Label printing failed" -msgstr "" +msgstr "Impressão de etiqueta falhou" #: plugin/builtin/barcodes/inventree_barcode.py:26 msgid "InvenTree Barcodes" -msgstr "" +msgstr "Códigos de Barras InvenTree" #: plugin/builtin/barcodes/inventree_barcode.py:27 msgid "Provides native support for barcodes" -msgstr "" +msgstr "Fornece suporte nativo para códigos de barras" #: plugin/builtin/barcodes/inventree_barcode.py:29 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" -msgstr "" +msgstr "Contribuidores do InvenTree" #: plugin/builtin/integration/core_notifications.py:32 msgid "InvenTree Notifications" -msgstr "" +msgstr "Notificações do InvenTree" #: plugin/builtin/integration/core_notifications.py:34 msgid "Integrated outgoing notificaton methods" -msgstr "" +msgstr "Métodos de envio de notificação integrados" #: plugin/builtin/integration/core_notifications.py:39 #: plugin/builtin/integration/core_notifications.py:80 msgid "Enable email notifications" -msgstr "" +msgstr "Habilitar notificações por email" #: plugin/builtin/integration/core_notifications.py:40 #: plugin/builtin/integration/core_notifications.py:81 msgid "Allow sending of emails for event notifications" -msgstr "" +msgstr "Permitir enviar emails para notificações de eventos" #: plugin/builtin/integration/core_notifications.py:45 msgid "Enable slack notifications" -msgstr "" +msgstr "Habilitar notificações por Slack" #: plugin/builtin/integration/core_notifications.py:46 msgid "Allow sending of slack channel messages for event notifications" -msgstr "" +msgstr "Permitir envio de notificações de eventos pelo canal de mensagens do slack" #: plugin/builtin/integration/core_notifications.py:51 msgid "Slack incoming webhook url" -msgstr "" +msgstr "Link do gancho de entrada do Slack" #: plugin/builtin/integration/core_notifications.py:52 msgid "URL that is used to send messages to a slack channel" -msgstr "" +msgstr "URL usada para enviar mensagens para um canal do Slack" #: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" -msgstr "" +msgstr "Abrir link" #: plugin/models.py:33 msgid "Plugin Metadata" -msgstr "" +msgstr "Metadados da Extensão" #: plugin/models.py:34 msgid "JSON metadata field, for use by external plugins" -msgstr "" +msgstr "Campo de metadados JSON, para uso por extensões externas" #: plugin/models.py:80 msgid "Plugin Configuration" -msgstr "" +msgstr "Configuração de Extensão" #: plugin/models.py:81 msgid "Plugin Configurations" -msgstr "" +msgstr "Configuração de Extensões" #: plugin/models.py:86 templates/InvenTree/settings/plugin.html:61 msgid "Key" -msgstr "" +msgstr "Chave" #: plugin/models.py:87 msgid "Key of plugin" -msgstr "" +msgstr "Chave da extensão" #: plugin/models.py:95 msgid "PluginName of the plugin" @@ -6663,446 +6674,445 @@ msgstr "" #: plugin/models.py:101 msgid "Is the plugin active" -msgstr "" +msgstr "O plug-in está ativo" #: plugin/models.py:133 templates/InvenTree/settings/plugin_details.html:47 msgid "Unvailable" -msgstr "" +msgstr "Indisponível" #: plugin/models.py:164 msgid "Sample plugin" -msgstr "" +msgstr "Plug-in de exemplo" #: plugin/models.py:173 msgid "Builtin Plugin" -msgstr "" +msgstr "Plugin embutido" #: plugin/models.py:198 templates/InvenTree/settings/plugin_settings.html:10 msgid "Plugin" -msgstr "" +msgstr "Extensões" #: plugin/models.py:263 msgid "Method" -msgstr "" +msgstr "Método" #: plugin/plugin.py:257 msgid "No author found" -msgstr "" +msgstr "Nenhum autor encontrado" #: plugin/plugin.py:269 msgid "No date found" -msgstr "" +msgstr "Nenhum dado encontrado" #: plugin/registry.py:450 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" -msgstr "" +msgstr "O plugin `{plg_name}` não é compatível com a versão atual do InvenTree {version.inventreeVersion()}!" #: plugin/registry.py:452 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" -msgstr "" +msgstr "Extensão requer pelo menos a versão {plg_i.MIN_VERSION}" #: plugin/registry.py:454 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" -msgstr "" +msgstr "Extensão requer no máximo a versão {plg_i.MAX_VERSION}" #: plugin/samples/integration/sample.py:39 msgid "Enable PO" -msgstr "" +msgstr "Ativar PO" #: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" -msgstr "" +msgstr "Ativar a funcionalidade PO na interface InvenTree" #: plugin/samples/integration/sample.py:45 msgid "API Key" -msgstr "" +msgstr "Chave API" #: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" -msgstr "" +msgstr "Chave necessária para acesso à API externa" #: plugin/samples/integration/sample.py:49 msgid "Numerical" -msgstr "" +msgstr "Numérico" #: plugin/samples/integration/sample.py:50 msgid "A numerical setting" -msgstr "" +msgstr "Uma configuração numérica" #: plugin/samples/integration/sample.py:55 msgid "Choice Setting" -msgstr "" +msgstr "Configurações de Escolha" #: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" -msgstr "" +msgstr "Uma configuração com várias escolhas" #: plugin/serializers.py:81 msgid "Source URL" -msgstr "" +msgstr "URL de origem" #: plugin/serializers.py:82 msgid "Source for the package - this can be a custom registry or a VCS path" -msgstr "" +msgstr "Fonte do pacote — este pode ser um registro personalizado ou um caminho de VCS" #: plugin/serializers.py:87 msgid "Package Name" -msgstr "" +msgstr "Nome do Pacote" #: plugin/serializers.py:88 msgid "Name for the Plugin Package - can also contain a version indicator" -msgstr "" +msgstr "Nome para o Pacote da Extensão — também pode conter um indicador de versão" #: plugin/serializers.py:91 msgid "Confirm plugin installation" -msgstr "" +msgstr "Confirmar instalação da extensão" #: plugin/serializers.py:92 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." -msgstr "" +msgstr "Isto instalará a extensão agora na instância atual. A instância irá entrar em manutenção." #: plugin/serializers.py:104 msgid "Installation not confirmed" -msgstr "" +msgstr "Instalação não confirmada" #: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" -msgstr "" +msgstr "Qualquer nome do pacote URL deve ser fornecido" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" -msgstr "" +msgstr "Nenhum objeto válido fornecido para o modelo" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" -msgstr "" +msgstr "Arquivo modelo '{template}' perdido ou não existe" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" -msgstr "" +msgstr "Relatório de teste" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" -msgstr "" +msgstr "Nome do modelo" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" -msgstr "" +msgstr "Arquivo modelo de relatório" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" -msgstr "" +msgstr "Descrição do modelo de relatório" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" -msgstr "" +msgstr "Relatar número de revisão (auto-incrementos)" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" -msgstr "" +msgstr "Padrão para gerar nomes de arquivo de relatórios" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" -msgstr "" +msgstr "Modelo de relatório Habilitado" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: report/models.py:288 -msgid "Include Installed Tests" -msgstr "" +msgstr "Filtros de consulta de itens de estoque(lista de valores separados por vírgula)" #: report/models.py:289 -msgid "Include test results for stock items installed inside assembled item" -msgstr "" +msgid "Include Installed Tests" +msgstr "Incluir testes instalados" -#: report/models.py:336 -msgid "Build Filters" -msgstr "" +#: report/models.py:290 +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:337 -msgid "Build query filters (comma-separated list of key=value pairs" -msgstr "" +msgid "Build Filters" +msgstr "Filtros de Produção" -#: report/models.py:376 -msgid "Part Filters" -msgstr "" +#: report/models.py:338 +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:377 +msgid "Part Filters" +msgstr "Filtros de Peças" + +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" -msgstr "" +msgstr "Filtros de consulta de peças (lista de valores separados por vírgula" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" -msgstr "" +msgstr "Filtros de consultas de pedidos de compra" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" -msgstr "" - -#: report/models.py:501 -msgid "Snippet" -msgstr "" +msgstr "Filtros de consultas de pedidos de venda" #: report/models.py:502 +msgid "Snippet" +msgstr "Recorte" + +#: report/models.py:503 msgid "Report snippet file" -msgstr "" +msgstr "Relatar arquivo de recorte" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" -msgstr "" - -#: report/models.py:543 -msgid "Asset" -msgstr "" +msgstr "Descrição do arquivo de recorte" #: report/models.py:544 -msgid "Report asset file" -msgstr "" +msgid "Asset" +msgstr "Ativos" -#: report/models.py:551 +#: report/models.py:545 +msgid "Report asset file" +msgstr "Reportar arquivo de ativos" + +#: report/models.py:552 msgid "Asset file description" -msgstr "" +msgstr "Descrição do arquivo de ativos" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" -msgstr "" +msgstr "Materiais necessários" #: report/templates/report/inventree_build_order_base.html:146 msgid "Required For" -msgstr "" +msgstr "Necessário para" #: report/templates/report/inventree_po_report_base.html:77 msgid "Supplier was deleted" -msgstr "" +msgstr "Fornecedor foi excluído" #: report/templates/report/inventree_po_report_base.html:92 #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" -msgstr "" +msgstr "Preço unitário" #: report/templates/report/inventree_po_report_base.html:117 #: report/templates/report/inventree_so_report_base.html:118 msgid "Extra Line Items" -msgstr "" +msgstr "Extra Itens de Linha" #: report/templates/report/inventree_po_report_base.html:134 #: report/templates/report/inventree_so_report_base.html:135 #: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 msgid "Total" -msgstr "" +msgstr "Total" #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" -msgstr "" +msgstr "Relatório Teste do Item em Estoque" #: report/templates/report/inventree_test_report_base.html:79 #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" -msgstr "" +msgstr "Número de Sério" #: report/templates/report/inventree_test_report_base.html:88 msgid "Test Results" -msgstr "" +msgstr "Resultados do teste" #: report/templates/report/inventree_test_report_base.html:93 #: stock/models.py:2178 templates/js/translated/stock.js:1415 msgid "Test" -msgstr "" +msgstr "Teste" #: report/templates/report/inventree_test_report_base.html:94 #: stock/models.py:2184 msgid "Result" -msgstr "" +msgstr "Resultado" #: report/templates/report/inventree_test_report_base.html:108 msgid "Pass" -msgstr "" +msgstr "Aprovado" #: report/templates/report/inventree_test_report_base.html:110 msgid "Fail" -msgstr "" +msgstr "Não Aprovado" #: report/templates/report/inventree_test_report_base.html:123 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" -msgstr "" +msgstr "Itens instalados" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" -msgstr "" +msgstr "ID do local" #: stock/admin.py:40 stock/admin.py:109 msgid "Location Name" -msgstr "" +msgstr "Nome do Local" #: stock/admin.py:44 stock/templates/stock/location.html:129 #: stock/templates/stock/location.html:135 msgid "Location Path" -msgstr "" +msgstr "Caminho do local" #: stock/admin.py:100 msgid "Stock Item ID" -msgstr "" +msgstr "ID do item estoque" #: stock/admin.py:107 msgid "Status Code" msgstr "Código da situação" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" -msgstr "" +msgstr "Número da Peça do Fornecedor" #: stock/admin.py:111 msgid "Supplier ID" -msgstr "" +msgstr "ID do Fornecedor" #: stock/admin.py:112 msgid "Supplier Name" -msgstr "" +msgstr "Nome do Fornecedor" #: stock/admin.py:113 msgid "Customer ID" -msgstr "" +msgstr "ID Cliente" #: stock/admin.py:114 stock/models.py:702 #: stock/templates/stock/item_base.html:362 msgid "Installed In" -msgstr "" +msgstr "Instalado em" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" -msgstr "" +msgstr "ID da Produção" #: stock/admin.py:117 msgid "Sales Order ID" -msgstr "" +msgstr "ID do pedido de venda" #: stock/admin.py:118 msgid "Purchase Order ID" -msgstr "" +msgstr "ID da ordem de compra" #: stock/admin.py:125 msgid "Review Needed" -msgstr "" +msgstr "Revisão Necessária" #: stock/admin.py:126 msgid "Delete on Deplete" -msgstr "" +msgstr "Excluir quando esgotado" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" -msgstr "" +msgstr "Data de validade" #: stock/api.py:424 templates/js/translated/table_filters.js:297 msgid "External Location" -msgstr "" +msgstr "Localização externa" #: stock/api.py:585 msgid "Quantity is required" -msgstr "" +msgstr "Quantidade obrigatória" #: stock/api.py:592 msgid "Valid part must be supplied" -msgstr "" +msgstr "Uma peça válida deve ser fornecida" #: stock/api.py:617 msgid "Serial numbers cannot be supplied for a non-trackable part" -msgstr "" +msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" #: stock/models.py:53 stock/models.py:686 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" -msgstr "" +msgstr "Localizacao do estoque" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" -msgstr "" +msgstr "Locais de estoque" #: stock/models.py:113 stock/models.py:816 #: stock/templates/stock/item_base.html:253 msgid "Owner" -msgstr "" +msgstr "Responsavel" #: stock/models.py:114 stock/models.py:817 msgid "Select Owner" -msgstr "" +msgstr "Selecionar Responsável" #: stock/models.py:121 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" +msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos." -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" -msgstr "" +msgstr "Externo" #: stock/models.py:128 msgid "This is an external stock location" -msgstr "" +msgstr "Esta é uma localização de estoque externo" #: stock/models.py:170 msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" +msgstr "Você não pode tornar este local do estoque estrutural, pois alguns itens de estoque já estão localizados nele!" #: stock/models.py:551 msgid "Stock items cannot be located into structural stock locations!" -msgstr "" +msgstr "Os itens de estoque não podem estar localizados em locais de estoque estrutural!" #: stock/models.py:577 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" -msgstr "" +msgstr "Item de estoque não pode ser criado para peças virtuais" #: stock/models.py:594 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" -msgstr "" +msgstr "Tipo da peça ('{pf}') deve ser {pe}" #: stock/models.py:604 stock/models.py:613 msgid "Quantity must be 1 for item with a serial number" -msgstr "" +msgstr "A quantidade deve ser 1 para um item com número de série" #: stock/models.py:605 msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" +msgstr "Número de série não pode ser definido se quantidade maior que 1" #: stock/models.py:627 msgid "Item cannot belong to itself" -msgstr "" +msgstr "O item não pode pertencer a si mesmo" #: stock/models.py:633 msgid "Item must have a build reference if is_building=True" -msgstr "" +msgstr "Item deve ter uma referência de produção se is_building=True" #: stock/models.py:647 msgid "Build reference does not point to the same part object" -msgstr "" +msgstr "Referência de produção não aponta ao mesmo objeto da peça" #: stock/models.py:661 msgid "Parent Stock Item" @@ -7138,15 +7148,15 @@ msgstr "" #: stock/models.py:740 msgid "Stock Quantity" -msgstr "" +msgstr "Quantidade de Estoque" #: stock/models.py:747 msgid "Source Build" -msgstr "" +msgstr "Produção de Origem" #: stock/models.py:749 msgid "Build for this stock item" -msgstr "" +msgstr "Produção para este item de estoque" #: stock/models.py:760 msgid "Source Purchase Order" @@ -7154,27 +7164,27 @@ msgstr "" #: stock/models.py:763 msgid "Purchase order for this stock item" -msgstr "" +msgstr "Pedido de Compra para este item de estoque" #: stock/models.py:769 msgid "Destination Sales Order" -msgstr "" +msgstr "Destino do Pedido de Venda" #: stock/models.py:776 msgid "Expiry date for stock item. Stock will be considered expired after this date" -msgstr "" +msgstr "Data de validade para o item de estoque. Estoque será considerado expirado após este dia" #: stock/models.py:791 msgid "Delete on deplete" -msgstr "" +msgstr "Excluir quando esgotado" #: stock/models.py:791 msgid "Delete this Stock Item when stock is depleted" -msgstr "" +msgstr "Excluir este item de estoque quando o estoque for esgotado" #: stock/models.py:804 stock/templates/stock/item.html:132 msgid "Stock Item Notes" -msgstr "" +msgstr "Notas de Item Estoque" #: stock/models.py:812 msgid "Single unit purchase price at time of purchase" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Confirmar" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "Situação do Estoque" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "Definir Estado do Estoque" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "Selecionar Código de Situação" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "Código de Situação deve ser selecionado" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 1c8a8ab429..250ca230ca 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Подробности об ошибке можно найти в панели администратора" @@ -45,7 +49,7 @@ msgstr "Введите дату" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Заметки" @@ -212,7 +216,7 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Выберите файл для вложения" msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -238,13 +242,13 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Пользователь" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Неверный выбор" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Название" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Название" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Описание" @@ -339,7 +343,7 @@ msgid "parent" msgstr "родитель" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Путь" @@ -679,7 +683,7 @@ msgstr "Отделить от родительского элемента" msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Объединенные позиции на складе" @@ -755,11 +759,11 @@ msgstr "Информация о системе" msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "" msgid "Build Order" msgstr "Порядок сборки" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Порядок сборки" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Ссылка на заказ" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Отсылка" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Краткое описание сборки" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Родительская сборка" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Детали" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Выберите часть для сборки" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Отсылка на заказ" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Расположение источника" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Место назначения" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Выберите место хранения завершенных элементов" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Количество сборки" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Количество складских предметов для сборки" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Завершенные предметы" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Количество предметов на складе, которые были завершены" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Статус сборки" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Код статуса сборки" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Целевая дата завершения" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Дата завершения" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "выполнено" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Выдал/ла" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Пользователь, выпустивший этот заказ на сборку" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Пользователь, выпустивший этот заказ н msgid "Responsible" msgstr "Ответственный" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Дополнительные заметки к сборке" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Вывод сборки не указан" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Вывод сборки уже завершен" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "Вывод сборки не совпадает с порядком сборки" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Выбранная единица хранения не найдена в BOM" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Сборка" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Предметы на складе" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Исходный складской предмет" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Исходный складской предмет" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Исходный складской предмет" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Количество" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Установить в" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Расположение" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Статус" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Завершённые" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Завершённые" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Заказ покупателя" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "Шаблон" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "Цена" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "Поставщик" @@ -3322,7 +3334,7 @@ msgstr "Выберите поставщика" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "Упаковка" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Покупатель" @@ -3509,7 +3521,7 @@ msgstr "Скачать изображение" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Детали поставщиков" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "Удалить детали" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Детали производителей" @@ -3565,7 +3577,7 @@ msgstr "Склад поставщика" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Заказы на закупку" @@ -3588,7 +3600,7 @@ msgstr "Новый заказ на закупку" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "Заказы на продажу" @@ -3657,7 +3669,7 @@ msgstr "Удалить деталь поставщика" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "Деталь поставщика" @@ -3811,7 +3823,7 @@ msgstr "Информация о цене" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "Детали на складе" @@ -3861,7 +3873,7 @@ msgstr "Покупатели" msgid "New Customer" msgstr "Новый покупатель" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "Компании" @@ -3869,68 +3881,68 @@ msgstr "Компании" msgid "New Company" msgstr "Новая компания" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "Ширина [мм]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "Высота [мм]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "Фильтры" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "Закупочная цена" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Цена продажи" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "Артикул" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "Версия" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "Ключевые слова" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "Код категории" @@ -4833,7 +4844,7 @@ msgstr "Путь к категории" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Детали" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "IPN" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "Категория детали" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "Минимальный складской запас" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "Название шаблона" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "Файл шаблона отчёта" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "Код места хранения" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "Код детали поставщика" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "Код сборки" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "Место хранения" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "Места хранения" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "Установленные единицы хранения" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "Установить единицу хранения" @@ -8161,20 +8171,20 @@ msgstr "Настройки заказа на закупку" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "Подтверждение адреса электронной почт msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Пожалуйста, подтвердите, что %(email)s является адресом электронной почты пользователя %(user_display)s." -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Подтвердить" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "Удалить деталь поставщика" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "Операция создания не разрешена" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "Операция обновления не разрешена" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "Операция удаления не разрешена" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "Операция просмотра не разрешена" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Форма содержит ошибки" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "Не найдено" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "Сервер вернул код ошибки 400" msgid "Error requesting form data" msgstr "Ошибка запроса данных формы" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "Код компании" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "Код склада" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "Код заказа" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "Код детали производителя" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "Нет категории" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "Список" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "Дерево" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "Выберите заказ на продажу" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index 9bb3dee094..5814b1194b 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "API vmesnik ni najden" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Napaka, podrobnosti vidne v pogledu administratorja" @@ -45,7 +49,7 @@ msgstr "Vnesi datum" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Zapiski" @@ -212,7 +216,7 @@ msgstr "Priloga" msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Izberite prilogo" msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -238,13 +242,13 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Uporabnik" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Nedovoljena izbira" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Ime" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Opis" @@ -339,7 +343,7 @@ msgid "parent" msgstr "nadrejen" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Pot" @@ -679,7 +683,7 @@ msgstr "Razdeljena od nadrejene postavke" msgid "Split child item" msgstr "Razdeljena podrejena postavka" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Združena zaloga postavk" @@ -755,11 +759,11 @@ msgstr "Sistemske informacije" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" msgid "Build Order" msgstr "Nalog izgradnje" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Nalogi izgradnje" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Neveljavna izbira za nadrejeno izgradnjo" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Referenca naloga izgradnje" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Referenca" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Kratek opis izgradnje" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadrejena izgradnja" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Del" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Izberite del za izgradnjo" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Referenca dobavnica" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Lokacija vira" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Izberite lokacijo dela za to izgradnjo (v primeru da ni pomembno pusti prazno)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Ciljna lokacija" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Izberite lokacijo, kjer bodo končne postavke shranjene" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Količina izgradenj" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Število postavk za izgradnjo" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Končane postavke" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Število postavk zaloge, ki so bile končane" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Status izgradnje" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Datum ustvarjenja" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Rok dokončanja" -#: build/models.py:258 +#: build/models.py:259 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:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Datom končanja" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "dokončal" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Izdal" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Uporabnik, ki je izdal nalog za izgradnjo" msgid "Responsible" msgstr "Odgovoren" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Dodatni zapiski izdelave" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog izgradnje {build} je dokončan" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:1188 +#: build/models.py:1189 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:1197 +#: build/models.py:1198 #, 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:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Izbrana postavka ni najdena v BOM" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Izdelava" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "Izdelaj da prestaviš dele" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "Izdelaj da prestaviš dele" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Izvorna postavka zaloge" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Izvorna postavka zaloge" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Količina" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index cf8fc0108f..101a4e0698 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "Användaren har inte behörighet att se denna modell" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Information om felet finns under Error i adminpanelen" @@ -45,7 +49,7 @@ msgstr "Ange datum" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Anteeckningar" @@ -92,11 +96,11 @@ msgstr "Du måste ange samma e-post varje gång." #: InvenTree/forms.py:230 InvenTree/forms.py:236 msgid "The provided primary email address is not valid." -msgstr "" +msgstr "Den angivna primära e-postadressen är inte giltig." #: InvenTree/forms.py:242 msgid "The provided email domain is not approved." -msgstr "" +msgstr "Den angivna e-postdomänen är inte godkänd." #: InvenTree/helpers.py:168 msgid "Connection error" @@ -212,7 +216,7 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Välj fil att bifoga" msgid "Link" msgstr "Länk" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -238,13 +242,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Användare" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Ogiltigt val" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Namn" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Beskrivning" @@ -339,7 +343,7 @@ msgid "parent" msgstr "överordnad" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "Sökväg" @@ -679,7 +683,7 @@ msgstr "Dela från överordnat objekt" msgid "Split child item" msgstr "Dela underordnat objekt" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Sammanfogade lagerposter" @@ -755,11 +759,11 @@ msgstr "Systeminformation" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "Byggnationen måste avbrytas innan den kan tas bort" msgid "Build Order" msgstr "Byggorder" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Byggordrar" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "Ogiltigt val för överordnad bygge" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Byggorderreferens" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Referens" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Kort beskrivning av bygget" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Överordnat Bygge" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Del" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Välj del att bygga" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Försäljningsorderreferens" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Källa Plats" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Välj plats att ta lager från för detta bygge (lämna tomt för att ta från någon lagerplats)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Destinationsplats" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Välj plats där de färdiga objekten kommer att lagras" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Bygg kvantitet" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Antal lagerobjekt att bygga" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Slutförda objekt" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Antal lagerposter som har slutförts" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Byggstatus" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Skapad" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Datum för slutförande" -#: build/models.py:258 +#: build/models.py:259 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:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Slutförandedatum" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "slutfört av" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Utfärdad av" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Användare som utfärdade denna byggorder" msgid "Responsible" msgstr "Ansvarig" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "Extern länk" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Extra bygganteckningar" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggorder {build} har slutförts" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "En byggorder har slutförts" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:1188 +#: build/models.py:1189 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:1197 +#: build/models.py:1198 #, 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:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "Vald lagervara hittades inte i BOM" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Bygg" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "Bygg för att allokera delar" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "Bygg för att allokera delar" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Källa lagervara" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Källa lagervara" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Antal" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Installera till" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Destination lagervara" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Plats" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Status" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Slutförd" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Slutförd" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Försäljningsorder" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "Interna priser" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "Debugläge" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "Sidstorlek" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "Aktivera testrapporter" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" -msgstr "" +msgstr "Sök efter artiklar" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" -msgstr "" +msgstr "Sök efter leverantörsartikel" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" -msgstr "" +msgstr "Sök efter tillverkarartikel" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,10 +4844,10 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" -msgstr "" +msgstr "Artiklar" #: part/admin.py:265 msgid "BOM Level" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Bekräfta" @@ -9456,7 +9466,7 @@ msgstr "" #: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 #: templates/js/translated/report.js:225 msgid "Select Parts" -msgstr "" +msgstr "Välj artiklar" #: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 msgid "You must select at least one part to allocate" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index aface99801..ed9b27a353 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "" @@ -45,7 +49,7 @@ msgstr "ป้อนวันที่" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "หมายเหตุ" @@ -212,7 +216,7 @@ msgstr "ไฟล์แนบ" msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "" @@ -238,13 +242,13 @@ msgstr "ความคิดเห็น" msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "ผู้ใช้งาน" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "ชื่อ" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "คำอธิบาย" @@ -339,7 +343,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "" @@ -679,7 +683,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "" @@ -755,11 +759,11 @@ msgstr "ข้อมูลระบบ" msgid "About InvenTree" msgstr "เกี่ยวกับ Inventree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "สถานะ" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 9a465f4257..0e93e5ddf2 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "Hata detaylarını admin panelinde bulabilirsiniz" @@ -45,7 +49,7 @@ msgstr "Tarih giriniz" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "Notlar" @@ -212,7 +216,7 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "Eklenecek dosyayı seç" msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -238,13 +242,13 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Kullanıcı" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "Geçersiz seçim" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "Adı" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Açıklama" @@ -339,7 +343,7 @@ msgid "parent" msgstr "üst" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "" @@ -679,7 +683,7 @@ msgstr "Üst ögeden ayır" msgid "Split child item" msgstr "Alt ögeyi ayır" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" @@ -755,11 +759,11 @@ msgstr "Sistem Bilgisi" msgid "About InvenTree" msgstr "InvenTree Hakkında" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "" msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "Yapım İşi Emri Referansı" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "Referans" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "Yapım işinin kısa açıklaması" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/models.py:176 +#: build/models.py:177 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:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Parça" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:258 +#: build/models.py:259 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:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "Veren" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "Bu yapım işi emrini veren kullanıcı" msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "Yapım işi için ekstra notlar" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:731 +#: build/models.py:732 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:1188 +#: build/models.py:1189 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:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "Yapım İşi" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "Yapım işi için tahsis edilen parçalar" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "Kaynak stok kalemi" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "Kaynak stok kalemi" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "Miktar" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "Hedef stok kalemi" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "Konum" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Durum" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Tamamlandı" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Tamamlandı" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "günler" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "Şablon" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "Fiyat" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "Tedarikçi" @@ -3322,7 +3334,7 @@ msgstr "Tedarikçi seçin" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "Paketleme" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "Müşteri" @@ -3509,7 +3521,7 @@ msgstr "Resmi İndirin" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Tedarikçi Parçaları" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "Parçaları Sil" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "Tedarikçi Stoku" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" @@ -3588,7 +3600,7 @@ msgstr "Yeni Satın Alma Emri" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "Satış Emirleri" @@ -3657,7 +3669,7 @@ msgstr "Tedarikçi parçalarını sil" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "Tedarikçi Parçası" @@ -3811,7 +3823,7 @@ msgstr "Fiyat Bilgisi" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -3861,7 +3873,7 @@ msgstr "Müşteriler" msgid "New Customer" msgstr "Yeni Müşteri" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "Şirketler" @@ -3869,68 +3881,68 @@ msgstr "Şirketler" msgid "New Company" msgstr "Yeni Şirket" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "Etiket adı" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "Etiket tanımı" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "Etiket" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "Etiket şablon listesi" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "Etkin" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "Etiket sablonu etkinleştirildi" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "Genişlik [mm]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "Etiket genişliği mm olarak belirtilmeli" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "Yükseklik [mm]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "Etiket dosya adları oluşturma için desen" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "Filtreler" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "DPN" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "Revizyon" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "Anahtar kelimeler" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Parçalar" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Parça Kategorileri" @@ -4925,7 +4936,7 @@ msgstr "Parça Kategorileri" msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "Pasif" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "Şablon için geçerli bir nesne sağlanmadı" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "Şablon adı" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "Rapor şablon dosyası" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "Rapor şablon tanımı" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "Revizyon numarası raporla (otomatik artış)" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "Rapor şablonu etkin" -#: report/models.py:280 +#: report/models.py:281 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:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "Seri No" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "Stok Konumu" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "Stok Konumları" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "Onay" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "Tedarikçi parçasını sil" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "Katagori Yok" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "Detaylar" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "Arama sonuçlarının hepsini göster" msgid "Clear search" msgstr "Aramayı temizle" -#: templates/search.html:16 -msgid "Filter results" -msgstr "Sonuçları filtrele" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "Arama menüsünü kapat" -#: templates/search.html:35 -msgid "No search results" -msgstr "Arama sonucu yok" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index a3a541bf1a..1c86eb7358 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:28\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "" @@ -45,7 +49,7 @@ msgstr "" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "" @@ -212,7 +216,7 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "" @@ -238,13 +242,13 @@ msgstr "Bình luận" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "Người dùng" @@ -285,9 +289,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "Mô tả" @@ -339,7 +343,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "" @@ -679,7 +683,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "" @@ -755,11 +759,11 @@ msgstr "Thông tin hệ thống" msgid "About InvenTree" msgstr "Giới thiệu" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "" msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "Tạo đơn hàng" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "Nguyên liệu" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "Ngày hoàn thành" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "" @@ -1186,8 +1190,8 @@ msgstr "" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "" @@ -1201,8 +1205,8 @@ msgstr "" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "Trạng thái" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "Đã hoàn thành" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "Đã hoàn thành" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "" @@ -1527,9 +1531,9 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1220 -msgid "Pricing Decimal Places" +msgid "Minimum Pricing Decimal Places" msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" +msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" #: common/models.py:1231 -msgid "Use Supplier Pricing" +msgid "Maximum Pricing Decimal Places" msgstr "" #: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1693 +#: common/models.py:1704 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:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "Nhà cung cấp" @@ -3322,7 +3334,7 @@ msgstr "" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "" @@ -3397,7 +3409,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "" @@ -3509,7 +3521,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" @@ -3565,7 +3577,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3588,7 +3600,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3657,7 +3669,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "" @@ -3811,7 +3823,7 @@ msgstr "" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3861,7 +3873,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3869,68 +3881,68 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" @@ -3938,7 +3950,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "Giá mua" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4833,7 +4844,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Nguyên liệu" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4925,7 +4936,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "Kho hàng" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8613,7 +8623,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 30fe59a782..2a6ed7be69 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-03-17 04:40+0000\n" -"PO-Revision-Date: 2023-03-17 08:03\n" +"POT-Creation-Date: 2023-03-27 21:25+0000\n" +"PO-Revision-Date: 2023-03-28 11:29\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "未找到 API 端点" +#: InvenTree/api.py:307 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "在管理面板中可以找到错误详细信息" @@ -45,7 +49,7 @@ msgstr "输入日期" #: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 #: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 #: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2154 +#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 msgid "Notes" msgstr "备注" @@ -212,7 +216,7 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:416 common/models.py:2561 company/models.py:129 +#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 #: company/models.py:300 company/models.py:536 order/models.py:88 #: order/models.py:1338 part/admin.py:39 part/models.py:893 #: part/templates/part/part_scheduling.html:11 @@ -224,7 +228,7 @@ msgstr "选择附件" msgid "Link" msgstr "链接" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:894 +#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 #: stock/models.py:729 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -238,13 +242,13 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2010 -#: common/models.py:2011 common/models.py:2234 common/models.py:2235 -#: common/models.py:2491 common/models.py:2492 part/models.py:2985 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 +#: common/models.py:2022 common/models.py:2245 common/models.py:2246 +#: common/models.py:2502 common/models.py:2503 part/models.py:2985 #: part/models.py:3073 part/models.py:3152 part/models.py:3172 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:2854 msgid "User" msgstr "用户" @@ -285,9 +289,9 @@ msgstr "同一个主体下不能有相同名字" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2220 -#: company/models.py:382 label/models.py:101 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 +#: company/models.py:382 label/models.py:102 part/models.py:839 +#: part/models.py:3320 plugin/models.py:94 report/models.py:153 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 @@ -297,20 +301,20 @@ msgstr "选择无效" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 #: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2569 +#: templates/js/translated/stock.js:2581 msgid "Name" msgstr "名称" -#: InvenTree/models.py:578 build/models.py:164 +#: InvenTree/models.py:578 build/models.py:165 #: build/templates/build/detail.html:24 company/models.py:306 #: company/models.py:542 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 +#: company/templates/company/supplier_part.html:108 label/models.py:109 #: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 #: part/models.py:3329 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:166 +#: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -325,8 +329,8 @@ msgstr "名称" #: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 #: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 #: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2601 -#: templates/js/translated/stock.js:2679 +#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2691 msgid "Description" msgstr "描述信息" @@ -339,7 +343,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2610 +#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 msgid "Path" msgstr "路径" @@ -679,7 +683,7 @@ msgstr "从父项拆分" msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2259 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 msgid "Merged stock items" msgstr "合并的库存项目" @@ -755,11 +759,11 @@ msgstr "系统信息" msgid "About InvenTree" msgstr "关于 InventTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:70 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 @@ -768,26 +772,26 @@ msgstr "在删除前必须取消生产" msgid "Build Order" msgstr "生产订单" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:71 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "生产订单" -#: build/models.py:111 +#: build/models.py:112 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:155 +#: build/models.py:156 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:156 order/models.py:259 order/models.py:674 +#: build/models.py:157 order/models.py:259 order/models.py:674 #: order/models.py:988 part/admin.py:278 part/models.py:3590 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -796,24 +800,24 @@ msgstr "相关生产订单" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 #: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 #: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:370 +#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 msgid "Reference" msgstr "引用" -#: build/models.py:167 +#: build/models.py:168 msgid "Brief description of the build" msgstr "生产的简短描述." -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:176 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:176 +#: build/models.py:177 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:181 build/templates/build/build_base.html:80 +#: build/models.py:182 build/templates/build/build_base.html:80 #: build/templates/build/detail.html:29 company/models.py:715 #: order/models.py:1084 order/models.py:1200 order/models.py:1201 #: part/models.py:383 part/models.py:2837 part/models.py:2951 @@ -848,106 +852,106 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 #: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 #: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:353 templates/js/translated/stock.js:624 +#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 #: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2705 -#: templates/js/translated/stock.js:2900 templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 +#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 msgid "Part" msgstr "商品" -#: build/models.py:189 +#: build/models.py:190 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:194 +#: build/models.py:195 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:198 +#: build/models.py:199 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:203 build/serializers.py:825 +#: build/models.py:204 build/serializers.py:825 #: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 msgid "Source Location" msgstr "来源地点" -#: build/models.py:207 +#: build/models.py:208 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)" -#: build/models.py:212 +#: build/models.py:213 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:216 +#: build/models.py:217 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:220 +#: build/models.py:221 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:223 +#: build/models.py:224 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:227 +#: build/models.py:228 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:229 +#: build/models.py:230 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:233 +#: build/models.py:234 msgid "Build Status" msgstr "生产状态" -#: build/models.py:237 +#: build/models.py:238 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:450 +#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 #: stock/models.py:733 templates/js/translated/order.js:1627 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:251 build/serializers.py:227 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:253 order/models.py:90 part/models.py:1029 +#: build/models.py:254 order/models.py:90 part/models.py:1029 #: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:257 order/models.py:704 +#: build/models.py:258 order/models.py:704 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:258 +#: build/models.py:259 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:261 order/models.py:310 +#: build/models.py:262 order/models.py:310 #: templates/js/translated/build.js:2724 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:267 +#: build/models.py:268 msgid "completed by" msgstr "完成人" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:276 templates/js/translated/build.js:2684 msgid "Issued by" msgstr "发布者" -#: build/models.py:276 +#: build/models.py:277 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:284 build/templates/build/build_base.html:193 +#: build/models.py:285 build/templates/build/build_base.html:193 #: build/templates/build/detail.html:122 order/models.py:104 #: order/templates/order/order_base.html:185 #: order/templates/order/sales_order_base.html:183 part/models.py:1033 @@ -958,11 +962,11 @@ msgstr "发布此生产订单的用户" msgid "Responsible" msgstr "责任人" -#: build/models.py:285 +#: build/models.py:286 msgid "User or group responsible for this build order" msgstr "构建此订单的用户或组" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:291 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 #: part/templates/part/part_base.html:392 stock/models.py:727 @@ -970,75 +974,75 @@ msgstr "构建此订单的用户或组" msgid "External Link" msgstr "外部链接" -#: build/models.py:295 +#: build/models.py:296 msgid "Extra build notes" msgstr "额外的生产备注" -#: build/models.py:299 +#: build/models.py:300 msgid "Build Priority" msgstr "创建优先级" -#: build/models.py:302 +#: build/models.py:303 msgid "Priority of this build order" msgstr "此构建订单的优先级" -#: build/models.py:540 +#: build/models.py:541 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:546 +#: build/models.py:547 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:725 +#: build/models.py:726 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:728 +#: build/models.py:729 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:731 +#: build/models.py:732 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:1188 +#: build/models.py:1189 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1197 +#: build/models.py:1198 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1207 order/models.py:1472 +#: build/models.py:1208 order/models.py:1472 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1213 order/models.py:1475 +#: build/models.py:1214 order/models.py:1475 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1219 +#: build/models.py:1220 msgid "Quantity must be 1 for serialized stock" msgstr "序列化库存的数量必须是 1" -#: build/models.py:1276 +#: build/models.py:1277 msgid "Selected stock item not found in BOM" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 +#: build/models.py:1346 stock/templates/stock/item_base.html:175 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 #: templates/navbar.html:38 msgid "Build" msgstr "生产" -#: build/models.py:1346 +#: build/models.py:1347 msgid "Build to allocate parts" msgstr "生产以分配部件" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1011 +#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 #: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1049,17 +1053,17 @@ msgstr "生产以分配部件" #: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 #: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 #: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2778 +#: templates/js/translated/stock.js:2790 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1363 +#: build/models.py:1364 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1376 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2042 +#: build/templates/build/detail.html:34 common/models.py:2053 #: order/models.py:974 order/models.py:1516 order/serializers.py:1185 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2964 part/models.py:3571 @@ -1081,7 +1085,7 @@ msgstr "源库存项" #: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 #: templates/js/translated/build.js:2238 #: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 +#: templates/js/translated/model_renderers.js:187 #: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 #: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 #: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 @@ -1089,24 +1093,24 @@ msgstr "源库存项" #: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 #: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 #: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 -#: templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 #: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2827 templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 msgid "Quantity" msgstr "数量" -#: build/models.py:1376 +#: build/models.py:1377 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1384 +#: build/models.py:1385 msgid "Install into" msgstr "安装到" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Destination stock item" msgstr "目标库存项" @@ -1186,8 +1190,8 @@ msgstr "必须提供生产产出列表" #: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 #: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 #: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2719 +#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 +#: templates/js/translated/stock.js:2731 msgid "Location" msgstr "地点" @@ -1201,8 +1205,8 @@ msgstr "已完成生产产出的仓储地点" #: stock/templates/stock/item_base.html:424 #: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 #: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2928 +#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 +#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 msgid "Status" msgstr "状态" @@ -1472,7 +1476,7 @@ msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1295 order/models.py:1193 +#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 #: order/models.py:1292 order/models.py:1423 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1480,7 +1484,7 @@ msgstr "已完成" #: report/templates/report/inventree_so_report_base.html:77 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:896 +#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 msgid "Sales Order" msgstr "销售订单" @@ -1527,9 +1531,9 @@ msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/model_renderers.js:192 +#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:2947 #: templates/js/translated/table_filters.js:183 #: templates/js/translated/table_filters.js:274 msgid "Batch" @@ -1888,8 +1892,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 -#: common/models.py:1031 common/models.py:1042 common/models.py:1255 -#: common/models.py:1279 common/models.py:1402 common/models.py:1623 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1634 msgid "days" msgstr "天" @@ -2022,7 +2026,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" #: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: report/models.py:159 templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:543 msgid "Template" msgstr "模板" @@ -2139,824 +2143,832 @@ msgid "Part category default icon (empty means no icon)" msgstr "零件类别默认图标(留空表示没有图标)" #: common/models.py:1220 -msgid "Pricing Decimal Places" -msgstr "价格最低小数位" +msgid "Minimum Pricing Decimal Places" +msgstr "" #: common/models.py:1221 -msgid "Number of decimal places to display when rendering pricing data" -msgstr "渲染价格数据时显示的小数位数" +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "" #: common/models.py:1231 +msgid "Maximum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 msgid "Use Supplier Pricing" msgstr "使用供应商价格" -#: common/models.py:1232 +#: common/models.py:1243 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1238 +#: common/models.py:1249 msgid "Purchase History Override" msgstr "覆盖购买记录" -#: common/models.py:1239 +#: common/models.py:1250 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1245 +#: common/models.py:1256 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1246 +#: common/models.py:1257 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1252 +#: common/models.py:1263 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1253 +#: common/models.py:1264 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1263 +#: common/models.py:1274 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1264 +#: common/models.py:1275 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1270 +#: common/models.py:1281 msgid "Active Variants Only" msgstr "" -#: common/models.py:1271 +#: common/models.py:1282 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1277 +#: common/models.py:1288 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1278 +#: common/models.py:1289 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1288 +#: common/models.py:1299 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1289 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1295 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "覆盖内部价格" -#: common/models.py:1296 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1302 +#: common/models.py:1313 msgid "Enable label printing" msgstr "启用标签打印功能" -#: common/models.py:1303 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1309 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "标签图像 DPI" -#: common/models.py:1310 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1319 +#: common/models.py:1330 msgid "Enable Reports" msgstr "启用报告" -#: common/models.py:1320 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "启用报告生成" -#: common/models.py:1326 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1327 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1333 +#: common/models.py:1344 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1334 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1344 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "启用测试报告" -#: common/models.py:1345 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1351 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "添加测试报告" -#: common/models.py:1352 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1358 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "全局唯一序列号" -#: common/models.py:1359 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1365 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "自动填充序列号" -#: common/models.py:1366 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "以表格形式自动填写序列号" -#: common/models.py:1372 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "删除已耗尽的库存" -#: common/models.py:1373 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1379 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1380 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1385 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1386 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1392 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1393 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1399 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1400 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1407 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1408 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1414 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1415 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1421 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1422 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1427 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1428 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1434 +#: common/models.py:1445 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1435 +#: common/models.py:1446 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1441 +#: common/models.py:1452 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1442 +#: common/models.py:1453 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1448 +#: common/models.py:1459 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1449 +#: common/models.py:1460 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1455 +#: common/models.py:1466 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1456 +#: common/models.py:1467 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1462 +#: common/models.py:1473 msgid "Edit Completed Purchase Orders" msgstr "编辑已完成的采购订单" -#: common/models.py:1463 +#: common/models.py:1474 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1470 +#: common/models.py:1481 msgid "Enable password forgot" msgstr "启用忘记密码" -#: common/models.py:1471 +#: common/models.py:1482 msgid "Enable password forgot function on the login pages" msgstr "在登录页面启用忘记密码功能" -#: common/models.py:1477 +#: common/models.py:1488 msgid "Enable registration" msgstr "启用注册" -#: common/models.py:1478 +#: common/models.py:1489 msgid "Enable self-registration for users on the login pages" msgstr "在登录页面启用注册功能" -#: common/models.py:1484 +#: common/models.py:1495 msgid "Enable SSO" msgstr "启用 SSO" -#: common/models.py:1485 +#: common/models.py:1496 msgid "Enable SSO on the login pages" msgstr "在登录页面启用 SSO" -#: common/models.py:1491 +#: common/models.py:1502 msgid "Enable SSO registration" msgstr "启用 SSO 注册" -#: common/models.py:1492 +#: common/models.py:1503 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1498 +#: common/models.py:1509 msgid "Email required" msgstr "需要邮箱" -#: common/models.py:1499 +#: common/models.py:1510 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1505 +#: common/models.py:1516 msgid "Auto-fill SSO users" msgstr "自动填充 SSO 用户" -#: common/models.py:1506 +#: common/models.py:1517 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1512 +#: common/models.py:1523 msgid "Mail twice" msgstr "" -#: common/models.py:1513 +#: common/models.py:1524 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1519 +#: common/models.py:1530 msgid "Password twice" msgstr "" -#: common/models.py:1520 +#: common/models.py:1531 msgid "On signup ask users twice for their password" msgstr "当注册时请用户两次输入密码" -#: common/models.py:1526 +#: common/models.py:1537 msgid "Allowed domains" msgstr "" -#: common/models.py:1527 +#: common/models.py:1538 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1544 msgid "Group on signup" msgstr "" -#: common/models.py:1534 +#: common/models.py:1545 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1540 +#: common/models.py:1551 msgid "Enforce MFA" msgstr "强制启用 MFA" -#: common/models.py:1541 +#: common/models.py:1552 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1547 +#: common/models.py:1558 msgid "Check plugins on startup" msgstr "启动时检查插件" -#: common/models.py:1548 +#: common/models.py:1559 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1555 +#: common/models.py:1566 msgid "Check plugin signatures" msgstr "检查插件签名" -#: common/models.py:1556 +#: common/models.py:1567 msgid "Check and show signatures for plugins" msgstr "检查并显示插件的签名" -#: common/models.py:1563 +#: common/models.py:1574 msgid "Enable URL integration" msgstr "启用 URL 集成" -#: common/models.py:1564 +#: common/models.py:1575 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1571 +#: common/models.py:1582 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1572 +#: common/models.py:1583 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1579 +#: common/models.py:1590 msgid "Enable app integration" msgstr "启用应用集成" -#: common/models.py:1580 +#: common/models.py:1591 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1587 +#: common/models.py:1598 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1588 +#: common/models.py:1599 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1595 +#: common/models.py:1606 msgid "Enable event integration" msgstr "" -#: common/models.py:1596 +#: common/models.py:1607 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1603 +#: common/models.py:1614 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1604 +#: common/models.py:1615 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1610 +#: common/models.py:1621 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1611 +#: common/models.py:1622 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1620 +#: common/models.py:1631 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1621 +#: common/models.py:1632 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1638 common/models.py:2003 +#: common/models.py:1649 common/models.py:2014 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1657 +#: common/models.py:1668 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1678 +#: common/models.py:1689 msgid "Show subscribed parts" msgstr "查看订阅中的部件" -#: common/models.py:1679 +#: common/models.py:1690 msgid "Show subscribed parts on the homepage" msgstr "在主页上显示订阅中的部件" -#: common/models.py:1685 +#: common/models.py:1696 msgid "Show subscribed categories" msgstr "查看订阅中的类别" -#: common/models.py:1686 +#: common/models.py:1697 msgid "Show subscribed part categories on the homepage" msgstr "在主页上显示订阅中的部件类别" -#: common/models.py:1692 +#: common/models.py:1703 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1693 +#: common/models.py:1704 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1699 +#: common/models.py:1710 msgid "Recent Part Count" msgstr "" -#: common/models.py:1700 +#: common/models.py:1711 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1706 +#: common/models.py:1717 msgid "Show unvalidated BOMs" msgstr "显示未验证的物料清单" -#: common/models.py:1707 +#: common/models.py:1718 msgid "Show BOMs that await validation on the homepage" msgstr "在主页上显示待验证的物料清单" -#: common/models.py:1713 +#: common/models.py:1724 msgid "Show recent stock changes" msgstr "显示最近的库存变化" -#: common/models.py:1714 +#: common/models.py:1725 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1720 +#: common/models.py:1731 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1721 +#: common/models.py:1732 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1727 +#: common/models.py:1738 msgid "Show low stock" msgstr "显示低库存" -#: common/models.py:1728 +#: common/models.py:1739 msgid "Show low stock items on the homepage" msgstr "在主页上显示低库存的项目" -#: common/models.py:1734 +#: common/models.py:1745 msgid "Show depleted stock" msgstr "" -#: common/models.py:1735 +#: common/models.py:1746 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1741 +#: common/models.py:1752 msgid "Show needed stock" msgstr "" -#: common/models.py:1742 +#: common/models.py:1753 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1748 +#: common/models.py:1759 msgid "Show expired stock" msgstr "显示过期库存" -#: common/models.py:1749 +#: common/models.py:1760 msgid "Show expired stock items on the homepage" msgstr "在主页上显示过期的库存项目" -#: common/models.py:1755 +#: common/models.py:1766 msgid "Show stale stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1767 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1762 +#: common/models.py:1773 msgid "Show pending builds" msgstr "" -#: common/models.py:1763 +#: common/models.py:1774 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1769 +#: common/models.py:1780 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1770 +#: common/models.py:1781 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1776 +#: common/models.py:1787 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1777 +#: common/models.py:1788 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1783 +#: common/models.py:1794 msgid "Show overdue POs" msgstr "" -#: common/models.py:1784 +#: common/models.py:1795 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1790 +#: common/models.py:1801 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1791 +#: common/models.py:1802 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1797 +#: common/models.py:1808 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Show News" msgstr "" -#: common/models.py:1805 +#: common/models.py:1816 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1811 +#: common/models.py:1822 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Default label printer" msgstr "" -#: common/models.py:1819 +#: common/models.py:1830 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1825 +#: common/models.py:1836 msgid "Inline report display" msgstr "" -#: common/models.py:1826 +#: common/models.py:1837 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Search Parts" msgstr "搜索部件" -#: common/models.py:1833 +#: common/models.py:1844 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1839 +#: common/models.py:1850 msgid "Search Supplier Parts" msgstr "搜索供应商部件" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1846 +#: common/models.py:1857 msgid "Search Manufacturer Parts" msgstr "搜索制造商部件" -#: common/models.py:1847 +#: common/models.py:1858 msgid "Display manufacturer parts in search preview window" msgstr "在搜索预览窗口中显示制造商部件" -#: common/models.py:1853 +#: common/models.py:1864 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Search Categories" msgstr "搜索分类" -#: common/models.py:1861 +#: common/models.py:1872 msgid "Display part categories in search preview window" msgstr "在搜索预览窗口中显示部件类别" -#: common/models.py:1867 +#: common/models.py:1878 msgid "Search Stock" msgstr "搜索库存" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Display stock items in search preview window" msgstr "在搜索预览窗口中显示库存项目" -#: common/models.py:1874 +#: common/models.py:1885 msgid "Hide Unavailable Stock Items" msgstr "隐藏不可用的库存项目" -#: common/models.py:1875 +#: common/models.py:1886 msgid "Exclude stock items which are not available from the search preview window" msgstr "在搜索预览窗口中排除不可用的库存项目" -#: common/models.py:1881 +#: common/models.py:1892 msgid "Search Locations" msgstr "搜索位置" -#: common/models.py:1882 +#: common/models.py:1893 msgid "Display stock locations in search preview window" msgstr "在搜索预览窗口中显示库存位置" -#: common/models.py:1888 +#: common/models.py:1899 msgid "Search Companies" msgstr "搜索公司" -#: common/models.py:1889 +#: common/models.py:1900 msgid "Display companies in search preview window" msgstr "在搜索预览窗口中显示公司" -#: common/models.py:1895 +#: common/models.py:1906 msgid "Search Build Orders" msgstr "" -#: common/models.py:1896 +#: common/models.py:1907 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1902 +#: common/models.py:1913 msgid "Search Purchase Orders" msgstr "搜索采购订单" -#: common/models.py:1903 +#: common/models.py:1914 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1909 +#: common/models.py:1920 msgid "Exclude Inactive Purchase Orders" msgstr "排除不活动的采购订单" -#: common/models.py:1910 +#: common/models.py:1921 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1916 +#: common/models.py:1927 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1917 +#: common/models.py:1928 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1923 +#: common/models.py:1934 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1924 +#: common/models.py:1935 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1930 +#: common/models.py:1941 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:1931 +#: common/models.py:1942 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1937 +#: common/models.py:1948 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:1938 +#: common/models.py:1949 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:1944 +#: common/models.py:1955 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1945 +#: common/models.py:1956 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "Fixed Navbar" msgstr "固定导航栏" -#: common/models.py:1952 +#: common/models.py:1963 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1958 +#: common/models.py:1969 msgid "Date Format" msgstr "日期格式" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1973 part/templates/part/detail.html:41 +#: common/models.py:1984 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1974 +#: common/models.py:1985 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1980 part/templates/part/detail.html:62 +#: common/models.py:1991 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1981 +#: common/models.py:1992 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1987 +#: common/models.py:1998 msgid "Table String Length" msgstr "" -#: common/models.py:1988 +#: common/models.py:1999 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2043 +#: common/models.py:2054 msgid "Price break quantity" msgstr "" -#: common/models.py:2050 company/serializers.py:407 order/models.py:1021 +#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 #: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:605 +#: templates/js/translated/pricing.js:603 msgid "Price" msgstr "价格" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2211 common/models.py:2389 +#: common/models.py:2222 common/models.py:2400 msgid "Endpoint" msgstr "" -#: common/models.py:2212 +#: common/models.py:2223 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2221 +#: common/models.py:2232 msgid "Name for this webhook" msgstr "" -#: common/models.py:2226 part/admin.py:50 part/models.py:1012 +#: common/models.py:2237 part/admin.py:50 part/models.py:1012 #: plugin/models.py:100 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:116 #: templates/js/translated/table_filters.js:352 @@ -2964,97 +2976,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2227 +#: common/models.py:2238 msgid "Is this webhook active" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Token" msgstr "令牌" -#: common/models.py:2242 +#: common/models.py:2253 msgid "Token for access" msgstr "" -#: common/models.py:2249 +#: common/models.py:2260 msgid "Secret" msgstr "" -#: common/models.py:2250 +#: common/models.py:2261 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Message ID" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Unique identifier for this message" msgstr "该消息的唯一标识符" -#: common/models.py:2365 +#: common/models.py:2376 msgid "Host" msgstr "" -#: common/models.py:2366 +#: common/models.py:2377 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2373 +#: common/models.py:2384 msgid "Header" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Header of this message" msgstr "" -#: common/models.py:2380 +#: common/models.py:2391 msgid "Body" msgstr "" -#: common/models.py:2381 +#: common/models.py:2392 msgid "Body of this message" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2395 +#: common/models.py:2406 msgid "Worked on" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2550 +#: common/models.py:2561 msgid "Id" msgstr "" -#: common/models.py:2556 templates/js/translated/news.js:35 +#: common/models.py:2567 templates/js/translated/news.js:35 msgid "Title" msgstr "标题" -#: common/models.py:2566 templates/js/translated/news.js:51 +#: common/models.py:2577 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2571 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "作者" -#: common/models.py:2576 templates/js/translated/news.js:43 +#: common/models.py:2587 templates/js/translated/news.js:43 msgid "Summary" msgstr "概述" -#: common/models.py:2581 +#: common/models.py:2592 msgid "Read" msgstr "" -#: common/models.py:2582 +#: common/models.py:2593 msgid "Was this news item read?" msgstr "" @@ -3309,7 +3321,7 @@ msgstr "" #: templates/js/translated/company.js:321 #: templates/js/translated/company.js:491 #: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:482 +#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 #: templates/js/translated/table_filters.js:478 msgid "Supplier" msgstr "供应商" @@ -3322,7 +3334,7 @@ msgstr "选择供应商" #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 #: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 -#: templates/js/translated/pricing.js:494 +#: templates/js/translated/pricing.js:492 msgid "SKU" msgstr "" @@ -3363,7 +3375,7 @@ msgstr "最低收费(例如库存费)" #: stock/admin.py:119 stock/models.py:695 #: stock/templates/stock/item_base.html:246 #: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2150 +#: templates/js/translated/stock.js:2162 msgid "Packaging" msgstr "打包" @@ -3397,7 +3409,7 @@ msgstr "订购多个" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 #: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 +#: templates/js/translated/model_renderers.js:185 #: templates/js/translated/part.js:614 templates/js/translated/part.js:616 #: templates/js/translated/part.js:621 #: templates/js/translated/table_filters.js:210 @@ -3468,7 +3480,7 @@ msgstr "删除图片" #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2760 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:482 msgid "Customer" msgstr "客户" @@ -3509,7 +3521,7 @@ msgstr "下载图片" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "供应商商品" @@ -3540,7 +3552,7 @@ msgid "Delete Parts" msgstr "删除商品" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "制造商商品" @@ -3565,7 +3577,7 @@ msgstr "供货商库存" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "采购订单" @@ -3588,7 +3600,7 @@ msgstr "新建采购订单" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "销售订单" @@ -3657,7 +3669,7 @@ msgstr "删除供应商商品" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 #: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 #: users/models.py:231 msgid "Delete" @@ -3706,7 +3718,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:678 #: stock/templates/stock/item_base.html:239 #: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2010 +#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 msgid "Supplier Part" msgstr "供应商商品" @@ -3811,7 +3823,7 @@ msgstr "价格信息" #: company/templates/company/supplier_part.html:247 #: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3835,7 +3847,7 @@ msgstr "更新部件可用性" #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2619 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 #: users/models.py:41 msgid "Stock Items" msgstr "库存项" @@ -3861,7 +3873,7 @@ msgstr "客户信息" msgid "New Customer" msgstr "新建客户" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "公司" @@ -3869,68 +3881,68 @@ msgstr "公司" msgid "New Company" msgstr "新建公司信息" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "标签名称" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "标签说明" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "标签" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:259 msgid "Enabled" msgstr "已启用" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "标签模板已启用" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "宽度 [mm]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "标注宽度,以毫米为单位。" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "高度 [mm]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:252 msgid "Filename Pattern" msgstr "文件名样式" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "查询筛选器 (逗号分隔的键值对列表)" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:280 report/models.py:411 report/models.py:449 msgid "Filters" msgstr "筛选器" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "查询筛选器 (逗号分隔的键值对列表" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "商品查询筛选器 (逗号分隔的键值对列表)" @@ -3938,7 +3950,7 @@ msgstr "商品查询筛选器 (逗号分隔的键值对列表)" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1293 order/models.py:1067 order/models.py:1151 +#: order/api.py:1343 order/models.py:1067 order/models.py:1151 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:76 @@ -3946,12 +3958,12 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 #: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2741 +#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 +#: templates/js/translated/stock.js:2753 msgid "Purchase Order" msgstr "" -#: order/api.py:1297 +#: order/api.py:1347 msgid "Unknown" msgstr "未知" @@ -4139,7 +4151,7 @@ msgstr "" #: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2053 msgid "Purchase Price" msgstr "采购价格" @@ -4160,7 +4172,7 @@ msgid "Only salable parts can be assigned to a sales order" msgstr "" #: order/models.py:1211 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "销售价格" @@ -4185,7 +4197,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:338 +#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 msgid "Shipment" msgstr "" @@ -4727,7 +4739,7 @@ msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" #: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" @@ -4747,7 +4759,7 @@ msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:171 templates/js/translated/part.js:1162 +#: report/models.py:172 templates/js/translated/part.js:1162 #: templates/js/translated/part.js:1892 msgid "Revision" msgstr "版本号" @@ -4758,7 +4770,6 @@ msgid "Keywords" msgstr "关键词" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "类别 ID" @@ -4833,7 +4844,7 @@ msgstr "类别路径" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" @@ -4854,13 +4865,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" @@ -4916,7 +4927,7 @@ msgid "Part Category" msgstr "商品类别" #: part/models.py:73 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "商品类别" @@ -4925,7 +4936,7 @@ msgstr "商品类别" msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2625 +#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:154 msgid "Structural" @@ -5274,8 +5285,8 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/InvenTree/settings/settings_staff_js.html:374 #: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2669 +#: templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 msgid "Date" msgstr "日期" @@ -5984,7 +5995,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1958 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6223,7 +6234,7 @@ msgstr "商品是虚拟的(不是实体零件)" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 +#: templates/js/translated/model_renderers.js:253 #: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 msgid "Inactive" msgstr "" @@ -6258,8 +6269,8 @@ msgstr "" #: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 #: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" @@ -6297,7 +6308,7 @@ msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6394,7 +6405,7 @@ msgstr "" #: stock/templates/stock/item_base.html:443 #: templates/js/translated/company.js:1093 #: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/stock.js:1988 msgid "Last Updated" msgstr "最后更新" @@ -6771,100 +6782,100 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:169 +#: report/api.py:171 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" -#: report/api.py:205 report/api.py:241 +#: report/api.py:207 report/api.py:243 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:305 +#: report/api.py:310 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:154 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:160 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:167 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:173 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:253 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:260 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:281 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:289 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:290 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:337 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:338 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:377 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:377 +#: report/models.py:378 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:412 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:502 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:503 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:507 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:544 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:545 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:552 msgid "Asset file description" msgstr "" @@ -6884,9 +6895,9 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:93 #: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 #: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 +#: templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 msgid "Unit Price" msgstr "单价" @@ -6909,7 +6920,7 @@ msgstr "" #: stock/models.py:719 stock/templates/stock/item_base.html:323 #: templates/js/translated/build.js:479 templates/js/translated/build.js:640 #: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 +#: templates/js/translated/model_renderers.js:181 #: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 #: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 msgid "Serial Number" @@ -6944,12 +6955,11 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2918 +#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 msgid "Serial" msgstr "" #: stock/admin.py:39 stock/admin.py:108 -#: templates/js/translated/model_renderers.js:172 msgid "Location ID" msgstr "" @@ -6970,7 +6980,7 @@ msgstr "" msgid "Status Code" msgstr "" -#: stock/admin.py:110 templates/js/translated/model_renderers.js:447 +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "供应商商品ID" @@ -6991,7 +7001,7 @@ msgstr "" msgid "Installed In" msgstr "" -#: stock/admin.py:115 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" @@ -7013,7 +7023,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:775 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1972 msgid "Expiry Date" msgstr "" @@ -7040,7 +7050,7 @@ msgid "Stock Location" msgstr "仓储地点" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "仓储地点" @@ -7058,7 +7068,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2634 +#: stock/models.py:127 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:139 msgid "External" msgstr "" @@ -7448,7 +7458,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3067 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 msgid "Install Stock Item" msgstr "" @@ -8161,20 +8171,20 @@ msgstr "采购订单设置" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "汇率" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "立即更新" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "上次更新" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "从不" @@ -8613,7 +8623,7 @@ msgstr "确认邮件地址" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "确认" @@ -9520,7 +9530,7 @@ msgstr "" #: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 #: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2563 +#: templates/js/translated/stock.js:2575 msgid "Select" msgstr "" @@ -9532,7 +9542,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2848 +#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 msgid "No user information" msgstr "没有用户信息" @@ -9657,12 +9667,12 @@ msgid "Delete supplier part" msgstr "删除供应商商品" #: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" #: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" @@ -9716,61 +9726,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1335 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1789 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2210 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2666 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2678 msgid "Select Columns" msgstr "" @@ -9903,28 +9913,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "公司ID" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:410 -msgid "Manufacturer Part ID" -msgstr "制造商商品ID" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -10133,7 +10121,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2319 +#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 msgid "Stock Status" msgstr "" @@ -10578,7 +10566,7 @@ msgid "No category" msgstr "没有分类" #: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2534 msgid "Display as list" msgstr "以列表显示" @@ -10602,7 +10590,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2542 +#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 msgid "Display as tree" msgstr "以树形图显示" @@ -10675,53 +10663,53 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" @@ -10791,11 +10779,27 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/search.js:285 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:307 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:357 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:367 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:370 msgid "Remove results" msgstr "" @@ -11088,103 +11092,103 @@ msgstr "" msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2037 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2084 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:2172 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2334 +#: templates/js/translated/stock.js:2346 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2348 +#: templates/js/translated/stock.js:2360 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/stock.js:2361 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/stock.js:2593 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:2706 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2710 +#: templates/js/translated/stock.js:2722 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2732 +#: templates/js/translated/stock.js:2744 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2751 +#: templates/js/translated/stock.js:2763 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2782 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2788 +#: templates/js/translated/stock.js:2800 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2811 +#: templates/js/translated/stock.js:2823 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2819 +#: templates/js/translated/stock.js:2831 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2907 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2946 templates/js/translated/stock.js:2982 +#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3012 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3033 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3022 +#: templates/js/translated/stock.js:3034 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:3036 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3037 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3026 +#: templates/js/translated/stock.js:3038 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3027 +#: templates/js/translated/stock.js:3039 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:3052 msgid "Select part to install" msgstr "" @@ -11561,18 +11565,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" From 47f52478e0fd255b8f09f906937a7e8766e31aa0 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 30 Mar 2023 11:07:46 +1100 Subject: [PATCH 093/140] Bug fix for BOM table (#4540) --- InvenTree/templates/js/translated/bom.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/InvenTree/templates/js/translated/bom.js b/InvenTree/templates/js/translated/bom.js index 23e6a028c8..9cb0f71d3e 100644 --- a/InvenTree/templates/js/translated/bom.js +++ b/InvenTree/templates/js/translated/bom.js @@ -1247,14 +1247,14 @@ function loadBomTable(table, options={}) { var bDelt = makeDeleteButton('bom-delete-button', row.pk, '{% trans "Delete BOM Item" %}'); + let buttons = ''; if (!row.validated) { - html += bValidate; + buttons += bValidate; } else { - html += bValid; + buttons += bValid; } - var buttons = ''; buttons += bEdit; buttons += bSubs; buttons += bDelt; From d0bf4cb81aa631ca297fdfda003ef99830952ed4 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 30 Mar 2023 23:30:16 +1100 Subject: [PATCH 094/140] Stock history fix (#4541) * Fix bug in allocateToCustomer method * Data migration to alter stock tracking history with new codes and data * Prevent note duplication --- .../migrations/0096_auto_20230330_1121.py | 70 +++++++++++++++++++ InvenTree/stock/models.py | 12 ++-- 2 files changed, 77 insertions(+), 5 deletions(-) create mode 100644 InvenTree/stock/migrations/0096_auto_20230330_1121.py diff --git a/InvenTree/stock/migrations/0096_auto_20230330_1121.py b/InvenTree/stock/migrations/0096_auto_20230330_1121.py new file mode 100644 index 0000000000..d8e3c1ce53 --- /dev/null +++ b/InvenTree/stock/migrations/0096_auto_20230330_1121.py @@ -0,0 +1,70 @@ +# Generated by Django 3.2.18 on 2023-03-30 11:21 + +from django.db import migrations + + +def update_stock_history(apps, schema_editor): + """Data migration to fix a 'shortcoming' in the implementation of StockTracking history + + Prior to https://github.com/inventree/InvenTree/pull/4488, + shipping items via a SalesOrder did not record the SalesOrder in the tracking history. + This PR looks to add in SalesOrder history where it does not already exist: + + - Look for StockItems which are currently assigned to a SalesOrder + - Check that it does *not* have any appropriate history + - Add the appropriate history! + """ + + from InvenTree.status_codes import StockHistoryCode + + StockItem = apps.get_model('stock', 'stockitem') + StockItemTracking = apps.get_model('stock', 'stockitemtracking') + + # Find StockItems which are marked as against a SalesOrder + items = StockItem.objects.exclude(sales_order=None) + + n = 0 + + for item in items: + # Find newest relevent history + history = StockItemTracking.objects.filter( + item=item, + tracking_type__in=[StockHistoryCode.SENT_TO_CUSTOMER, StockHistoryCode.SHIPPED_AGAINST_SALES_ORDER] + ).order_by('-date').first() + + if not history: + continue + + # We've already updated this one, it appears + if history.tracking_type != StockHistoryCode.SENT_TO_CUSTOMER: + continue + + # Update the 'deltas' of this history to include SalesOrder information + history.deltas['salesorder'] = item.sales_order.pk + + # Change the history type + history.tracking_type = StockHistoryCode.SHIPPED_AGAINST_SALES_ORDER + + history.save() + n += 1 + + if n > 0: + print(f"Updated {n} StockItemTracking entries with SalesOrder data") + + +def nope(apps, schema_editor): + """Provided for reverse migration compatibility""" + pass + + +class Migration(migrations.Migration): + + dependencies = [ + ('stock', '0095_stocklocation_external'), + ] + + operations = [ + migrations.RunPython( + update_stock_history, reverse_code=nope, + ) + ] diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index ed3f727514..09b49fb4d3 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -961,11 +961,13 @@ class StockItem(InvenTreeBarcodeMixin, MetadataMixin, common.models.MetaMixin, M item.save(add_note=False) code = StockHistoryCode.SENT_TO_CUSTOMER - deltas = { - 'customer': customer.pk, - 'customer_name': customer.pk, - } + deltas = {} + if customer is not None: + deltas['customer'] = customer.pk + deltas['customer_name'] = customer.name + + # If an order is provided, we are shipping against a SalesOrder, not manually! if order: code = StockHistoryCode.SHIPPED_AGAINST_SALES_ORDER deltas['salesorder'] = order.pk @@ -1031,7 +1033,7 @@ class StockItem(InvenTreeBarcodeMixin, MetadataMixin, common.models.MetaMixin, M notes=notes ) else: - self.save() + self.save(add_note=False) def is_allocated(self): """Return True if this StockItem is allocated to a SalesOrder or a Build.""" From f4f7803e96967738d16ea1661e86af5bcd35059d Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 31 Mar 2023 00:12:07 +1100 Subject: [PATCH 095/140] Sales order status update (#4542) * Add extra status code "IN PROGRESS" for sales order * Add method to 'issue' a SalesOrder * Updates to salesorder template * Add API endpoint and serializer for issuing a SalesOrder * javascript for issuing order * Cleanup buttons for SalesOrderLineItem table * Bug fixes --- InvenTree/InvenTree/status_codes.py | 4 + InvenTree/order/api.py | 11 ++- .../0087_alter_salesorder_status.py | 18 ++++ InvenTree/order/models.py | 28 ++++++- InvenTree/order/serializers.py | 15 +++- .../templates/order/return_order_base.html | 6 +- .../templates/order/sales_order_base.html | 34 ++++++-- .../templates/order/sales_order_detail.html | 17 ++-- .../js/translated/model_renderers.js | 8 +- .../templates/js/translated/sales_order.js | 83 +++++++++++-------- 10 files changed, 166 insertions(+), 58 deletions(-) create mode 100644 InvenTree/order/migrations/0087_alter_salesorder_status.py diff --git a/InvenTree/InvenTree/status_codes.py b/InvenTree/InvenTree/status_codes.py index edee876c5c..98452e8fa2 100644 --- a/InvenTree/InvenTree/status_codes.py +++ b/InvenTree/InvenTree/status_codes.py @@ -131,6 +131,7 @@ class SalesOrderStatus(StatusCode): """Defines a set of status codes for a SalesOrder.""" PENDING = 10 # Order is pending + IN_PROGRESS = 15 # Order has been issued, and is in progress SHIPPED = 20 # Order has been shipped to customer CANCELLED = 40 # Order has been cancelled LOST = 50 # Order was lost @@ -138,6 +139,7 @@ class SalesOrderStatus(StatusCode): options = { PENDING: _("Pending"), + IN_PROGRESS: _("In Progress"), SHIPPED: _("Shipped"), CANCELLED: _("Cancelled"), LOST: _("Lost"), @@ -146,6 +148,7 @@ class SalesOrderStatus(StatusCode): colors = { PENDING: 'secondary', + IN_PROGRESS: 'primary', SHIPPED: 'success', CANCELLED: 'danger', LOST: 'warning', @@ -155,6 +158,7 @@ class SalesOrderStatus(StatusCode): # Open orders OPEN = [ PENDING, + IN_PROGRESS, ] # Completed orders diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 7bc49cb26b..4d5b0e5503 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -918,6 +918,8 @@ class SalesOrderExtraLineItemMetadata(RetrieveUpdateAPI): class SalesOrderContextMixin: """Mixin to add sales order object as serializer context variable.""" + queryset = models.SalesOrder.objects.all() + def get_serializer_context(self): """Add the 'order' reference to the serializer context for any classes which inherit this mixin""" ctx = super().get_serializer_context() @@ -934,15 +936,17 @@ class SalesOrderContextMixin: class SalesOrderCancel(SalesOrderContextMixin, CreateAPI): """API endpoint to cancel a SalesOrder""" - - queryset = models.SalesOrder.objects.all() serializer_class = serializers.SalesOrderCancelSerializer +class SalesOrderIssue(SalesOrderContextMixin, CreateAPI): + """API endpoint to issue a SalesOrder""" + serializer_class = serializers.SalesOrderIssueSerializer + + class SalesOrderComplete(SalesOrderContextMixin, CreateAPI): """API endpoint for manually marking a SalesOrder as "complete".""" - queryset = models.SalesOrder.objects.all() serializer_class = serializers.SalesOrderCompleteSerializer @@ -1649,6 +1653,7 @@ order_api_urls = [ re_path(r'^allocate/', SalesOrderAllocate.as_view(), name='api-so-allocate'), re_path(r'^allocate-serials/', SalesOrderAllocateSerials.as_view(), name='api-so-allocate-serials'), re_path(r'^cancel/', SalesOrderCancel.as_view(), name='api-so-cancel'), + re_path(r'^issue/', SalesOrderIssue.as_view(), name='api-so-issue'), re_path(r'^complete/', SalesOrderComplete.as_view(), name='api-so-complete'), re_path(r'^metadata/', SalesOrderMetadata.as_view(), name='api-so-metadata'), diff --git a/InvenTree/order/migrations/0087_alter_salesorder_status.py b/InvenTree/order/migrations/0087_alter_salesorder_status.py new file mode 100644 index 0000000000..eaf4029917 --- /dev/null +++ b/InvenTree/order/migrations/0087_alter_salesorder_status.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.18 on 2023-03-30 11:50 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0086_auto_20230323_1108'), + ] + + operations = [ + migrations.AlterField( + model_name='salesorder', + name='status', + field=models.PositiveIntegerField(choices=[(10, 'Pending'), (15, 'In Progress'), (20, 'Shipped'), (40, 'Cancelled'), (50, 'Lost'), (60, 'Returned')], default=10, help_text='Purchase order status', verbose_name='Status'), + ), + ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index ac7499735e..18bb37aa8e 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -770,6 +770,11 @@ class SalesOrder(TotalPriceMixin, Order): """Return True if this order is 'pending'""" return self.status == SalesOrderStatus.PENDING + @property + def is_open(self): + """Return True if this order is 'open' (either 'pending' or 'in_progress')""" + return self.status in SalesOrderStatus.OPEN + @property def stock_allocations(self): """Return a queryset containing all allocations for this order.""" @@ -827,6 +832,21 @@ class SalesOrder(TotalPriceMixin, Order): return True + def place_order(self): + """Deprecated version of 'issue_order'""" + self.issue_order() + + @transaction.atomic + def issue_order(self): + """Change this order from 'PENDING' to 'IN_PROGRESS'""" + + if self.status == SalesOrderStatus.PENDING: + self.status = SalesOrderStatus.IN_PROGRESS + self.issue_date = datetime.now().date() + self.save() + + trigger_event('salesorder.issued', id=self.pk) + def complete_order(self, user, **kwargs): """Mark this order as "complete.""" if not self.can_complete(**kwargs): @@ -1717,8 +1737,12 @@ class ReturnOrder(TotalPriceMixin, Order): trigger_event('returnorder.completed', id=self.pk) - @transaction.atomic def place_order(self): + """Deprecated version of 'issue_order""" + self.issue_order() + + @transaction.atomic + def issue_order(self): """Issue this ReturnOrder (if currently pending)""" if self.status == ReturnOrderStatus.PENDING: @@ -1726,7 +1750,7 @@ class ReturnOrder(TotalPriceMixin, Order): self.issue_date = datetime.now().date() self.save() - trigger_event('returnorder.placed', id=self.pk) + trigger_event('returnorder.issued', id=self.pk) @transaction.atomic def receive_line_item(self, line, location, user, note=''): diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index b992665157..939697b67c 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -731,6 +731,19 @@ class SalesOrderSerializer(TotalPriceMixin, AbstractOrderSerializer, InvenTreeMo customer_detail = CompanyBriefSerializer(source='customer', many=False, read_only=True) +class SalesOrderIssueSerializer(serializers.Serializer): + """Serializer for issuing a SalesOrder""" + + class Meta: + """Metaclass options""" + fields = [] + + def save(self): + """Save the serializer to 'issue' the order""" + order = self.context['order'] + order.issue_order() + + class SalesOrderAllocationSerializer(InvenTreeModelSerializer): """Serializer for the SalesOrderAllocation model. @@ -1461,7 +1474,7 @@ class ReturnOrderIssueSerializer(serializers.Serializer): def save(self): """Save the serializer to 'issue' the order""" order = self.context['order'] - order.place_order() + order.issue_order() class ReturnOrderCancelSerializer(serializers.Serializer): diff --git a/InvenTree/order/templates/order/return_order_base.html b/InvenTree/order/templates/order/return_order_base.html index 48574b7646..88cdcb4d40 100644 --- a/InvenTree/order/templates/order/return_order_base.html +++ b/InvenTree/order/templates/order/return_order_base.html @@ -62,8 +62,8 @@ src="{% static 'img/blank_image.png' %}" {% endif %} {% if order.status == ReturnOrderStatus.PENDING %} - {% elif order.status == ReturnOrderStatus.IN_PROGRESS %} -
    -{% if order.status == SalesOrderStatus.PENDING %} - -{% endif %} +
    + {% if order.is_pending %} + + {% elif order.status == SalesOrderStatus.IN_PROGRESS %} + {% if not order.is_completed %} + + {% endif %} + + {% endif %} +
    {% endif %} {% endblock actions %} @@ -232,6 +241,15 @@ $("#complete-order-shipments").click(function() { ); }); +$('#issue-order').click(function() { + issueSalesOrder( + {{ order.pk }}, + { + reload: true + } + ); +}); + $("#cancel-order").click(function() { cancelSalesOrder( diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index bcd96796d5..d484c42b41 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -19,7 +19,7 @@ {% include "spacer.html" %}
    {% if roles.sales_order.add %} - {% if order.is_pending or allow_extra_editing %} + {% if order.is_open or allow_extra_editing %} @@ -44,7 +44,7 @@ {% include "spacer.html" %}
    {% if roles.sales_order.change %} - {% if order.is_pending or allow_extra_editing %} + {% if order.is_open or allow_extra_editing %} @@ -253,11 +253,18 @@ order: {{ order.pk }}, reference: '{{ order.reference }}', status: {{ order.status }}, + open: {% js_bool order.is_open %}, {% if roles.sales_order.change %} + {% settings_value "SALESORDER_EDIT_COMPLETED_ORDERS" as allow_edit %} + {% if allow_edit or order.is_open %} allow_edit: true, {% endif %} - {% if order.is_pending %} - pending: true, + {% if order.status == SalesOrderStatus.IN_PROGRESS %} + allow_ship: true, + {% endif %} + {% endif %} + {% if roles.sales_order.delete %} + allow_delete: true, {% endif %} } ); @@ -281,7 +288,7 @@ name: 'salesorderextraline', filtertarget: '#filter-list-sales-order-extra-lines', {% settings_value "SALESORDER_EDIT_COMPLETED_ORDERS" as allow_edit %} - {% if order.is_pending or allow_edit %} + {% if order.is_open or allow_edit %} allow_edit: {% js_bool roles.sales_order.change %}, allow_delete: {% js_bool roles.sales_order.delete %}, {% else %} diff --git a/InvenTree/templates/js/translated/model_renderers.js b/InvenTree/templates/js/translated/model_renderers.js index 4edb13d165..f69c0ac531 100644 --- a/InvenTree/templates/js/translated/model_renderers.js +++ b/InvenTree/templates/js/translated/model_renderers.js @@ -362,10 +362,16 @@ function renderSalesOrder(data, parameters={}) { image = data.customer_detail.thumbnail || data.customer_detail.image || blankImage(); } + let text = data.reference; + + if (data.customer_detail) { + text += ` - ${data.customer_detail.name}`; + } + return renderModel( { image: image, - text: `${data.reference} - ${data.customer_detail.name}`, + text: text, textSecondary: shortenString(data.description), url: data.url || `/order/sales-order/${data.pk}/`, }, diff --git a/InvenTree/templates/js/translated/sales_order.js b/InvenTree/templates/js/translated/sales_order.js index 763718d100..af8488f6b1 100644 --- a/InvenTree/templates/js/translated/sales_order.js +++ b/InvenTree/templates/js/translated/sales_order.js @@ -27,6 +27,7 @@ createSalesOrderShipment, editSalesOrder, exportOrder, + issueSalesOrder, loadSalesOrderAllocationTable, loadSalesOrderLineItemTable, loadSalesOrderShipmentTable, @@ -456,6 +457,28 @@ function completeSalesOrder(order_id, options={}) { } +/* + * Launches sa modal form to mark a SalesOrder as "issued" + */ +function issueSalesOrder(order_id, options={}) { + + let html = ` +
    + {% trans "Issue this Sales Order?" %} +
    `; + + constructForm(`{% url "api-so-list" %}${order_id}/issue/`, { + method: 'POST', + title: '{% trans "Issue Sales Order" %}', + confirm: true, + preFormContent: html, + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + + /* * Launches a modal form to mark a SalesOrder as "cancelled" */ @@ -1597,10 +1620,6 @@ function loadSalesOrderLineItemTable(table, options={}) { options.table = table; - if (!options.pending && !global_settings.SALESORDER_EDIT_COMPLETED_ORDERS) { - options.allow_edit = false; - } - options.params = options.params || {}; if (!options.order) { @@ -1632,14 +1651,7 @@ function loadSalesOrderLineItemTable(table, options={}) { } ); - // Is the order pending? - var pending = options.pending; - - // Has the order shipped? - var shipped = options.status == {{ SalesOrderStatus.SHIPPED }}; - - // Show detail view if the PurchaseOrder is PENDING or SHIPPED - var show_detail = pending || shipped; + var show_detail = true; // Add callbacks for expand / collapse buttons $('#sales-lines-expand').click(function() { @@ -1750,7 +1762,7 @@ function loadSalesOrderLineItemTable(table, options={}) { } ]; - if (pending) { + if (options.open) { columns.push( { field: 'stock', @@ -1843,25 +1855,22 @@ function loadSalesOrderLineItemTable(table, options={}) { title: '{% trans "Notes" %}', }); - if (pending) { - columns.push({ - field: 'buttons', - switchable: false, - formatter: function(value, row, index, field) { + columns.push({ + field: 'buttons', + switchable: false, + formatter: function(value, row, index, field) { + let pk = row.pk; + let buttons = ''; - let buttons = ''; - - var pk = row.pk; - - if (row.part) { - var part = row.part_detail; + // Construct a set of buttons to display + if (row.part && row.part_detail) { + let part = row.part_detail; + if (options.allow_edit && !row.shipped) { if (part.trackable) { buttons += makeIconButton('fa-hashtag icon-green', 'button-add-by-sn', pk, '{% trans "Allocate serial numbers" %}'); } - buttons += makeIconButton('fa-sign-in-alt icon-green', 'button-add', pk, '{% trans "Allocate stock" %}'); - if (part.purchaseable) { buttons += makeIconButton('fa-shopping-cart', 'button-buy', row.part, '{% trans "Purchase stock" %}'); } @@ -1869,13 +1878,17 @@ function loadSalesOrderLineItemTable(table, options={}) { if (part.assembly) { buttons += makeIconButton('fa-tools', 'button-build', row.part, '{% trans "Build stock" %}'); } - - buttons += makeIconButton('fa-dollar-sign icon-green', 'button-price', pk, '{% trans "Calculate price" %}'); } + } + buttons += makeIconButton('fa-dollar-sign icon-green', 'button-price', pk, '{% trans "Calculate price" %}'); + + if (options.allow_edit) { buttons += makeCopyButton('button-duplicate', pk, '{% trans "Duplicate line item" %}'); buttons += makeEditButton('button-edit', pk, '{% trans "Edit line item" %}'); + } + if (options.allow_delete) { var delete_disabled = false; var title = '{% trans "Delete line item" %}'; @@ -1890,11 +1903,11 @@ function loadSalesOrderLineItemTable(table, options={}) { // Prevent deletion of the line item if items have been allocated or shipped! buttons += makeDeleteButton('button-delete', pk, title, {disabled: delete_disabled}); - - return wrapButtons(buttons); } - }); - } + + return wrapButtons(buttons); + } + }); function reloadTable() { $(table).bootstrapTable('refresh'); @@ -1954,7 +1967,7 @@ function loadSalesOrderLineItemTable(table, options={}) { { success: function(response) { - constructForm(`{% url "api-so-line-list" %}${options.order}/allocate-serials/`, { + constructForm(`{% url "api-so-list" %}${options.order}/allocate-serials/`, { method: 'POST', title: '{% trans "Allocate Serial Numbers" %}', fields: { @@ -2088,7 +2101,7 @@ function loadSalesOrderLineItemTable(table, options={}) { detailViewByClick: false, buttons: constructExpandCollapseButtons(table), detailFilter: function(index, row) { - if (pending) { + if (options.open) { // Order is pending return row.allocated > 0; } else { @@ -2096,7 +2109,7 @@ function loadSalesOrderLineItemTable(table, options={}) { } }, detailFormatter: function(index, row, element) { - if (pending) { + if (options.open) { return showAllocationSubTable(index, row, element, options); } else { return showFulfilledSubTable(index, row, element, options); From 327ecf2156d213cf033c219d25b7b04267b9dd27 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 31 Mar 2023 07:27:24 +1100 Subject: [PATCH 096/140] Implement a generic API endpoint for enumeration of status codes (#4543) * Implement a generic API endpoint for enumeration of status codes * Adds endpoint for PurchaseOrderStatus * Add more endpoints (sales order / return orer) * Add endpoints for StockStatus and StockTrackingCode * Support build status * Use the attribute name as the dict key * Refactored status codes in javascript - Now accessible by "name" (instead of integer key) - Will make javascript code much more readable * Bump API version --- InvenTree/InvenTree/api.py | 41 ++++++++++ InvenTree/InvenTree/api_version.py | 5 +- InvenTree/InvenTree/status_codes.py | 74 ++++++++++++++----- InvenTree/build/api.py | 5 +- InvenTree/order/api.py | 18 ++++- InvenTree/report/api.py | 2 +- InvenTree/stock/api.py | 10 ++- .../templates/js/translated/status_codes.js | 55 ++++++++++++-- InvenTree/templates/status_codes.html | 40 +++------- 9 files changed, 189 insertions(+), 61 deletions(-) diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index c9b5502546..ba2b725a67 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -313,3 +313,44 @@ class APISearchView(APIView): } return Response(results) + + +class StatusView(APIView): + """Generic API endpoint for discovering information on 'status codes' for a particular model. + + This class should be implemented as a subclass for each type of status. + For example, the API endpoint /stock/status/ will have information about + all available 'StockStatus' codes + """ + + permission_classes = [ + permissions.IsAuthenticated, + ] + + # Override status_class for implementing subclass + MODEL_REF = 'statusmodel' + + def get_status_model(self, *args, **kwargs): + """Return the StatusCode moedl based on extra parameters passed to the view""" + + status_model = self.kwargs.get(self.MODEL_REF, None) + + if status_model is None: + raise ValidationError(f"StatusView view called without '{self.MODEL_REF}' parameter") + + return status_model + + def get(self, request, *args, **kwargs): + """Perform a GET request to learn information about status codes""" + + status_class = self.get_status_model() + + if not status_class: + raise NotImplementedError("status_class not defined for this endpoint") + + data = { + 'class': status_class.__name__, + 'values': status_class.dict(), + } + + return Response(data) diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 40ce5d04e3..70c0149ea0 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 104 +INVENTREE_API_VERSION = 105 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v105 -> 2023-03-31 : https://github.com/inventree/InvenTree/pull/4543 + - Adds API endpoints for status label information on various models + v104 -> 2023-03-23 : https://github.com/inventree/InvenTree/pull/4488 - Adds various endpoints for new "ReturnOrder" models - Adds various endpoints for new "ReturnOrderReport" templates diff --git a/InvenTree/InvenTree/status_codes.py b/InvenTree/InvenTree/status_codes.py index 98452e8fa2..cb410c4f5c 100644 --- a/InvenTree/InvenTree/status_codes.py +++ b/InvenTree/InvenTree/status_codes.py @@ -31,23 +31,7 @@ class StatusCode: @classmethod def list(cls): """Return the StatusCode options as a list of mapped key / value items.""" - codes = [] - - for key in cls.options.keys(): - - opt = { - 'key': key, - 'value': cls.options[key] - } - - color = cls.colors.get(key, None) - - if color: - opt['color'] = color - - codes.append(opt) - - return codes + return list(cls.dict().values()) @classmethod def text(cls, key): @@ -69,6 +53,62 @@ class StatusCode: """All status code labels.""" return cls.options.values() + @classmethod + def names(cls): + """Return a map of all 'names' of status codes in this class + + Will return a dict object, with the attribute name indexed to the integer value. + + e.g. + { + 'PENDING': 10, + 'IN_PROGRESS': 20, + } + """ + keys = cls.keys() + status_names = {} + + for d in dir(cls): + if d.startswith('_'): + continue + if d != d.upper(): + continue + + value = getattr(cls, d, None) + + if value is None: + continue + if callable(value): + continue + if type(value) != int: + continue + if value not in keys: + continue + + status_names[d] = value + + return status_names + + @classmethod + def dict(cls): + """Return a dict representation containing all required information""" + values = {} + + for name, value, in cls.names().items(): + entry = { + 'key': value, + 'name': name, + 'label': cls.label(value), + } + + if hasattr(cls, 'colors'): + if color := cls.colors.get(value, None): + entry['color'] = color + + values[name] = entry + + return values + @classmethod def label(cls, value): """Return the status code label associated with the provided value.""" diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index f4f7bad41b..46f735507d 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -10,7 +10,7 @@ from rest_framework.exceptions import ValidationError from django_filters.rest_framework import DjangoFilterBackend from django_filters import rest_framework as rest_filters -from InvenTree.api import AttachmentMixin, APIDownloadMixin, ListCreateDestroyAPIView +from InvenTree.api import AttachmentMixin, APIDownloadMixin, ListCreateDestroyAPIView, StatusView from InvenTree.helpers import str2bool, isNull, DownloadFile from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.status_codes import BuildStatus @@ -536,6 +536,9 @@ build_api_urls = [ re_path(r'^.*$', BuildDetail.as_view(), name='api-build-detail'), ])), + # Build order status code information + re_path(r'status/', StatusView.as_view(), {StatusView.MODEL_REF: BuildStatus}, name='api-build-status-codes'), + # Build List re_path(r'^.*$', BuildList.as_view(), name='api-build-list'), ] diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 4d5b0e5503..6a5522be0d 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -20,12 +20,13 @@ from common.models import InvenTreeSetting from common.settings import settings from company.models import SupplierPart from InvenTree.api import (APIDownloadMixin, AttachmentMixin, - ListCreateDestroyAPIView) + ListCreateDestroyAPIView, StatusView) from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.helpers import DownloadFile, str2bool from InvenTree.mixins import (CreateAPI, ListAPI, ListCreateAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) -from InvenTree.status_codes import PurchaseOrderStatus, SalesOrderStatus +from InvenTree.status_codes import (PurchaseOrderStatus, ReturnOrderLineStatus, + ReturnOrderStatus, SalesOrderStatus) from order.admin import (PurchaseOrderExtraLineResource, PurchaseOrderLineItemResource, PurchaseOrderResource, ReturnOrderResource, SalesOrderExtraLineResource, @@ -1610,6 +1611,9 @@ order_api_urls = [ re_path(r'.*$', PurchaseOrderDetail.as_view(), name='api-po-detail'), ])), + # Purchase order status code information + re_path(r'status/', StatusView.as_view(), {StatusView.MODEL_REF: PurchaseOrderStatus}, name='api-po-status-codes'), + # Purchase order list re_path(r'^.*$', PurchaseOrderList.as_view(), name='api-po-list'), ])), @@ -1661,6 +1665,9 @@ order_api_urls = [ re_path(r'^.*$', SalesOrderDetail.as_view(), name='api-so-detail'), ])), + # Sales order status code information + re_path(r'status/', StatusView.as_view(), {StatusView.MODEL_REF: SalesOrderStatus}, name='api-so-status-codes'), + # Sales order list view re_path(r'^.*$', SalesOrderList.as_view(), name='api-so-list'), ])), @@ -1706,6 +1713,9 @@ order_api_urls = [ re_path(r'.*$', ReturnOrderDetail.as_view(), name='api-return-order-detail'), ])), + # Return order status code information + re_path(r'status/', StatusView.as_view(), {StatusView.MODEL_REF: ReturnOrderStatus}, name='api-return-order-status-codes'), + # Return Order list re_path(r'^.*$', ReturnOrderList.as_view(), name='api-return-order-list'), ])), @@ -1713,6 +1723,10 @@ order_api_urls = [ # API endpoints for reutrn order lines re_path(r'^ro-line/', include([ path('/', ReturnOrderLineItemDetail.as_view(), name='api-return-order-line-detail'), + + # Return order line item status code information + re_path(r'status/', StatusView.as_view(), {StatusView.MODEL_REF: ReturnOrderLineStatus}, name='api-return-order-line-status-codes'), + path('', ReturnOrderLineItemList.as_view(), name='api-return-order-line-list'), ])), diff --git a/InvenTree/report/api.py b/InvenTree/report/api.py index e3c9820931..45490a5754 100644 --- a/InvenTree/report/api.py +++ b/InvenTree/report/api.py @@ -502,7 +502,7 @@ report_api_urls = [ ])), # Return order reports - re_path(r'return-order/', include([ + re_path(r'ro/', include([ path(r'/', include([ path(r'print/', ReturnOrderReportPrint.as_view(), name='api-return-order-report-print'), path('', ReturnOrderReportDetail.as_view(), name='api-return-order-report-detail'), diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 36355881c5..c0e58aa8ce 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -23,13 +23,14 @@ from build.models import Build from company.models import Company, SupplierPart from company.serializers import CompanySerializer, SupplierPartSerializer from InvenTree.api import (APIDownloadMixin, AttachmentMixin, - ListCreateDestroyAPIView) + ListCreateDestroyAPIView, StatusView) from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.helpers import (DownloadFile, extract_serial_numbers, isNull, str2bool, str2int) from InvenTree.mixins import (CreateAPI, CustomRetrieveUpdateDestroyAPI, ListAPI, ListCreateAPI, RetrieveAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) +from InvenTree.status_codes import StockHistoryCode, StockStatus from order.models import (PurchaseOrder, ReturnOrder, SalesOrder, SalesOrderAllocation) from order.serializers import (PurchaseOrderSerializer, ReturnOrderSerializer, @@ -1421,6 +1422,10 @@ stock_api_urls = [ # StockItemTracking API endpoints re_path(r'^track/', include([ path(r'/', StockTrackingDetail.as_view(), name='api-stock-tracking-detail'), + + # Stock tracking status code information + re_path(r'status/', StatusView.as_view(), {StatusView.MODEL_REF: StockHistoryCode}, name='api-stock-tracking-status-codes'), + re_path(r'^.*$', StockTrackingList.as_view(), name='api-stock-tracking-list'), ])), @@ -1435,6 +1440,9 @@ stock_api_urls = [ re_path(r'^.*$', StockDetail.as_view(), name='api-stock-detail'), ])), + # Stock item status code information + re_path(r'status/', StatusView.as_view(), {StatusView.MODEL_REF: StockStatus}, name='api-stock-status-codes'), + # Anything else re_path(r'^.*$', StockList.as_view(), name='api-stock-list'), ] diff --git a/InvenTree/templates/js/translated/status_codes.js b/InvenTree/templates/js/translated/status_codes.js index caab07270e..3b4c38e6df 100644 --- a/InvenTree/templates/js/translated/status_codes.js +++ b/InvenTree/templates/js/translated/status_codes.js @@ -15,10 +15,51 @@ stockStatusDisplay, */ -{% include "status_codes.html" with label='stock' options=StockStatus.list %} -{% include "status_codes.html" with label='stockHistory' options=StockHistoryCode.list %} -{% include "status_codes.html" with label='build' options=BuildStatus.list %} -{% include "status_codes.html" with label='purchaseOrder' options=PurchaseOrderStatus.list %} -{% include "status_codes.html" with label='salesOrder' options=SalesOrderStatus.list %} -{% include "status_codes.html" with label='returnOrder' options=ReturnOrderStatus.list %} -{% include "status_codes.html" with label='returnOrderLineItem' options=ReturnOrderLineStatus.list %} + +/* + * Generic function to render a status label + */ +function renderStatusLabel(key, codes, options={}) { + + let text = null; + let label = null; + + // Find the entry which matches the provided key + for (var name in codes) { + let entry = codes[name]; + + if (entry.key == key) { + text = entry.value; + label = entry.label; + break; + } + } + + if (!text) { + console.error(`renderStatusLabel could not find match for code ${key}`); + } + + // Fallback for color + label = label || 'bg-dark'; + + if (!text) { + text = key; + } + + let classes = `badge rounded-pill ${label}`; + + if (options.classes) { + classes += ` ${options.classes}`; + } + + return `${text}`; +} + + +{% include "status_codes.html" with label='stock' data=StockStatus.list %} +{% include "status_codes.html" with label='stockHistory' data=StockHistoryCode.list %} +{% include "status_codes.html" with label='build' data=BuildStatus.list %} +{% include "status_codes.html" with label='purchaseOrder' data=PurchaseOrderStatus.list %} +{% include "status_codes.html" with label='salesOrder' data=SalesOrderStatus.list %} +{% include "status_codes.html" with label='returnOrder' data=ReturnOrderStatus.list %} +{% include "status_codes.html" with label='returnOrderLineItem' data=ReturnOrderLineStatus.list %} diff --git a/InvenTree/templates/status_codes.html b/InvenTree/templates/status_codes.html index e48424477f..6d241352b2 100644 --- a/InvenTree/templates/status_codes.html +++ b/InvenTree/templates/status_codes.html @@ -1,11 +1,15 @@ +{% load report %} + /* * Status codes for the {{ label }} model. + * Generated from the values specified in "status_codes.py" */ const {{ label }}Codes = { - {% for opt in options %}'{{ opt.key }}': { - key: '{{ opt.key }}', - value: '{{ opt.value }}',{% if opt.color %} - label: 'bg-{{ opt.color }}',{% endif %} + {% for entry in data %} + '{{ entry.name }}': { + key: {{ entry.key }}, + value: '{{ entry.label }}',{% if entry.color %} + label: 'bg-{{ entry.color }}',{% endif %} }, {% endfor %} }; @@ -13,33 +17,7 @@ const {{ label }}Codes = { /* * Render the status for a {{ label }} object. * Uses the values specified in "status_codes.py" - * This function is generated by the "status_codes.html" template */ function {{ label }}StatusDisplay(key, options={}) { - - key = String(key); - - var value = null; - var label = null; - - if (key in {{ label }}Codes) { - value = {{ label }}Codes[key].value; - label = {{ label }}Codes[key].label; - } - - // Fallback option for label - label = label || 'bg-dark'; - - if (value == null || value.length == 0) { - value = key; - label = ''; - } - - var classes = `badge rounded-pill ${label}`; - - if (options.classes) { - classes += ' ' + options.classes; - } - - return `${value}`; + return renderStatusLabel(key, {{ label }}Codes, options); } From 08d0084e07a273361a22843f6e4f76623d5b70d3 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 31 Mar 2023 10:42:54 +1100 Subject: [PATCH 097/140] Metadata API refactor (#4545) * Add generic metadata API endpoint (cherry picked from commit 7bbd53fc7647e2bb18d36c8c351e3fc080037ab1) * Refactor metadata endpoints for build models (cherry picked from commit 722b44e1259f1c5b046c7bc4328995b8238fc342) * Update metadata views for company models * labels * orders * part * report * stock --- InvenTree/InvenTree/api.py | 25 +++++++++++ InvenTree/build/api.py | 30 ++----------- InvenTree/company/api.py | 43 +++--------------- InvenTree/label/api.py | 41 +++--------------- InvenTree/order/api.py | 89 ++++---------------------------------- InvenTree/part/api.py | 51 +++------------------- InvenTree/report/api.py | 41 ++++-------------- InvenTree/stock/api.py | 29 ++----------- 8 files changed, 66 insertions(+), 283 deletions(-) diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index ba2b725a67..5f52c8431e 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -16,7 +16,9 @@ import users.models from InvenTree.mixins import ListCreateAPI from InvenTree.permissions import RolePermission from part.templatetags.inventree_extras import plugins_info +from plugin.serializers import MetadataSerializer +from .mixins import RetrieveUpdateAPI from .status import is_worker_running from .version import (inventreeApiVersion, inventreeInstanceName, inventreeVersion) @@ -354,3 +356,26 @@ class StatusView(APIView): } return Response(data) + + +class MetadataView(RetrieveUpdateAPI): + """Generic API endpoint for reading and editing metadata for a model""" + + MODEL_REF = 'model' + + def get_model_type(self): + """Return the model type associated with this API instance""" + model = self.kwargs.get(self.MODEL_REF, None) + + if model is None: + raise ValidationError(f"MetadataView called without '{self.MODEL_REF}' parameter") + + return model + + def get_queryset(self): + """Return the queryset for this endpoint""" + return self.get_model_type().objects.all() + + def get_serializer(self, *args, **kwargs): + """Return MetadataSerializer instance""" + return MetadataSerializer(self.get_model_type(), *args, **kwargs) diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 46f735507d..67b3ce559e 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -10,13 +10,11 @@ from rest_framework.exceptions import ValidationError from django_filters.rest_framework import DjangoFilterBackend from django_filters import rest_framework as rest_filters -from InvenTree.api import AttachmentMixin, APIDownloadMixin, ListCreateDestroyAPIView, StatusView +from InvenTree.api import AttachmentMixin, APIDownloadMixin, ListCreateDestroyAPIView, MetadataView, StatusView from InvenTree.helpers import str2bool, isNull, DownloadFile from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.status_codes import BuildStatus -from InvenTree.mixins import CreateAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI, ListCreateAPI - -from plugin.serializers import MetadataSerializer +from InvenTree.mixins import CreateAPI, RetrieveUpdateDestroyAPI, ListCreateAPI import build.admin import build.serializers @@ -292,16 +290,6 @@ class BuildOrderContextMixin: return ctx -class BuildOrderMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating BuildOrder metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance""" - return MetadataSerializer(Build, *args, **kwargs) - - queryset = Build.objects.all() - - class BuildOutputCreate(BuildOrderContextMixin, CreateAPI): """API endpoint for creating new build output(s).""" @@ -473,16 +461,6 @@ class BuildItemList(ListCreateAPI): ] -class BuildItemMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating BuildItem metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance""" - return MetadataSerializer(BuildItem, *args, **kwargs) - - queryset = BuildItem.objects.all() - - class BuildAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): """API endpoint for listing (and creating) BuildOrderAttachment objects.""" @@ -516,7 +494,7 @@ build_api_urls = [ # Build Items re_path(r'^item/', include([ path(r'/', include([ - re_path(r'^metadata/', BuildItemMetadata.as_view(), name='api-build-item-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': BuildItem}, name='api-build-item-metadata'), re_path(r'^.*$', BuildItemDetail.as_view(), name='api-build-item-detail'), ])), re_path(r'^.*$', BuildItemList.as_view(), name='api-build-item-list'), @@ -532,7 +510,7 @@ build_api_urls = [ re_path(r'^finish/', BuildFinish.as_view(), name='api-build-finish'), re_path(r'^cancel/', BuildCancel.as_view(), name='api-build-cancel'), re_path(r'^unallocate/', BuildUnallocate.as_view(), name='api-build-unallocate'), - re_path(r'^metadata/', BuildOrderMetadata.as_view(), name='api-build-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': Build}, name='api-build-metadata'), re_path(r'^.*$', BuildDetail.as_view(), name='api-build-detail'), ])), diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 89dccdb427..62224fb4ca 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -8,12 +8,11 @@ from django_filters.rest_framework import DjangoFilterBackend from rest_framework import filters import part.models -from InvenTree.api import AttachmentMixin, ListCreateDestroyAPIView +from InvenTree.api import (AttachmentMixin, ListCreateDestroyAPIView, + MetadataView) from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.helpers import str2bool -from InvenTree.mixins import (ListCreateAPI, RetrieveUpdateAPI, - RetrieveUpdateDestroyAPI) -from plugin.serializers import MetadataSerializer +from InvenTree.mixins import ListCreateAPI, RetrieveUpdateDestroyAPI from .models import (Company, CompanyAttachment, Contact, ManufacturerPart, ManufacturerPartAttachment, ManufacturerPartParameter, @@ -87,16 +86,6 @@ class CompanyDetail(RetrieveUpdateDestroyAPI): return queryset -class CompanyMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating Company metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance for a Company""" - return MetadataSerializer(Company, *args, **kwargs) - - queryset = Company.objects.all() - - class CompanyAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): """API endpoint for the CompanyAttachment model""" @@ -231,16 +220,6 @@ class ManufacturerPartDetail(RetrieveUpdateDestroyAPI): serializer_class = ManufacturerPartSerializer -class ManufacturerPartMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating ManufacturerPart metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance for a Company""" - return MetadataSerializer(ManufacturerPart, *args, **kwargs) - - queryset = ManufacturerPart.objects.all() - - class ManufacturerPartAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): """API endpoint for listing (and creating) a ManufacturerPartAttachment (file upload).""" @@ -470,16 +449,6 @@ class SupplierPartDetail(RetrieveUpdateDestroyAPI): ] -class SupplierPartMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating SupplierPart metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance for a Company""" - return MetadataSerializer(SupplierPart, *args, **kwargs) - - queryset = SupplierPart.objects.all() - - class SupplierPriceBreakFilter(rest_filters.FilterSet): """Custom API filters for the SupplierPriceBreak list endpoint""" @@ -567,7 +536,7 @@ manufacturer_part_api_urls = [ ])), re_path(r'^(?P\d+)/?', include([ - re_path('^metadata/', ManufacturerPartMetadata.as_view(), name='api-manufacturer-part-metadata'), + re_path('^metadata/', MetadataView.as_view(), {'model': ManufacturerPart}, name='api-manufacturer-part-metadata'), re_path('^.*$', ManufacturerPartDetail.as_view(), name='api-manufacturer-part-detail'), ])), @@ -579,7 +548,7 @@ manufacturer_part_api_urls = [ supplier_part_api_urls = [ re_path(r'^(?P\d+)/?', include([ - re_path('^metadata/', SupplierPartMetadata.as_view(), name='api-supplier-part-metadata'), + re_path('^metadata/', MetadataView.as_view(), {'model': SupplierPart}, name='api-supplier-part-metadata'), re_path('^.*$', SupplierPartDetail.as_view(), name='api-supplier-part-detail'), ])), @@ -601,7 +570,7 @@ company_api_urls = [ ])), re_path(r'^(?P\d+)/?', include([ - re_path(r'^metadata/', CompanyMetadata.as_view(), name='api-company-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': Company}, name='api-company-metadata'), re_path(r'^.*$', CompanyDetail.as_view(), name='api-company-detail'), ])), diff --git a/InvenTree/label/api.py b/InvenTree/label/api.py index 3a298f3bc5..df56924109 100644 --- a/InvenTree/label/api.py +++ b/InvenTree/label/api.py @@ -13,13 +13,12 @@ from rest_framework.exceptions import NotFound import common.models import InvenTree.helpers -from InvenTree.mixins import (ListAPI, RetrieveAPI, RetrieveUpdateAPI, - RetrieveUpdateDestroyAPI) +from InvenTree.api import MetadataView +from InvenTree.mixins import ListAPI, RetrieveAPI, RetrieveUpdateDestroyAPI from InvenTree.tasks import offload_task from part.models import Part from plugin.base.label import label as plugin_label from plugin.registry import registry -from plugin.serializers import MetadataSerializer from stock.models import StockItem, StockLocation from .models import PartLabel, StockItemLabel, StockLocationLabel @@ -307,16 +306,6 @@ class StockItemLabelDetail(StockItemLabelMixin, RetrieveUpdateDestroyAPI): pass -class StockItemLabelMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating StockItemLabel metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance for a Company""" - return MetadataSerializer(StockItemLabel, *args, **kwargs) - - queryset = StockItemLabel.objects.all() - - class StockItemLabelPrint(StockItemLabelMixin, LabelPrintMixin, RetrieveAPI): """API endpoint for printing a StockItemLabel object.""" pass @@ -349,16 +338,6 @@ class StockLocationLabelDetail(StockLocationLabelMixin, RetrieveUpdateDestroyAPI pass -class StockLocationLabelMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating StockLocationLabel metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance for a Company""" - return MetadataSerializer(StockLocationLabel, *args, **kwargs) - - queryset = StockLocationLabel.objects.all() - - class StockLocationLabelPrint(StockLocationLabelMixin, LabelPrintMixin, RetrieveAPI): """API endpoint for printing a StockLocationLabel object.""" pass @@ -378,16 +357,6 @@ class PartLabelList(PartLabelMixin, LabelListView): pass -class PartLabelMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating PartLabel metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance for a Company""" - return MetadataSerializer(PartLabel, *args, **kwargs) - - queryset = PartLabel.objects.all() - - class PartLabelDetail(PartLabelMixin, RetrieveUpdateDestroyAPI): """API endpoint for a single PartLabel object.""" pass @@ -405,7 +374,7 @@ label_api_urls = [ # Detail views path(r'/', include([ re_path(r'print/?', StockItemLabelPrint.as_view(), name='api-stockitem-label-print'), - re_path(r'metadata/', StockItemLabelMetadata.as_view(), name='api-stockitem-label-metadata'), + re_path(r'metadata/', MetadataView.as_view(), {'model': StockItemLabel}, name='api-stockitem-label-metadata'), re_path(r'^.*$', StockItemLabelDetail.as_view(), name='api-stockitem-label-detail'), ])), @@ -418,7 +387,7 @@ label_api_urls = [ # Detail views path(r'/', include([ re_path(r'print/?', StockLocationLabelPrint.as_view(), name='api-stocklocation-label-print'), - re_path(r'metadata/', StockLocationLabelMetadata.as_view(), name='api-stocklocation-label-metadata'), + re_path(r'metadata/', MetadataView.as_view(), {'model': StockLocationLabel}, name='api-stocklocation-label-metadata'), re_path(r'^.*$', StockLocationLabelDetail.as_view(), name='api-stocklocation-label-detail'), ])), @@ -431,7 +400,7 @@ label_api_urls = [ # Detail views path(r'/', include([ re_path(r'^print/', PartLabelPrint.as_view(), name='api-part-label-print'), - re_path(r'^metadata/', PartLabelMetadata.as_view(), name='api-part-label-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': PartLabel}, name='api-part-label-metadata'), re_path(r'^.*$', PartLabelDetail.as_view(), name='api-part-label-detail'), ])), diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 6a5522be0d..975dfb5f66 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -20,11 +20,11 @@ from common.models import InvenTreeSetting from common.settings import settings from company.models import SupplierPart from InvenTree.api import (APIDownloadMixin, AttachmentMixin, - ListCreateDestroyAPIView, StatusView) + ListCreateDestroyAPIView, MetadataView, StatusView) from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.helpers import DownloadFile, str2bool from InvenTree.mixins import (CreateAPI, ListAPI, ListCreateAPI, - RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) + RetrieveUpdateDestroyAPI) from InvenTree.status_codes import (PurchaseOrderStatus, ReturnOrderLineStatus, ReturnOrderStatus, SalesOrderStatus) from order.admin import (PurchaseOrderExtraLineResource, @@ -32,7 +32,6 @@ from order.admin import (PurchaseOrderExtraLineResource, ReturnOrderResource, SalesOrderExtraLineResource, SalesOrderLineItemResource, SalesOrderResource) from part.models import Part -from plugin.serializers import MetadataSerializer from users.models import Owner @@ -385,16 +384,6 @@ class PurchaseOrderIssue(PurchaseOrderContextMixin, CreateAPI): serializer_class = serializers.PurchaseOrderIssueSerializer -class PurchaseOrderMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating PurchaseOrder metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance for a PurchaseOrder""" - return MetadataSerializer(models.PurchaseOrder, *args, **kwargs) - - queryset = models.PurchaseOrder.objects.all() - - class PurchaseOrderReceive(PurchaseOrderContextMixin, CreateAPI): """API endpoint to receive stock items against a PurchaseOrder. @@ -557,16 +546,6 @@ class PurchaseOrderLineItemDetail(PurchaseOrderLineItemMixin, RetrieveUpdateDest pass -class PurchaseOrderLineItemMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating PurchaseOrderLineItem metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance for a Company""" - return MetadataSerializer(models.PurchaseOrderLineItem, *args, **kwargs) - - queryset = models.PurchaseOrderLineItem.objects.all() - - class PurchaseOrderExtraLineList(GeneralExtraLineList, ListCreateAPI): """API endpoint for accessing a list of PurchaseOrderExtraLine objects.""" @@ -590,16 +569,6 @@ class PurchaseOrderExtraLineDetail(RetrieveUpdateDestroyAPI): serializer_class = serializers.PurchaseOrderExtraLineSerializer -class PurchaseOrderExtraLineItemMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating PurchaseOrderExtraLineItem metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance""" - return MetadataSerializer(models.PurchaseOrderExtraLine, *args, **kwargs) - - queryset = models.PurchaseOrderExtraLine.objects.all() - - class SalesOrderAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): """API endpoint for listing (and creating) a SalesOrderAttachment (file upload)""" @@ -873,16 +842,6 @@ class SalesOrderLineItemDetail(SalesOrderLineItemMixin, RetrieveUpdateDestroyAPI pass -class SalesOrderLineItemMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating SalesOrderLineItem metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance""" - return MetadataSerializer(models.SalesOrderLineItem, *args, **kwargs) - - queryset = models.SalesOrderLineItem.objects.all() - - class SalesOrderExtraLineList(GeneralExtraLineList, ListCreateAPI): """API endpoint for accessing a list of SalesOrderExtraLine objects.""" @@ -906,16 +865,6 @@ class SalesOrderExtraLineDetail(RetrieveUpdateDestroyAPI): serializer_class = serializers.SalesOrderExtraLineSerializer -class SalesOrderExtraLineItemMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating SalesOrderExtraLineItem metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance""" - return MetadataSerializer(models.SalesOrderExtraLine, *args, **kwargs) - - queryset = models.SalesOrderExtraLine.objects.all() - - class SalesOrderContextMixin: """Mixin to add sales order object as serializer context variable.""" @@ -951,16 +900,6 @@ class SalesOrderComplete(SalesOrderContextMixin, CreateAPI): serializer_class = serializers.SalesOrderCompleteSerializer -class SalesOrderMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating SalesOrder metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return a metadata serializer for the SalesOrder model""" - return MetadataSerializer(models.SalesOrder, *args, **kwargs) - - queryset = models.SalesOrder.objects.all() - - class SalesOrderAllocateSerials(SalesOrderContextMixin, CreateAPI): """API endpoint to allocation stock items against a SalesOrder, by specifying serial numbers.""" @@ -1122,16 +1061,6 @@ class SalesOrderShipmentComplete(CreateAPI): return ctx -class SalesOrderShipmentMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating SalesOrderShipment metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return MetadataSerializer instance""" - return MetadataSerializer(models.SalesOrderShipment, *args, **kwargs) - - queryset = models.SalesOrderShipment.objects.all() - - class PurchaseOrderAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): """API endpoint for listing (and creating) a PurchaseOrderAttachment (file upload)""" @@ -1604,7 +1533,7 @@ order_api_urls = [ re_path(r'^cancel/', PurchaseOrderCancel.as_view(), name='api-po-cancel'), re_path(r'^complete/', PurchaseOrderComplete.as_view(), name='api-po-complete'), re_path(r'^issue/', PurchaseOrderIssue.as_view(), name='api-po-issue'), - re_path(r'^metadata/', PurchaseOrderMetadata.as_view(), name='api-po-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': models.PurchaseOrder}, name='api-po-metadata'), re_path(r'^receive/', PurchaseOrderReceive.as_view(), name='api-po-receive'), # PurchaseOrder detail API endpoint @@ -1621,7 +1550,7 @@ order_api_urls = [ # API endpoints for purchase order line items re_path(r'^po-line/', include([ path('/', include([ - re_path(r'^metadata/', PurchaseOrderLineItemMetadata.as_view(), name='api-po-line-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': models.PurchaseOrderLineItem}, name='api-po-line-metadata'), re_path(r'^.*$', PurchaseOrderLineItemDetail.as_view(), name='api-po-line-detail'), ])), re_path(r'^.*$', PurchaseOrderLineItemList.as_view(), name='api-po-line-list'), @@ -1630,7 +1559,7 @@ order_api_urls = [ # API endpoints for purchase order extra line re_path(r'^po-extra-line/', include([ path('/', include([ - re_path(r'^metadata/', PurchaseOrderExtraLineItemMetadata.as_view(), name='api-po-extra-line-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': models.PurchaseOrderExtraLine}, name='api-po-extra-line-metadata'), re_path(r'^.*$', PurchaseOrderExtraLineDetail.as_view(), name='api-po-extra-line-detail'), ])), path('', PurchaseOrderExtraLineList.as_view(), name='api-po-extra-line-list'), @@ -1646,7 +1575,7 @@ order_api_urls = [ re_path(r'^shipment/', include([ path(r'/', include([ path('ship/', SalesOrderShipmentComplete.as_view(), name='api-so-shipment-ship'), - re_path(r'^metadata/', SalesOrderShipmentMetadata.as_view(), name='api-so-shipment-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': models.SalesOrderShipment}, name='api-so-shipment-metadata'), re_path(r'^.*$', SalesOrderShipmentDetail.as_view(), name='api-so-shipment-detail'), ])), re_path(r'^.*$', SalesOrderShipmentList.as_view(), name='api-so-shipment-list'), @@ -1659,7 +1588,7 @@ order_api_urls = [ re_path(r'^cancel/', SalesOrderCancel.as_view(), name='api-so-cancel'), re_path(r'^issue/', SalesOrderIssue.as_view(), name='api-so-issue'), re_path(r'^complete/', SalesOrderComplete.as_view(), name='api-so-complete'), - re_path(r'^metadata/', SalesOrderMetadata.as_view(), name='api-so-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': models.SalesOrder}, name='api-so-metadata'), # SalesOrder detail endpoint re_path(r'^.*$', SalesOrderDetail.as_view(), name='api-so-detail'), @@ -1675,7 +1604,7 @@ order_api_urls = [ # API endpoints for sales order line items re_path(r'^so-line/', include([ path('/', include([ - re_path(r'^metadata/', SalesOrderLineItemMetadata.as_view(), name='api-so-line-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': models.SalesOrderLineItem}, name='api-so-line-metadata'), re_path(r'^.*$', SalesOrderLineItemDetail.as_view(), name='api-so-line-detail'), ])), path('', SalesOrderLineItemList.as_view(), name='api-so-line-list'), @@ -1684,7 +1613,7 @@ order_api_urls = [ # API endpoints for sales order extra line re_path(r'^so-extra-line/', include([ path('/', include([ - re_path(r'^metadata/', SalesOrderExtraLineItemMetadata.as_view(), name='api-so-extra-line-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': models.SalesOrderExtraLine}, name='api-so-extra-line-metadata'), re_path(r'^.*$', SalesOrderExtraLineDetail.as_view(), name='api-so-extra-line-detail'), ])), path('', SalesOrderExtraLineList.as_view(), name='api-so-extra-line-list'), diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 6ea2a3b673..2683c26673 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -16,7 +16,7 @@ from rest_framework.response import Response import order.models from build.models import Build, BuildItem from InvenTree.api import (APIDownloadMixin, AttachmentMixin, - ListCreateDestroyAPIView) + ListCreateDestroyAPIView, MetadataView) from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.helpers import (DownloadFile, increment_serial_number, isNull, str2bool, str2int) @@ -28,7 +28,6 @@ from InvenTree.permissions import RolePermission from InvenTree.status_codes import (BuildStatus, PurchaseOrderStatus, SalesOrderStatus) from part.admin import PartCategoryResource, PartResource -from plugin.serializers import MetadataSerializer from . import serializers as part_serializers from . import views @@ -230,16 +229,6 @@ class CategoryTree(ListAPI): ordering = ['level', 'name'] -class CategoryMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating PartCategory metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return a MetadataSerializer pointing to the referenced PartCategory instance""" - return MetadataSerializer(PartCategory, *args, **kwargs) - - queryset = PartCategory.objects.all() - - class CategoryParameterList(ListCreateAPI): """API endpoint for accessing a list of PartCategoryParameterTemplate objects. @@ -698,16 +687,6 @@ class PartRequirements(RetrieveAPI): return Response(data) -class PartMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating Part metadata.""" - - def get_serializer(self, *args, **kwargs): - """Returns a MetadataSerializer instance pointing to the referenced Part""" - return MetadataSerializer(Part, *args, **kwargs) - - queryset = Part.objects.all() - - class PartPricingDetail(RetrieveUpdateAPI): """API endpoint for viewing part pricing data""" @@ -1415,16 +1394,6 @@ class PartParameterTemplateDetail(RetrieveUpdateDestroyAPI): serializer_class = part_serializers.PartParameterTemplateSerializer -class PartParameterTemplateMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating PartParameterTemplate metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return a MetadataSerializer pointing to the referenced PartParameterTemplate instance""" - return MetadataSerializer(PartParameterTemplate, *args, **kwargs) - - queryset = PartParameterTemplate.objects.all() - - class PartParameterList(ListCreateAPI): """API endpoint for accessing a list of PartParameter objects. @@ -1886,16 +1855,6 @@ class BomItemSubstituteDetail(RetrieveUpdateDestroyAPI): serializer_class = part_serializers.BomItemSubstituteSerializer -class BomItemMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating PartBOM metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return a MetadataSerializer pointing to the referenced PartCategory instance""" - return MetadataSerializer(BomItem, *args, **kwargs) - - queryset = BomItem.objects.all() - - part_api_urls = [ # Base URL for PartCategory API endpoints @@ -1910,7 +1869,7 @@ part_api_urls = [ # Category detail endpoints path(r'/', include([ - re_path(r'^metadata/', CategoryMetadata.as_view(), name='api-part-category-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': PartCategory}, name='api-part-category-metadata'), # PartCategory detail endpoint re_path(r'^.*$', CategoryDetail.as_view(), name='api-part-category-detail'), @@ -1953,7 +1912,7 @@ part_api_urls = [ re_path(r'^parameter/', include([ path('template/', include([ re_path(r'^(?P\d+)/', include([ - re_path(r'^metadata/?', PartParameterTemplateMetadata.as_view(), name='api-part-parameter-template-metadata'), + re_path(r'^metadata/?', MetadataView.as_view(), {'model': PartParameter}, name='api-part-parameter-template-metadata'), re_path(r'^.*$', PartParameterTemplateDetail.as_view(), name='api-part-parameter-template-detail'), ])), re_path(r'^.*$', PartParameterTemplateList.as_view(), name='api-part-parameter-template-list'), @@ -2000,7 +1959,7 @@ part_api_urls = [ re_path(r'^bom-validate/', PartValidateBOM.as_view(), name='api-part-bom-validate'), # Part metadata - re_path(r'^metadata/', PartMetadata.as_view(), name='api-part-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': Part}, name='api-part-metadata'), # Part pricing re_path(r'^pricing/', PartPricingDetail.as_view(), name='api-part-pricing'), @@ -2032,7 +1991,7 @@ bom_api_urls = [ # BOM Item Detail path(r'/', include([ re_path(r'^validate/?', BomItemValidate.as_view(), name='api-bom-item-validate'), - re_path(r'^metadata/?', BomItemMetadata.as_view(), name='api-bom-item-metadata'), + re_path(r'^metadata/?', MetadataView.as_view(), {'model': BomItem}, name='api-bom-item-metadata'), re_path(r'^.*$', BomDetail.as_view(), name='api-bom-item-detail'), ])), diff --git a/InvenTree/report/api.py b/InvenTree/report/api.py index 45490a5754..e01309217c 100644 --- a/InvenTree/report/api.py +++ b/InvenTree/report/api.py @@ -18,9 +18,8 @@ import common.models import InvenTree.helpers import order.models import part.models -from InvenTree.mixins import (ListAPI, RetrieveAPI, RetrieveUpdateAPI, - RetrieveUpdateDestroyAPI) -from plugin.serializers import MetadataSerializer +from InvenTree.api import MetadataView +from InvenTree.mixins import ListAPI, RetrieveAPI, RetrieveUpdateDestroyAPI from stock.models import StockItem, StockItemAttachment from .models import (BillOfMaterialsReport, BuildReport, PurchaseOrderReport, @@ -449,31 +448,6 @@ class ReturnOrderReportPrint(ReturnOrderReportMixin, ReportPrintMixin, RetrieveA pass -class ReportMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating Report metadata.""" - MODEL_REF = 'reportmodel' - - def _get_model(self, *args, **kwargs): - """Return model depending on which report type is requested in get_view constructor.""" - reportmodel = self.kwargs.get(self.MODEL_REF, PurchaseOrderReport) - - if reportmodel not in [PurchaseOrderReport, SalesOrderReport, BuildReport, BillOfMaterialsReport, TestReport]: - raise ValidationError("Invalid report model") - return reportmodel - - # Return corresponding Serializer - def get_serializer(self, *args, **kwargs): - """Return correct MetadataSerializer instance depending on which model is requested""" - # Get type of report, make sure its one of the allowed values - UseModel = self._get_model(*args, **kwargs) - return MetadataSerializer(UseModel, *args, **kwargs) - - def get_queryset(self, *args, **kwargs): - """Return correct queryset depending on which model is requested""" - UseModel = self._get_model(*args, **kwargs) - return UseModel.objects.all() - - report_api_urls = [ # Purchase order reports @@ -481,7 +455,7 @@ report_api_urls = [ # Detail views path(r'/', include([ re_path(r'print/', PurchaseOrderReportPrint.as_view(), name='api-po-report-print'), - re_path(r'metadata/', ReportMetadata.as_view(), {ReportMetadata.MODEL_REF: PurchaseOrderReport}, name='api-po-report-metadata'), + re_path(r'metadata/', MetadataView.as_view(), {'model': PurchaseOrderReport}, name='api-po-report-metadata'), path('', PurchaseOrderReportDetail.as_view(), name='api-po-report-detail'), ])), @@ -494,7 +468,7 @@ report_api_urls = [ # Detail views path(r'/', include([ re_path(r'print/', SalesOrderReportPrint.as_view(), name='api-so-report-print'), - re_path(r'metadata/', ReportMetadata.as_view(), {ReportMetadata.MODEL_REF: SalesOrderReport}, name='api-so-report-metadata'), + re_path(r'metadata/', MetadataView.as_view(), {'model': SalesOrderReport}, name='api-so-report-metadata'), path('', SalesOrderReportDetail.as_view(), name='api-so-report-detail'), ])), @@ -505,6 +479,7 @@ report_api_urls = [ re_path(r'ro/', include([ path(r'/', include([ path(r'print/', ReturnOrderReportPrint.as_view(), name='api-return-order-report-print'), + re_path(r'metadata/', MetadataView.as_view(), {'model': ReturnOrderReport}, name='api-so-report-metadata'), path('', ReturnOrderReportDetail.as_view(), name='api-return-order-report-detail'), ])), path('', ReturnOrderReportList.as_view(), name='api-return-order-report-list'), @@ -515,7 +490,7 @@ report_api_urls = [ # Detail views path(r'/', include([ re_path(r'print/?', BuildReportPrint.as_view(), name='api-build-report-print'), - re_path(r'metadata/', ReportMetadata.as_view(), {ReportMetadata.MODEL_REF: BuildReport}, name='api-build-report-metadata'), + re_path(r'metadata/', MetadataView.as_view(), {'model': BuildReport}, name='api-build-report-metadata'), re_path(r'^.$', BuildReportDetail.as_view(), name='api-build-report-detail'), ])), @@ -529,7 +504,7 @@ report_api_urls = [ # Detail views path(r'/', include([ re_path(r'print/?', BOMReportPrint.as_view(), name='api-bom-report-print'), - re_path(r'metadata/', ReportMetadata.as_view(), {ReportMetadata.MODEL_REF: BillOfMaterialsReport}, name='api-bom-report-metadata'), + re_path(r'metadata/', MetadataView.as_view(), {'model': BillOfMaterialsReport}, name='api-bom-report-metadata'), re_path(r'^.*$', BOMReportDetail.as_view(), name='api-bom-report-detail'), ])), @@ -542,7 +517,7 @@ report_api_urls = [ # Detail views path(r'/', include([ re_path(r'print/?', StockItemTestReportPrint.as_view(), name='api-stockitem-testreport-print'), - re_path(r'metadata/', ReportMetadata.as_view(), {ReportMetadata.MODEL_REF: TestReport}, name='api-stockitem-testreport-metadata'), + re_path(r'metadata/', MetadataView.as_view(), {'report': TestReport}, name='api-stockitem-testreport-metadata'), re_path(r'^.*$', StockItemTestReportDetail.as_view(), name='api-stockitem-testreport-detail'), ])), diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index c0e58aa8ce..014b8765e2 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -23,13 +23,13 @@ from build.models import Build from company.models import Company, SupplierPart from company.serializers import CompanySerializer, SupplierPartSerializer from InvenTree.api import (APIDownloadMixin, AttachmentMixin, - ListCreateDestroyAPIView, StatusView) + ListCreateDestroyAPIView, MetadataView, StatusView) from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.helpers import (DownloadFile, extract_serial_numbers, isNull, str2bool, str2int) from InvenTree.mixins import (CreateAPI, CustomRetrieveUpdateDestroyAPI, ListAPI, ListCreateAPI, RetrieveAPI, - RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) + RetrieveUpdateDestroyAPI) from InvenTree.status_codes import StockHistoryCode, StockStatus from order.models import (PurchaseOrder, ReturnOrder, SalesOrder, SalesOrderAllocation) @@ -37,7 +37,6 @@ from order.serializers import (PurchaseOrderSerializer, ReturnOrderSerializer, SalesOrderSerializer) from part.models import BomItem, Part, PartCategory from part.serializers import PartBriefSerializer -from plugin.serializers import MetadataSerializer from stock.admin import LocationResource, StockItemResource from stock.models import (StockItem, StockItemAttachment, StockItemTestResult, StockItemTracking, StockLocation) @@ -83,16 +82,6 @@ class StockDetail(RetrieveUpdateDestroyAPI): return self.serializer_class(*args, **kwargs) -class StockMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating StockItem metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return serializer.""" - return MetadataSerializer(StockItem, *args, **kwargs) - - queryset = StockItem.objects.all() - - class StockItemContextMixin: """Mixin class for adding StockItem object to serializer context.""" @@ -1344,16 +1333,6 @@ class StockTrackingList(ListAPI): ] -class LocationMetadata(RetrieveUpdateAPI): - """API endpoint for viewing / updating StockLocation metadata.""" - - def get_serializer(self, *args, **kwargs): - """Return serializer.""" - return MetadataSerializer(StockLocation, *args, **kwargs) - - queryset = StockLocation.objects.all() - - class LocationDetail(CustomRetrieveUpdateDestroyAPI): """API endpoint for detail view of StockLocation object. @@ -1391,7 +1370,7 @@ stock_api_urls = [ # Stock location detail endpoints path(r'/', include([ - re_path(r'^metadata/', LocationMetadata.as_view(), name='api-location-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': StockLocation}, name='api-location-metadata'), re_path(r'^.*$', LocationDetail.as_view(), name='api-location-detail'), ])), @@ -1433,7 +1412,7 @@ stock_api_urls = [ path(r'/', include([ re_path(r'^convert/', StockItemConvert.as_view(), name='api-stock-item-convert'), re_path(r'^install/', StockItemInstall.as_view(), name='api-stock-item-install'), - re_path(r'^metadata/', StockMetadata.as_view(), name='api-stock-item-metadata'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': StockItem}, name='api-stock-item-metadata'), re_path(r'^return/', StockItemReturn.as_view(), name='api-stock-item-return'), re_path(r'^serialize/', StockItemSerialize.as_view(), name='api-stock-item-serialize'), re_path(r'^uninstall/', StockItemUninstall.as_view(), name='api-stock-item-uninstall'), From d0f9d0d830b993d5d4b775818b7ff18fc5d84022 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 31 Mar 2023 10:59:28 +1100 Subject: [PATCH 098/140] Change SalesOrder.can_cancel() (#4544) * Change SalesOrder.can_cancel() * fix --- InvenTree/order/models.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 18bb37aa8e..c36487a7dd 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -868,14 +868,11 @@ class SalesOrder(TotalPriceMixin, Order): def can_cancel(self): """Return True if this order can be cancelled.""" - if self.status != SalesOrderStatus.PENDING: - return False - - return True + return self.is_open @transaction.atomic def cancel_order(self): - """Cancel this order (only if it is "pending"). + """Cancel this order (only if it is "open"). Executes: - Mark the order as 'cancelled' From c28c991591c9bd2c29be4c0046d500e3271feda2 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sat, 1 Apr 2023 23:34:53 +0200 Subject: [PATCH 099/140] Fix wget command and links in Readme (#4551) * fix wget command in Readme Fixes https://github.com/inventree/InvenTree/issues/4548 reported by @liuqun * change doc links int markdown * update bash script * Add typing * regenerate script * fix link to contribute * update more links * remove additional whitespace --- CONTRIBUTING.md | 2 +- README.md | 26 +++++++++++++------------- contrib/install.sh | 4 ++-- contrib/installer/src/root_command.sh | 4 ++-- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bbcdfd703d..cf59412b68 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,7 +23,7 @@ docker compose run inventree-dev-server invoke setup-test docker compose up -d ``` -Read the [InvenTree setup documentation](https://inventree.readthedocs.io/en/latest/start/intro/) for a complete installation reference guide. +Read the [InvenTree setup documentation](https://docs.inventree.org/en/latest/start/intro/) for a complete installation reference guide. ### Setup Devtools diff --git a/README.md b/README.md index 21accd5847..05c06dd029 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@

    View Demo · - Documentation + Documentation · Report Bug · @@ -59,10 +59,10 @@ Powerful business logic works in the background to ensure that stock tracking hi InvenTree is designed to be **extensible**, and provides multiple options for **integration** with external applications or addition of custom plugins: -* [InvenTree API](https://inventree.readthedocs.io/en/latest/extend/api/) -* [Python module](https://inventree.readthedocs.io/en/latest/extend/python) -* [Plugin interface](https://inventree.readthedocs.io/en/latest/extend/plugins) -* [Third party tools](https://inventree.readthedocs.io/en/latest/extend/integrate) +* [InvenTree API](https://docs.inventree.org/en/latest/api/api/) +* [Python module](https://docs.inventree.org/en/latest/api/python/python/) +* [Plugin interface](https://docs.inventree.org/en/latest/extend/plugins) +* [Third party tools](https://docs.inventree.org/en/latest/extend/integrate) ### :space_invader: Tech Stack @@ -110,12 +110,12 @@ InvenTree is designed to be **extensible**, and provides multiple options for ** ## :toolbox: Getting Started -Refer to the [getting started guide](https://inventree.readthedocs.io/en/latest/start/install/) for installation and setup instructions. +Refer to the [getting started guide](https://docs.inventree.org/en/latest/start/install/) for installation and setup instructions. ## :iphone: Mobile App -InvenTree is supported by a [companion mobile app](https://inventree.readthedocs.io/en/latest/app/app/) which allows users access to stock control information and functionality. +InvenTree is supported by a [companion mobile app](https://docs.inventree.org/en/latest/app/app/) which allows users access to stock control information and functionality.

    Android Play Store @@ -129,23 +129,23 @@ InvenTree is supported by a [companion mobile app](https://inventree.readthedocs There are several options to deploy InvenTree. -Single line install - read [the docs](https://inventree.readthedocs.io/en/latest/start/installer/) for supported distros and details about the function: +Single line install - read [the docs](https://docs.inventree.org/en/latest/start/installer/) for supported distros and details about the function: ```bash -wget -Oq install.sh https://get.inventree.org && bash install.sh +wget -qO install.sh https://get.inventree.org && bash install.sh ``` ## :wave: Contributing Contributions are welcomed and encouraged. Please help to make this project even better! -Refer to the [contribution page in the docs ](https://inventree.readthedocs.io/en/latest/contribute/) and check out [contributing.md](CONTRIBUTING.md). +Refer to the [contribution page](CONTRIBUTING.md). ## :scroll: Translation @@ -168,7 +168,7 @@ We would like to acknowledge a few special projects: - [PartKeepr](https://github.com/partkeepr/PartKeepr) as a valuable predecessor and inspiration - [Readme Template](https://github.com/Louis3797/awesome-readme-template) for the template of this page -Find a full list of used third-party libraries in [our documentation](https://inventree.readthedocs.io/en/latest/credits/). +Find a full list of used third-party libraries in [our documentation](https://docs.inventree.org/en/latest/credits/). ## :warning: License diff --git a/contrib/install.sh b/contrib/install.sh index 981263b2d3..7d3b029dc5 100755 --- a/contrib/install.sh +++ b/contrib/install.sh @@ -86,8 +86,8 @@ root_command() { esac if [[ $SUPPORTED != "true" ]]; then - echo "This OS is currently not supported" - echo "please install manually using https://inventree.readthedocs.io/en/stable/start/install/" + echo "This OS is currently not supported." + echo "Please install manually using https://docs.inventree.org/en/stable/start/install/" echo "or check https://github.com/inventree/InvenTree/issues/3836 for packaging for your OS." echo "If you think this is a bug please file an issue at" echo "https://github.com/inventree/InvenTree/issues/new?template=install.yaml" diff --git a/contrib/installer/src/root_command.sh b/contrib/installer/src/root_command.sh index 7c260c0c37..58293c037e 100644 --- a/contrib/installer/src/root_command.sh +++ b/contrib/installer/src/root_command.sh @@ -76,8 +76,8 @@ case "$OS" in esac if [[ $SUPPORTED != "true" ]]; then - echo "This OS is currently not supported" - echo "please install manually using https://inventree.readthedocs.io/en/stable/start/install/" + echo "This OS is currently not supported." + echo "Please install manually using https://docs.inventree.org/en/stable/start/install/" echo "or check https://github.com/inventree/InvenTree/issues/3836 for packaging for your OS." echo "If you think this is a bug please file an issue at" echo "https://github.com/inventree/InvenTree/issues/new?template=install.yaml" From 478fec4a4b2d1183e335ee00613ae035c10940b8 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sun, 2 Apr 2023 12:21:51 +0200 Subject: [PATCH 100/140] Bashscript update (#4552) * fix wget command in Readme Fixes https://github.com/inventree/InvenTree/issues/4548 reported by @liuqun * change doc links int markdown * update bash script * Add typing * regenerate script * fix link to contribute * update more links * update bash script * revert changes --- contrib/install.sh | 125 ++++++++++++++++++++++++--------------------- 1 file changed, 67 insertions(+), 58 deletions(-) diff --git a/contrib/install.sh b/contrib/install.sh index 7d3b029dc5..e5c21c45eb 100755 --- a/contrib/install.sh +++ b/contrib/install.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# This script was generated by bashly 0.8.9 (https://bashly.dannyb.co) +# This script was generated by bashly 0.9.4 (https://bashly.dannyb.co) # Modifying it manually is not recommended if [[ "${BASH_VERSINFO:-0}" -lt 4 ]]; then @@ -149,44 +149,44 @@ install.sh_usage() { fi - printf "Usage:\n" + printf "%s\n" "Usage:" printf " install.sh [SOURCE] [PUBLISHER] [OPTIONS]\n" printf " install.sh --help | -h\n" printf " install.sh --version | -v\n" echo if [[ -n $long_usage ]]; then - printf "Options:\n" + printf "%s\n" "Options:" - echo " --help, -h" + printf " %s\n" "--help, -h" printf " Show this help\n" echo - echo " --version, -v" + printf " %s\n" "--version, -v" printf " Show version number\n" echo - echo " --no-call, -n" + printf " %s\n" "--no-call, -n" printf " Do not call outside APIs (only functionally needed)\n" echo - echo " --dry-run, -d" + printf " %s\n" "--dry-run, -d" printf " Dry run (do not install anything)\n" echo - printf "Arguments:\n" + printf "%s\n" "Arguments:" - echo " SOURCE" + printf " %s\n" "SOURCE" printf " Package source that should be used\n" printf " Allowed: stable, master, main\n" printf " Default: stable\n" echo - echo " PUBLISHER" + printf " %s\n" "PUBLISHER" printf " Publisher that should be used\n" printf " Default: inventree\n" echo - printf "Examples:\n" + printf "%s\n" "Examples:" printf " install\n" printf " install master --no-call\n" printf " install master matmair --dry-run\n" @@ -208,7 +208,7 @@ normalize_input() { input+=("${BASH_REMATCH[2]}") elif [[ $arg =~ ^-([a-zA-Z0-9][a-zA-Z0-9]+)$ ]]; then flags="${BASH_REMATCH[1]}" - for (( i=0 ; i < ${#flags} ; i++ )); do + for ((i = 0; i < ${#flags}; i++)); do input+=("-${flags:i:1}") done else @@ -221,14 +221,14 @@ normalize_input() { inspect_args() { readarray -t sorted_keys < <(printf '%s\n' "${!args[@]}" | sort) - if (( ${#args[@]} )); then + if ((${#args[@]})); then echo args: for k in "${sorted_keys[@]}"; do echo "- \${args[$k]} = ${args[$k]}"; done else echo args: none fi - if (( ${#other_args[@]} )); then + if ((${#other_args[@]})); then echo echo other_args: echo "- \${other_args[*]} = ${other_args[*]}" @@ -240,19 +240,25 @@ inspect_args() { parse_requirements() { - case "${1:-}" in - --version | -v ) - version_command - exit - ;; + while [[ $# -gt 0 ]]; do + case "${1:-}" in + --version | -v) + version_command + exit + ;; - --help | -h ) - long_usage=yes - install.sh_usage - exit - ;; + --help | -h) + long_usage=yes + install.sh_usage + exit + ;; - esac + *) + break + ;; + + esac + done action="root" @@ -260,47 +266,47 @@ parse_requirements() { key="$1" case "$key" in - --no-call | -n ) + --no-call | -n) - args[--no-call]=1 - shift - ;; - - --dry-run | -d ) - - args[--dry-run]=1 - shift - ;; - - -?* ) - printf "invalid option: %s\n" "$key" >&2 - exit 1 - ;; - - * ) - - if [[ -z ${args[source]+x} ]]; then - - args[source]=$1 + args['--no-call']=1 shift - elif [[ -z ${args[publisher]+x} ]]; then + ;; - args[publisher]=$1 + --dry-run | -d) + + args['--dry-run']=1 shift - else - printf "invalid argument: %s\n" "$key" >&2 + ;; + + -?*) + printf "invalid option: %s\n" "$key" >&2 exit 1 - fi + ;; - ;; + *) + + if [[ -z ${args['source']+x} ]]; then + + args['source']=$1 + shift + elif [[ -z ${args['publisher']+x} ]]; then + + args['publisher']=$1 + shift + else + printf "invalid argument: %s\n" "$key" >&2 + exit 1 + fi + + ;; esac done - [[ -n ${args[source]:-} ]] || args[source]="stable" - [[ -n ${args[publisher]:-} ]] || args[publisher]="inventree" + [[ -n ${args['source']:-} ]] || args['source']="stable" + [[ -n ${args['publisher']:-} ]] || args['publisher']="inventree" - if [[ ! ${args[source]} =~ ^(stable|master|main)$ ]]; then + if [[ ! ${args['source']} =~ ^(stable|master|main)$ ]]; then printf "%s\n" "source must be one of: stable, master, main" >&2 exit 1 fi @@ -322,9 +328,12 @@ run() { normalize_input "$@" parse_requirements "${input[@]}" - if [[ $action == "root" ]]; then - root_command - fi + case "$action" in + "root") + root_command + ;; + + esac } initialize From 1a52aece3a4ee33d507dab295e4f7767c794289e Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 2 Apr 2023 20:22:00 +1000 Subject: [PATCH 101/140] Fix incorrect string (#4555) Fixes https://github.com/inventree/InvenTree/issues/4547 --- InvenTree/part/templates/part/part_base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/part/templates/part/part_base.html b/InvenTree/part/templates/part/part_base.html index f7be28565b..68347eb36e 100644 --- a/InvenTree/part/templates/part/part_base.html +++ b/InvenTree/part/templates/part/part_base.html @@ -144,7 +144,7 @@ {% if not part.active %}  
    - + {% trans 'Inactive' %}
    {% endif %} From 847d49a42de9b82e7999fe204bfd9f606a1c6a92 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 2 Apr 2023 20:22:15 +1000 Subject: [PATCH 102/140] New Crowdin updates (#4539) * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/cs/LC_MESSAGES/django.po | 5281 +++++++------ InvenTree/locale/da/LC_MESSAGES/django.po | 5281 +++++++------ InvenTree/locale/de/LC_MESSAGES/django.po | 5275 +++++++------ InvenTree/locale/el/LC_MESSAGES/django.po | 5281 +++++++------ InvenTree/locale/en/LC_MESSAGES/django.po | 6599 ++++++++-------- InvenTree/locale/es/LC_MESSAGES/django.po | 5295 +++++++------ InvenTree/locale/es_MX/LC_MESSAGES/django.po | 6599 ++++++++-------- InvenTree/locale/fa/LC_MESSAGES/django.po | 5279 +++++++------ InvenTree/locale/fr/LC_MESSAGES/django.po | 5235 +++++++------ InvenTree/locale/he/LC_MESSAGES/django.po | 5279 +++++++------ InvenTree/locale/hu/LC_MESSAGES/django.po | 5275 +++++++------ InvenTree/locale/id/LC_MESSAGES/django.po | 5281 +++++++------ InvenTree/locale/it/LC_MESSAGES/django.po | 5275 +++++++------ InvenTree/locale/ja/LC_MESSAGES/django.po | 5279 +++++++------ InvenTree/locale/ko/LC_MESSAGES/django.po | 5293 +++++++------ InvenTree/locale/nl/LC_MESSAGES/django.po | 5319 +++++++------ InvenTree/locale/no/LC_MESSAGES/django.po | 5275 +++++++------ InvenTree/locale/pl/LC_MESSAGES/django.po | 5275 +++++++------ InvenTree/locale/pt/LC_MESSAGES/django.po | 5277 +++++++------ InvenTree/locale/pt_br/LC_MESSAGES/django.po | 6599 ++++++++-------- InvenTree/locale/ru/LC_MESSAGES/django.po | 5293 +++++++------ InvenTree/locale/sl/LC_MESSAGES/django.po | 5281 +++++++------ InvenTree/locale/sv/LC_MESSAGES/django.po | 5281 +++++++------ InvenTree/locale/th/LC_MESSAGES/django.po | 5279 +++++++------ InvenTree/locale/tr/LC_MESSAGES/django.po | 5301 +++++++------ InvenTree/locale/vi/LC_MESSAGES/django.po | 5275 +++++++------ InvenTree/locale/zh/LC_MESSAGES/django.po | 5285 +++++++------ .../locale/zh_Hans/LC_MESSAGES/django.po | 6797 +++++++++-------- 28 files changed, 82146 insertions(+), 71198 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index c6d0a6d453..aa7926041c 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Zadejte datum" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Poznámky" @@ -134,7 +137,7 @@ msgstr "Vzdálený server vrátil prázdnou odpověď" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" @@ -206,8 +209,8 @@ msgstr "Chybějící soubor" msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Příloha" @@ -216,24 +219,24 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Odkaz na externí URL" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Komentář" @@ -242,13 +245,13 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Uživatel" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Název" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Popis" @@ -343,7 +350,7 @@ msgid "parent" msgstr "nadřazený" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Cesta" @@ -355,7 +362,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -375,12 +382,12 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Musí být platné číslo" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Měna" @@ -568,157 +575,191 @@ msgstr "Email backend není nakonfigurován" msgid "InvenTree system health checks failed" msgstr "Kontroly zdraví systému InvenTree selhaly" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Nevyřízeno" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Umístěno" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Hotovo" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Zrušeno" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Ztraceno" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Vráceno" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Odesláno" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Vyžaduje pozornost" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Poškozeno" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Zničeno" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Odmítnuto" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Původní položka sledování zásob" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Položka zásob vytvořena" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Položka zásob upravena" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Přiřazeno výrobní číslo" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Stav zásob sečten" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Zásoba přidána ručně" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Zásoba odebrána ručně" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Umístění změněno" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Odstraněná komponenta" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Rozdělit od nadřazené položky" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Odesláno zákazníkovi" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Výroba" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Neplatný kód měny" @@ -751,28 +792,28 @@ msgstr "Hesla se musí shodovat" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Informace o systému" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Vytvořit objednávku" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Vytvořit objednávku" msgid "Build Orders" msgstr "Vytvořené objednávky" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Díl" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" -msgstr "Formát data" +msgid "Exclude Inactive Return Orders" +msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "Formát data" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "Cena" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "Id" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "Webová stránka" @@ -3165,6 +3283,7 @@ msgstr "Kontaktní telefonní číslo" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "E-mail" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "Kontakt" @@ -3184,11 +3306,11 @@ msgstr "Kontaktní místo" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Obrazek" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "Poznámky ke společnosti" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "Společnost" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Základní díl" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "Zvolte díl" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Výrobce" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "Vyberte výrobce" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "Číslo dílu výrobce" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "Popis dílu výrobce" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "Výrobce dílu" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "Název parametru" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "Hodnota" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "Hodnota parametru" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "Jednotky" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "Upravit údaje o společnosti" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "Upravit společnost" @@ -3474,14 +3602,17 @@ msgstr "Stáhnout obrázek z URL" msgid "Delete image" msgstr "Smazat obrázek" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Zákazník" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "Odstranit obrázek" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "Odstranit přiřazený obrázek této společnosti" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Odstranit" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "Nahrát obrázek" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "Stáhnout obrázek" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Dodavatel dílů" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "Vytvořit nového dodavatele dílu" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Nová díl dodavatele" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "Objednávka dílů" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "Odstranit díly" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "Odstraněné díly" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Výrobce dílů" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "Vytvořit nového výrobce dílu" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nový výrobce dílu" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "Dodavatelský sklad" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "Dodavatelský sklad" msgid "Purchase Orders" msgstr "Zakoupené objednávky" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "Odstranit" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "Vybrané díly" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "Uživatelé" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "Osobní údaje" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "Oprávnění" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "Nastavení oprávnění" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "Skupina" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "Zobrazit" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "Oprávnění k zobrazení položek" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "Oprávnění přidat položky" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "Změnit" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "Oprávnění k úpravě položek" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 7a1db3018b..768f9edacb 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API endpoint ikke fundet" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Angiv dato" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Bemærkninger" @@ -134,7 +137,7 @@ msgstr "Fjernserver returnerede tomt svar" msgid "Supplied URL is not a valid image file" msgstr "Angivet URL er ikke en gyldig billedfil" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" @@ -206,8 +209,8 @@ msgstr "Manglende fil" msgid "Missing external link" msgstr "Manglende eksternt link" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Vedhæftning" @@ -216,24 +219,24 @@ msgstr "Vedhæftning" msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Link" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Link til ekstern URL" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Kommentar" @@ -242,13 +245,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Bruger" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Beskrivelse" @@ -343,7 +350,7 @@ msgid "parent" msgstr "overordnet" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Sti" @@ -355,7 +362,7 @@ msgstr "Stregkode Data" msgid "Third party barcode data" msgstr "Tredjeparts stregkode data" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Stregkode Hash" @@ -375,12 +382,12 @@ msgstr "Serverfejl" msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -568,157 +575,191 @@ msgstr "E-mail backend ej konfigureret" msgid "InvenTree system health checks failed" msgstr "Helbredstjek af InvenTree system mislykkedes" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Afventende" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Placeret" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Fuldført" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Annulleret" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Mistet" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Returneret" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Afsendt" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Opmærksomhed påkrævet" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Beskadiget" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Destrueret" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Afvist" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "I karantæne" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Forældet lager sporings post" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Lager-element oprettet" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Redigeret lager-element" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Serienummer tildelt" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Lagerbeholdning optalt" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Lagerbeholdning tilføjet manuelt" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Lagerbeholdning fjernet manuelt" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Lokation ændret" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Monteret i samling" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Fjernet fra samling" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Installeret komponent element" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Fjernet komponent element" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Opdel fra overordnet element" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Opdel underordnet element" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Flettede lagervarer" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Konverteret til variant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Sendt til kunde" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Returneret fra kunde" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Byggeordre output genereret" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Byggeorder output fuldført" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Brugt efter byggeordre" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Modtaget mod indkøbsordre" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Produktion" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Ikke en gyldig valutakode" @@ -751,28 +792,28 @@ msgstr "De indtastede adgangskoder skal være ens" msgid "Wrong password provided" msgstr "Forkert adgangskode indtastet" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Systemoplysninger" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Produktionsordre" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Produktionsordre" msgid "Build Orders" msgstr "Produktionsordrer" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Ugyldigt valg for overordnet produktion" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Reference" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Kort beskrivelse af produktionsordre" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produktion" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Del" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Vælg dele til produktion" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Salgsordrereference" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Kilde Lokation" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vælg lokation for lager, som skal benyttes til denne produktion (lad feltet stå tomt for at benytte vilkårligt lager)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Destinations Placering" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Vælg placering, hvor de færdige elementer vil blive gemt" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Produktions antal" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Antal lagervarer som skal produceres" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Afsluttede elementer" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Antal lagervarer som er færdiggjort" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Produktions Status" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Oprettelsesdato" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Projekteret afslutningsdato" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Dato for afslutning" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "udført af" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Udstedt af" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Ekstern link" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Ekstra bygge noter" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "Bygge Prioritet" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bygningsordre {build} er fuldført" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3165,6 +3283,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN skal matche regex mønster {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 758d52fd2d..4bc0a68d32 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Datum eingeben" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Notizen" @@ -134,7 +137,7 @@ msgstr "Remote-Server gab leere Antwort zurück" msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -206,8 +209,8 @@ msgstr "Fehlende Datei" msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Anhang" @@ -216,24 +219,24 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Link" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Kommentar" @@ -242,13 +245,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Benutzer" @@ -289,48 +292,52 @@ msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Name" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Beschreibung" @@ -343,7 +350,7 @@ msgid "parent" msgstr "Eltern" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Pfad" @@ -355,7 +362,7 @@ msgstr "Barcode-Daten" msgid "Third party barcode data" msgstr "Drittanbieter-Barcode-Daten" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Barcode-Hash" @@ -375,12 +382,12 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Währung" @@ -568,157 +575,191 @@ msgstr "E-Mail-Backend nicht konfiguriert" msgid "InvenTree system health checks failed" msgstr "InvenTree Status-Überprüfung fehlgeschlagen" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Ausstehend" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Platziert" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Fertig" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Storniert" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Verloren" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Zurückgegeben" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Versendet" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "erfordert Eingriff" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Beschädigt" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Zerstört" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Zurückgewiesen" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "In Quarantäne" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Alter Bestand-Verfolgungs-Eintrag" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Lagerartikel erstellt" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Lagerartikel bearbeitet" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Seriennummer hinzugefügt" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Bestand gezählt" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Bestand manuell hinzugefügt" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Bestand manuell entfernt" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Standort geändert" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "In Baugruppe installiert" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Aus Baugruppe entfernt" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Komponente installiert" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Komponente entfernt" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Vom übergeordneten Element geteilt" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "In Variante umgewandelt" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Zum Kunden geschickt" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Rücksendung vom Kunden" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Endprodukt erstellt" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Endprodukt fertiggestellt" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Durch Bauauftrag verbraucht" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Gegen Bestellung empfangen" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "in Arbeit" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Kein gültiger Währungscode" @@ -751,28 +792,28 @@ msgstr "Passwörter stimmen nicht überein" msgid "Wrong password provided" msgstr "Falsches Passwort angegeben" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformationen" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Über InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Bauauftrag" msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Referenz" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Kurze Beschreibung des Baus" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Teil" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden Lagerartikel" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Externer Link" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Extranotizen für den Bauauftrag" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "Bauauftrags-Priorität" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bauauftrag {build} wurde fertiggestellt" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1189 +#: build/models.py:1190 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:1198 +#: build/models.py:1199 #, 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:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Ausgewähltes Bestands-Objekt nicht in Stückliste für Teil '{p}' gefunden" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Bauauftrag" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Endprodukt" @@ -1139,9 +1205,9 @@ msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1154,9 +1220,9 @@ msgstr "Ganzzahl für verfolgbare Teile erforderlich" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Seriennummer" @@ -1172,7 +1238,7 @@ msgstr "Seriennummern automatisch zuweisen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" @@ -1180,18 +1246,21 @@ msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Lagerort" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" @@ -1266,7 +1338,7 @@ msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zuge msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" @@ -1282,8 +1354,8 @@ msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "Stücklisten-Position" @@ -1303,7 +1375,7 @@ msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag" msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" @@ -1320,7 +1392,7 @@ msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben wer msgid "This stock item has already been allocated to this build output" msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" @@ -1375,6 +1447,7 @@ msgstr "Bauauftrag {bo} ist jetzt überfällig" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Aktionen drucken" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Zieldatum" @@ -1460,31 +1538,35 @@ msgstr "Bauauftrag war fällig am %(target)s" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "Überfällig" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Fertig" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Auftrag" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "Aufgegeben von" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Priorität" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "Bauauftrag löschen" @@ -1515,8 +1597,9 @@ 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:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "Ziel-Lager" @@ -1530,19 +1613,20 @@ msgstr "Zugewiesene Teile" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "Losnummer" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Erstellt" @@ -1562,7 +1646,7 @@ msgstr "Unter-Bauaufträge" msgid "Allocate Stock to Build" msgstr "Bestand Bauauftrag zuweisen" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "Bestandszuordnung aufheben" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "Benötigte Teile bestellen" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Teile bestellen" @@ -1645,27 +1730,19 @@ msgstr "Ausgewählte Endprodukte löschen" msgid "Delete outputs" msgstr "Endprodukte löschen" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "Druck Aktionen" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "Label drucken" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "Fertiggestellte Endprodukte" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "Fertiggestellte Endprodukte" msgid "Attachments" msgstr "Anhänge" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "Bauauftrags-Notizen" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "Zuordnung abgeschlossen" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "Alle nicht verfolgten Lagerartikel wurden zugewiesen" @@ -1689,10 +1766,6 @@ msgstr "Alle nicht verfolgten Lagerartikel wurden zugewiesen" msgid "New Build Order" msgstr "Neuer Bauauftrag" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "Bauaufträge ausdrucken" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "Bauauftragdetails" @@ -1893,7 +1966,7 @@ msgstr "Wie oft soll nach Updates gesucht werden? (auf 0 setzen zum Deaktivieren #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "Tage" @@ -2025,9 +2098,9 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "Vorlage" @@ -2035,10 +2108,10 @@ msgstr "Vorlage" msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "Baugruppe" @@ -2046,8 +2119,8 @@ msgstr "Baugruppe" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "Komponente" @@ -2055,7 +2128,7 @@ msgstr "Komponente" msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "Kaufbar" @@ -2063,8 +2136,8 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "Verkäuflich" @@ -2072,10 +2145,10 @@ msgstr "Verkäuflich" msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "Nachverfolgbar" @@ -2083,10 +2156,10 @@ msgstr "Nachverfolgbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "Virtuell" @@ -2118,7 +2191,7 @@ msgstr "Initialer Lagerbestand" 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:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" @@ -2375,698 +2448,739 @@ 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:1445 +msgid "Enable Return Orders" +msgstr "" + +#: common/models.py:1446 +msgid "Enable return order functionality in the user interface" +msgstr "" + +#: common/models.py:1452 +msgid "Return Order Reference Pattern" +msgstr "" + +#: common/models.py:1453 +msgid "Required pattern for generating Return Order reference field" +msgstr "" + +#: common/models.py:1459 +msgid "Edit Completed Return Orders" +msgstr "" + +#: common/models.py:1460 +msgid "Allow editing of return orders after they have been completed" +msgstr "" + +#: common/models.py:1466 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1446 +#: common/models.py:1467 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:1452 +#: common/models.py:1473 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1453 +#: common/models.py:1474 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1459 +#: common/models.py:1480 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Verkaufsaufträge bearbeiten" -#: common/models.py:1460 +#: common/models.py:1481 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:1466 +#: common/models.py:1487 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1467 +#: common/models.py:1488 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:1473 +#: common/models.py:1494 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1474 +#: common/models.py:1495 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:1481 +#: common/models.py:1502 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1482 +#: common/models.py:1503 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1488 +#: common/models.py:1509 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1489 +#: common/models.py:1510 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1495 +#: common/models.py:1516 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1496 +#: common/models.py:1517 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1502 +#: common/models.py:1523 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1503 +#: common/models.py:1524 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:1509 +#: common/models.py:1530 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1510 +#: common/models.py:1531 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1516 +#: common/models.py:1537 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1517 +#: common/models.py:1538 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1523 +#: common/models.py:1544 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1524 +#: common/models.py:1545 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:1530 +#: common/models.py:1551 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1531 +#: common/models.py:1552 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1537 +#: common/models.py:1558 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:1538 +#: common/models.py:1559 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (komma-separiert, mit @ startend)" -#: common/models.py:1544 +#: common/models.py:1565 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1545 +#: common/models.py:1566 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1551 +#: common/models.py:1572 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1552 +#: common/models.py:1573 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1558 +#: common/models.py:1579 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1559 +#: common/models.py:1580 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:1566 +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "Plugin-Signaturen überprüfen" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "Signaturen für Plugins prüfen und anzeigen" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "Inventurfunktionen" -#: common/models.py:1615 +#: common/models.py:1636 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:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "Automatische Inventur-Periode" -#: common/models.py:1622 +#: common/models.py:1643 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:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "Löschintervall für Berichte" -#: common/models.py:1632 +#: common/models.py:1653 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:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "Kein Drucker (Exportieren als PDF)" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1823 +#: common/models.py:1844 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:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1837 +#: common/models.py:1858 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:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:1886 +#: common/models.py:1907 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:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:1941 +#: common/models.py:1962 +msgid "Search Return Orders" +msgstr "" + +#: common/models.py:1963 +msgid "Display return orders in search preview window" +msgstr "" + +#: common/models.py:1969 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:1970 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:1976 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:1942 +#: common/models.py:1977 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:1948 +#: common/models.py:1983 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1949 +#: common/models.py:1984 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1955 +#: common/models.py:1990 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:1956 +#: common/models.py:1991 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:1962 +#: common/models.py:1997 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:1963 +#: common/models.py:1998 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:1969 +#: common/models.py:2004 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:1970 +#: common/models.py:2005 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:1984 part/templates/part/detail.html:41 +#: common/models.py:2019 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:1985 +#: common/models.py:2020 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:1991 part/templates/part/detail.html:62 +#: common/models.py:2026 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:1992 +#: common/models.py:2027 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:1998 +#: common/models.py:2033 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "Preis" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "Aktiv" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "Token" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "Host" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "Body" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "ID" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "Titel" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "Gelesen" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" @@ -3079,7 +3193,7 @@ msgstr "Neue {verbose_name}" msgid "A new order has been created and assigned to you" msgstr "Eine neue Bestellung wurde erstellt und Ihnen zugewiesen" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "Artikel erhalten" @@ -3087,19 +3201,23 @@ msgstr "Artikel erhalten" msgid "Items have been received against a purchase order" msgstr "Artikel wurden aus einer Bestellung erhalten" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "Fehler in Plugin aufgetreten" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Datei hochgeladen" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "Firmenbeschreibung" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "Website" @@ -3165,6 +3283,7 @@ msgstr "Kontakt-Telefon" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "Email" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "Kontakt-Email" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "Kontakt" @@ -3184,11 +3306,11 @@ msgstr "Anlaufstelle" msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Bild" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "Firmenbemerkungen" @@ -3222,209 +3344,215 @@ msgstr "Standard-Währung für diese Firma" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "Firma" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "MPN" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "Wert" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "Einheiten" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "Notiz" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "Packmenge" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "Stückmenge in einer einzelnen Verpackungseinheit" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "Vielfache" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "Verfügbar" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "Verfügbare Menge von Lieferanten" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "Verfügbarkeit aktualisiert" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "Standard-Währung für diesen Zulieferer" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "Bestellung anlegen" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "Firmeninformation bearbeiten" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "Firma bearbeiten" @@ -3474,14 +3602,17 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Kunde" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "Bild entfernen" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "Verknüpftes Bild von dieser Firma entfernen" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Entfernen" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "Bild hochladen" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "Bild herunterladen" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Zuliefererteile" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "Neues Zuliefererteil anlegen" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Neues Zuliefererteil" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "Teile bestellen" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "Teile löschen" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "Teile löschen" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Herstellerteile" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "Neues Herstellerteil anlegen" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Neues Herstellerteil" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "Zulieferer-Bestand" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "Zulieferer-Bestand" msgid "Purchase Orders" msgstr "Bestellungen" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Neue Bestellung anlegen" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Neue Bestellung" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Aufträge" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Neuen Auftrag anlegen" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Neuer Auftrag" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "Zugeordneter Bestand" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Zulieferer-Liste" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "Teil bestellen" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "Herstellerteil bearbeiten" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "Herstellerteil löschen" @@ -3669,9 +3830,9 @@ msgstr "Zuliefererteil entfernen" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "Löschen" @@ -3693,7 +3854,7 @@ msgstr "Neuer Parameter" msgid "Delete parameters" msgstr "Parameter löschen" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Parameter hinzufügen" @@ -3710,15 +3871,20 @@ msgstr "Zuliefererteile" msgid "Supplied Stock Items" msgstr "Zugelieferte Lagerartikel" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "Zugewiesene Lagerartikel" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -3739,8 +3905,8 @@ msgstr "QR-Code anzeigen" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "Barcode abhängen" @@ -3769,13 +3935,13 @@ msgstr "Verfügbarkeit aktualisieren" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "Zuliefererteil bearbeiten" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "Zulieferer-Teil duplizieren" @@ -3809,7 +3975,7 @@ msgstr "Neuen Lagerartikel hinzufügen" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Neuer Lagerartikel" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "Preisinformationen ansehen" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "Teilverfügbarkeit aktualisieren" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Lagerartikel" @@ -3897,7 +4063,7 @@ msgstr "Label" msgid "Label template file" msgstr "Label-Vorlage-Datei" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "Aktiviert" @@ -3921,7 +4087,7 @@ msgstr "Höhe [mm]" msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "Dateinamen-Muster" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "Filter" @@ -3946,457 +4113,534 @@ msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "Unbekannt" -#: order/models.py:86 -msgid "Order description" -msgstr "Bestellungs-Beschreibung" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "Link auf externe Seite" - -#: order/models.py:96 -msgid "Created By" -msgstr "Erstellt von" - -#: order/models.py:103 -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:108 -msgid "Order notes" -msgstr "Bestell-Notizen" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "Gesamtpreis" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" -msgstr "Bestell-Referenz" +#: order/models.py:177 +msgid "Contact does not match selected company" +msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" -msgstr "Bestellungs-Status" +#: order/models.py:199 +msgid "Order description" +msgstr "Bestellungs-Beschreibung" -#: order/models.py:283 -msgid "Company from which the items are being ordered" -msgstr "Firma bei der die Teile bestellt werden" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" +msgstr "Link auf externe Seite" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "Zulieferer-Referenz" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "Zulieferer Bestellreferenz" - -#: order/models.py:293 -msgid "received by" -msgstr "Empfangen von" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "Aufgabedatum" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "Datum an dem die Bestellung aufgegeben wurde" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "Ziel-Versanddatum" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:311 +#: order/models.py:215 +msgid "Created By" +msgstr "Erstellt von" + +#: order/models.py:222 +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:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "Bestell-Notizen" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "Bestell-Referenz" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "Bestellungs-Status" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "Firma bei der die Teile bestellt werden" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "Zulieferer-Referenz" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "Zulieferer Bestellreferenz" + +#: order/models.py:365 +msgid "received by" +msgstr "Empfangen von" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "Aufgabedatum" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "Datum an dem die Bestellung aufgegeben wurde" + +#: order/models.py:377 order/models.py:1699 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:350 +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "Zieldatum für Auftrags-Fertigstellung." - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "Versand von" -#: order/models.py:770 +#: order/models.py:814 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:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "Nur ein ausstehender Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 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:780 +#: order/models.py:824 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:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:995 +#: order/models.py:1051 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:1012 +#: order/models.py:1068 msgid "Context" msgstr "Kontext" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "Bestellung" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Empfangen" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1114 +#: order/models.py:1170 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:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "Versandhinweise" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1463 +#: order/models.py:1523 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:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "Position" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "Position" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "Position" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "Einzigartiger Identifikator" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Überfällige Bestellung" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "Bestellbericht drucken" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "Exportiere Bestellung in Datei" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "Bestell-Aktionen" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "Auftrag bearbeiten" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "Bestellung stornieren" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "Elemente empfangen" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "Teile empfangen" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "Bestellung als vollständig markieren" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "Auftrag fertigstellen" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "Bestellreferenz" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "Bestellungsbeschreibung" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "Bestellstatus" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "Keine Lieferanteninformationen verfügbar" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "Abgeschlossene Positionen" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "Unvollständig" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Aufgegeben" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "Gesamtsumme" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "Gesamtkosten konnten nicht berechnet werden" @@ -4560,11 +4813,13 @@ msgstr "Auswahl duplizieren" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Zeile entfernen" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "Schritt %(step)s von %(count)s" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "Positionen" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "Bestellungs-Positionen" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "Position hinzufügen" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" -msgstr "Ausgewählte Positionen erhalten" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" +msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "Positionen löschen" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "Zusätzliche Positionen" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "Extra Zeile anzeigen" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "Empfangene Teile" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "Notizen zur Bestellung" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" -msgstr "Neue Auftragspositionen hinzufügen" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" +msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" -msgstr "Berichte drucken" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "Paketliste drucken" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "Kundenreferenz" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "Gesamtkosten" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" +msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "Verkaufsauftragsbericht drucken" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" -msgstr "Paketliste drucken" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" +msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "Abgeschlossene Sendungen" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "Auftrag abschließen" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "Kundenreferenz" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "Ausstehende Sendungen" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "Aktionen" @@ -4716,34 +5003,34 @@ msgstr "Aktionen" msgid "New Shipment" msgstr "Neue Sendung" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "Zuliefererteile zuordnen" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "Auftrag nicht gefunden" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "Preis nicht gefunden" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "Stückpreis für {part} auf {price} aktualisiert" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format 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:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "Name des Teils" @@ -4752,19 +5039,19 @@ msgstr "Name des Teils" msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Version" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "Schlüsselwörter" @@ -4785,20 +5072,20 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Minimaler Bestand" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "Auf Lager" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "Bestellt" @@ -4806,22 +5093,22 @@ msgstr "Bestellt" msgid "Used In" msgstr "Benutzt in" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "Zugeordnet" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "Im Bau" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "Maximale Kosten" @@ -4838,13 +5125,13 @@ msgstr "Name des übergeordneten Teils" msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Teile" @@ -4861,7 +5148,7 @@ msgstr "Stücklisten-Position ID" msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "Teil IPN" @@ -4875,35 +5162,35 @@ msgstr "Niedrigster Preis" msgid "Maximum Price" msgstr "Höchster Preis" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "Gültig" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "Standard-Lagerort" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "Gesamtbestand" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "Verfügbarer Bestand" @@ -4921,664 +5208,665 @@ msgstr "Verfügbarer Bestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "Strukturell" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden." -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "Symbol" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "Symbol (optional)" -#: part/models.py:159 +#: part/models.py:158 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:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, 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:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN muss zu Regex-Muster {pat} passen" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "Variante von" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "Kategorie" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1018 +#: part/models.py:1017 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:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "Teile-Notizen" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "Benutzer, der für diesen Teil verantwortlich ist" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Datum" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "Bericht" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3210 +#: part/models.py:3222 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:3227 +#: part/models.py:3239 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:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "Benötigt" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3266 +#: part/models.py:3278 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:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3272 +#: part/models.py:3284 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:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "Einheit des Parameters" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "Wert" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "Stufe" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "Optional" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: part/models.py:3582 +#: part/models.py:3594 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:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "überprüft" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:3609 +#: part/models.py:3621 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:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:3615 +#: part/models.py:3627 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:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:3907 +#: part/models.py:3919 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:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "Teil duplizieren" @@ -5671,7 +5959,7 @@ msgstr "Teil duplizieren" msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "Initialer Lagerbestand" @@ -5816,9 +6104,9 @@ msgstr "Benachrichtigungen über geringen Bestand" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "Gesamtstückzahl" @@ -5901,7 +6189,7 @@ msgstr "Kategorie löschen" msgid "Top level part category" msgstr "Oberste Teil-Kategorie" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Unter-Kategorien" @@ -5931,23 +6219,19 @@ msgstr "Teil-Kategorie auswählen" msgid "Set Category" msgstr "Teil-Kategorie auswählen" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "Label drucken" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "Teilparameter" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "Teil-Kategorie anlegen" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "Neue Kategorie" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "Teil-Kategorie hinzufügen" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "Terminierungsdaten aktualisieren" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "Neu laden" @@ -5995,7 +6279,7 @@ msgstr "Inventurinformationen hinzufügen" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "Inventur" @@ -6093,15 +6377,15 @@ msgstr "Teil-Hersteller" msgid "Delete manufacturer parts" msgstr "Herstellerteile löschen" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "verknüpftes Teil" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "Testergebnis-Vorlage hinzufügen" @@ -6136,13 +6420,13 @@ msgstr "Teile-Importvorlage herunterladen" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "Format" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "Dateiformat auswählen" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "Teil ist virtuell (kein physisches Teil)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "Inaktiv" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "Teildetails anzeigen" @@ -6259,7 +6543,7 @@ msgstr "Zu Bauaufträgen zugeordnet" msgid "Allocated to Sales Orders" msgstr "Zur Bestellung zugeordnet" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "Herstellbar" @@ -6267,8 +6551,8 @@ msgstr "Herstellbar" msgid "Minimum stock level" msgstr "Minimaler Bestand" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "Teil-QR-Code" msgid "Link Barcode to Part" msgstr "Barcode mit Teil verknüpfen" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "Berechnen" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "Verknüpftes Bild von diesem Teil entfernen" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "Keine passenden Bilder gefunden" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "Teildetails ausblenden" @@ -6319,15 +6603,6 @@ msgstr "Zulieferer-Preise" msgid "Unit Cost" msgstr "Stückpreis" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "Gesamtkosten" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "Keine Zulieferer-Preise verfügbar" @@ -6370,9 +6645,9 @@ msgstr "Varianten" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -6403,9 +6678,9 @@ msgstr "Preis aktualisieren" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -6468,8 +6743,8 @@ msgstr "Verkaufspreise" msgid "Add Sell Price Break" msgstr "Verkaufspreisstaffel hinzufügen" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "Kein Bestand" @@ -6795,87 +7070,91 @@ msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" msgid "Test report" msgstr "Testbericht" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "Vorlagen Name" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "Bericht-Vorlage Datei" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "Bericht-Vorlage Beschreibung" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "Bericht Revisionsnummer (autom. erhöht)" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "Muster für die Erstellung von Berichtsdateinamen" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "Bericht-Vorlage ist ein" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Lagerartikel-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "einfügen Installiert in Tests" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "Test-Ergebnisse für Lagerartikel in Baugruppen einschließen" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "Bauauftrag Filter" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "Teil Filter" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "Bestellungs-Abfragefilter" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "Auftrags-Abfragefilter" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "Snippet" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "Ressource" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "Ressource-Beschreibung" @@ -6887,75 +7166,90 @@ msgstr "Benötigte Materialien" msgid "Required For" msgstr "benötigt für" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "Lieferant gelöscht" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "Stück-Preis" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "Zusätzliche Positionen" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 msgid "Total" msgstr "Summe" +#: report/templates/report/inventree_return_order_report_base.html:25 +#: report/templates/report/inventree_test_report_base.html:88 +#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "Seriennummer" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Lagerartikel Test-Bericht" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "Seriennummer" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "Testergebnisse" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "Test" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "Ergebnis" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "bestanden" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "fehlgeschlagen" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Verbaute Objekte" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "Seriennummer" @@ -6996,7 +7290,7 @@ msgstr "Lieferant" msgid "Customer ID" msgstr "Kunden ID" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "verbaut in" @@ -7021,29 +7315,29 @@ msgstr "Überprüfung erforderlich" msgid "Delete on Deplete" msgstr "Löschen wenn leer" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "Bestand-Lagerort" msgid "Stock Locations" msgstr "Bestand-Lagerorte" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "Besitzer auswählen" @@ -7068,8 +7362,8 @@ msgstr "Besitzer auswählen" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "Extern" @@ -7081,218 +7375,218 @@ msgstr "Dies ist ein externer Lagerort" 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:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Teile-Typ ('{pf}') muss {pe} sein" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:605 +#: stock/models.py:603 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:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:633 +#: stock/models.py:631 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:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses Lagerartikel ist gelagert in" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:776 +#: stock/models.py:774 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:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Lagerartikel-Notizen" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1342 +#: stock/models.py:1349 #, 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:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1628 +#: stock/models.py:1635 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:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "Test Notizen" @@ -7446,7 +7740,7 @@ msgstr "Testdaten" msgid "Test Report" msgstr "Test-Bericht" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "Testdaten löschen" @@ -7458,15 +7752,15 @@ msgstr "Testdaten hinzufügen" msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "Lagerartikel installieren" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "Alle Testergebnisse für diesen Lagerartikel löschen" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "Bestands-Anpassungs Aktionen" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "Bestand zählen" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "Bestand hinzufügen" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "Bestand entfernen" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "Bestand serialisieren" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "Bestand verschieben" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "Kunden zuweisen" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "Verfügbare Menge" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Kein Lagerort gesetzt" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "abgelaufen" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Dieser Lagerartikel läuft am %(item.expiry_date)s ab" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "überfällig" @@ -7643,35 +7937,35 @@ msgstr "überfällig" msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "Bestandsstatus bearbeiten" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "Lagerartikel-QR-Code" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "Barcode mit Lagerartikel verknüpfen" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "Wählen Sie eine der unten aufgeführten Teilvarianten aus." -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "Warnung" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "Lagerartikel umwandeln" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "zurück ins Lager" @@ -7745,15 +8039,15 @@ msgstr "Neuen Lagerort anlegen" msgid "New Location" msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "Lagerort an diesen Ort eingescannt" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "QR-Code für diesen Lagerort" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "Barcode mit Lagerort verknüpfen" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "Sie wurden von InvenTree abgemeldet." #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "Einloggen" @@ -7933,7 +8227,7 @@ msgstr "Kein Benachrichtigungsverlauf" msgid "Delete all read notifications" msgstr "Lösche alle gelesenen Benachrichtigungen" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "Benachrichtigung löschen" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "Single Sign On" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "Einstellungen" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "Inventurberichte" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "Plugin-Einstellungen" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "Wenn Sie die folgenden Einstellungen ändern, müssen Sie InvenTree sofort neu starten. Ändern Sie dies nicht während der aktiven Nutzung." #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "Plugins" @@ -8193,6 +8487,10 @@ msgstr "Nie" msgid "Report Settings" msgstr "Berichts-Einstellungen" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "Kein Wert angegeben" @@ -8257,15 +8555,15 @@ msgstr "ID" msgid "Create Part Parameter Template" msgstr "Teilparametervorlage anlegen" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "Teilparametervorlage bearbeiten" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "Alle Parameter, die diese Vorlage referenzieren, werden ebenfalls gelöscht" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "Startseite" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "Passwort ändern" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "Bearbeiten" @@ -8791,11 +9089,11 @@ msgstr "Geben Sie das von der App generierte Token ein:" msgid "Verify" msgstr "Überprüfen" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "Link hinzufügen" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "Anhang hinzufügen" @@ -8803,19 +9101,19 @@ msgstr "Anhang hinzufügen" msgid "Delete selected attachments" msgstr "Markierte Anhänge löschen" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "Anhänge entfernen" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Server-Neustart erforderlich" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "Eine Konfigurationsoption wurde geändert, die einen Neustart des Servers erfordert" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "Bitte kontaktieren Sie Ihren Administrator für mehr Informationen" @@ -8825,6 +9123,7 @@ msgstr "Bitte kontaktieren Sie Ihren Administrator für mehr Informationen" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "Klicken Sie auf den folgenden Link, um diesen Auftrag anzuzeigen" @@ -8846,7 +9145,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:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Benötigte Menge" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "Mindestmenge" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Keine Antwort" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "keine Antwort vom InvenTree Server" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "Fehler 400: Fehlerhafte Anfrage" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "Fehler-Code 400 zurückgegeben" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Fehler 401: Nicht Angemeldet" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "Authentication Kredentials nicht angegeben" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Fehler 403: keine Berechtigung" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Fehlende Berechtigung für diese Aktion" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Fehler 404: Ressource nicht gefunden" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "Fehler 405: Methode nicht erlaubt" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "HTTP-Methode für diese URL nicht erlaubt" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Fehler 408: Zeitüberschreitung" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "Verbindungszeitüberschreitung bei der Datenanforderung" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "Unbehandelter Fehler-Code" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "Fehler-Code" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "Alle ausgewählten anhänge werden gelöscht" @@ -8944,126 +9243,126 @@ msgstr "Anhang bearbeiten" msgid "Upload Date" msgstr "Hochladedatum" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "Anhang bearbeiten" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "Anhang löschen" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "Barcode Daten hier mit Barcode Scanner scannen" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "Barcode-Daten eingeben" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "Barcode" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "Barcode mittels angeschlossener Webcam scannen" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "Optionale Notizen zu Bestandsübertragung eingeben" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "Notizen eingeben" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "Server-Fehler" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "Unbekannte Antwort von Server erhalten" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Ungültige Antwort von Server" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "Barcode Daten scannen" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "Barcode scannen" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "keine URL in der Antwort" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "Dadurch wird der Link zu dem zugehörigen Barcode entfernt" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "Entfernen" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "Lagerartikel entfernen" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "Lagerartikel in Lagerort buchen" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "Barcode des Lagerartikels scannen um ihn an diesen Ort einzuchecken" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "Einbuchen" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "Kein Barcode vorhanden" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "Lagerartikel bereits gescannt" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "Lagerartikel besteht bereits in diesem Lagerort" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "Lagerartikel hinzugefügt" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "Barcode entspricht keinem Lagerartikel" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "Diesen Lagerort per Scan an einen anderen Lagerort verschieben" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "Barcode des Lagerorts scannen um ihn an diesen Ort einzuchecken" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "Barcode entspricht keinem Lagerort" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "In Lagerorten buchen" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "Barcode entspricht keinem Lagerort" @@ -9082,7 +9381,7 @@ msgstr "Zeilendaten" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Schliessen" @@ -9187,74 +9486,74 @@ msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" msgid "Delete selected BOM items?" msgstr "Ausgewählte Stücklistenpositionen löschen?" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "Stückliste für Bauteile laden" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "Varianten erlaubt" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "Ersatzteile" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "Stücklisten-Bepreisung ist vollständig" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "Stücklisten-Bepreisung ist unvollständig" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "Keine Preisinformation verfügbar" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "Beinhaltet Variante und Ersatzbestand" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "Beinhaltet Variantenbestand" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "Enthält Ersatzbestand" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "Verbrauchsartikel" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "Stücklisten-Position kontrollieren" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "Diese Position wurde kontrolliert" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "Stücklisten-Position bearbeiten" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" @@ -9262,15 +9561,15 @@ msgstr "Stücklisten-Position löschen" msgid "View BOM" msgstr "Stückliste anzeigen" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "benötigtes Teil" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "Geerbt von übergeordneter Stückliste" @@ -9314,13 +9613,13 @@ msgstr "Bauauftrag ist unvollständig" msgid "Complete Build Order" msgstr "Bauauftrag fertigstellen" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "Nächste verfügbare Seriennummer" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "Letzte Seriennummer" @@ -9356,373 +9655,430 @@ msgstr "Bestand von Endpordukt zurücknehmen" msgid "Complete build output" msgstr "Endprodukt fertigstellen" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "Endprodukt entfernen" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "Sind Sie sicher, dass sie alle Lagerartikel von diesem Bauauftrag entfernen möchten?" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "Lagerartikel zurücknehmen" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "Endprodukte auswählen" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "Mindestens ein Endprodukt muss ausgewählt werden" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "Endprodukt" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "Endprodukte fertigstellen" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "Endprodukte entfernen" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "Keine Allokationen für Bauauftrag gefunden" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "Standort nicht angegeben" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "Keine aktiven Endprodukte gefunden" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "Bestand zuteilen" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "Keine nachverfolgten Stücklisten-Einträge für diesen Bauauftrag" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "Abgeschlossene Tests" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "Keine erforderlichen Tests für diesen Bauauftrag" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "Zuordnung bearbeiten" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "Zuordnung entfernen" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "Anzahl pro" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "Ausreichender Bestand verfügbar" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "Bestand bauen" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "Bestand zuweisen" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "Teile auswählen" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "Sie müssen mindestens ein Teil auswählen" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "Alle Teile zugeordnet" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "Lagerartikel für Bauauftrag zuweisen" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "Keine passenden Lagerstandorte" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "Keine passenden Lagerbestände" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "Automatische Lagerzuordnung" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Lagerartikel werden automatisch diesem Bauauftrag zugewiesen, entsprechend den angegebenen Richtlinien" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Wenn ein Lagerort angegeben ist, wird der Lagerbestand nur von diesem Ort zugewiesen" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Wenn der Lagerbestand als austauschbar gilt, wird er vom ersten Standort zugewiesen, an dem er gefunden wird" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Wenn ein Ersatzbestand erlaubt ist, wird es dort verwendet, wo kein Vorrat des Primärteils gefunden werden kann" -#: templates/js/translated/build.js:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "Lagerartikel zuordnen" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "Auswählen" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "Bauauftrag ist überfällig" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "Fortschritt" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "Keine Benutzerinformation" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "Gruppe" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "Keine Teile zugeordnet zu" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "Hersteller hinzufügen" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "Herstellerteil hinzufügen" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "Herstellerteil ändern" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "Zulieferer hinzufügen" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "Zuliefererteil hinzufügen" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "Alle ausgewählten Zulieferteile werden gelöscht" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "Zuliefererteil entfernen" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "Neue Firma hinzufügen" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "Teile geliefert" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "Hersteller-Teile" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "Keine Firmeninformation gefunden" -#: templates/js/translated/company.js:582 +#: templates/js/translated/company.js:587 +msgid "Create New Contact" +msgstr "" + +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" +msgstr "" + +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 msgid "All selected manufacturer parts will be deleted" msgstr "Alle ausgewählten Herstellerrteile werden gelöscht" -#: templates/js/translated/company.js:597 +#: templates/js/translated/company.js:818 msgid "Delete Manufacturer Parts" msgstr "Herstellerteile löschen" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:852 msgid "All selected parameters will be deleted" msgstr "Alle ausgewählten Parameter werden gelöscht" -#: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "Parameter löschen" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "Vorlagenteil" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "Keine Zuliefererteile gefunden" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "Verfügbarkeit" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "Zuliefererteil bearbeiten" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "Zuliefererteil entfernen" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "Preisstaffel löschen" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "Preisstaffel bearbeiten" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "Keine Informationen zur Preisstaffel gefunden" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "Zuletzt aktualisiert" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "Preisstaffel bearbeiten" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "Preisstaffel löschen" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "ja" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "nein" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "Filter auswählen" -#: templates/js/translated/filters.js:297 -msgid "Download data" -msgstr "Daten herunterladen" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" +msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" -msgstr "Daten neu laden" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" +msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "Filter hinzufügen" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "Filter entfernen" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "Filter anlegen" @@ -9755,105 +10111,83 @@ msgstr "Dieses Formular offen lassen" msgid "Enter a valid number" msgstr "Gib eine gültige Nummer ein" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "Spalten auswählen" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "JA" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "NEIN" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "Notiz aktualisiert" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "Label an den Drucker gesendet" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "Lagerartikel auswählen" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "Lagerartikel müssen ausgewählt sein bevor Labels gedruckt werden können" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "Keine Labels gefunden" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "Keine Labels die zu Lagerartikel passen gefunden" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "Bestands-Lagerort auswählen" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "Bestands-Lagerort(e) müssen ausgewählt sein um Labels zu drucken" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "Keine Labels für die ausgewählten Bestands-Lagerort(e) gefunden" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "Teile(e) müssen ausgewählt sein bevor Labels gedruckt werden können" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "Keine Labels zu den ausgewählten Teilen gefunden" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "Drucker auswählen" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "Als PDF exportieren" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "Lagerartikel ausgewählt" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "Label-Vorlage auswählen" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "Keine Labels gefunden" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "Label an den Drucker gesendet" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "Keine ungelesenen Benachrichtigungen" msgid "Notifications will load here" msgstr "Benachrichtigungen erscheinen hier" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" -msgstr "Dieser Sendung wurden keine Artikel zugewiesen" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" +msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "Die folgenden Artikel werden verschickt" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "Sendung fertigstellen" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "Sendung bestätigen" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "Keine ausstehenden Sendungen gefunden" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "Keine Lagerartikel für offene Sendungen zugewiesen" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "Überspringen" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "Bestellung vervollständigen" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "Diese Bestellung als vollständig markieren?" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "Alle Einträge wurden erhalten" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "Diese Bestellung enthält Positionen, die nicht als empfangen markiert wurden." - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "Fertigstellen dieser Bestellung bedeutet, dass sie und ihre Positionen nicht länger bearbeitbar sind." - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "Bestellung abbrechen" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "Sind Sie sicher, dass Sie diese Bestellung abbrechen möchten?" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "Diese Bestellung kann nicht storniert werden" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "Bestellung aufgeben" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "Nachdem diese Bestellung plaziert ist können die Positionen nicht länger bearbeitbar ist." - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "Dieser Auftrag enthält Positionen, die noch nicht abgeschlossen sind." - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "Auftrag stornieren" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar ist." - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "Sendung anlegen" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "Kunden hinzufügen" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "Auftrag anlegen" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "Auftrag bearbeiten" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "Bestellung zum Duplizieren auswählen" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "Positionen duplizieren" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "Alle Positionen der ausgewählten Bestellung duplizieren" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "Zusätzliche Zeilen duplizieren" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "Zusätzliche Positionen der ausgewählten Bestellung duplizieren" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "Bestellung bearbeiten" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "Duplizierungsoptionen" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "Bestellung exportieren" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "Mindestens ein kaufbares Teil muss ausgewählt werden" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "Zu bestellende Menge" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "Neues Zuliefererteil" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "Neue Bestellung" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "Zur Bestellung hinzufügen" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "Keine passenden Lieferantenteile" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "Keine passenden Bestellungen" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "Positionen auswählen" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "Mindestens eine Position muss ausgewählt werden" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "Losnummer hinzufügen" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "Seriennummern hinzufügen" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "Gelieferte Menge" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "Zu erhaltende Menge" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "Status" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "Bestellnummer" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "Bestellt" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "Zu erhaltende Menge" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "Empfang der Teile bestätigen" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "Bestellpositionen erhalten" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "Keine Bestellungen gefunden" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "Bestellung überfällig" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "Positionen" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "Alle ausgewählten Positionen werden gelöscht" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "Ausgewählte Positionen löschen?" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "Position duplizieren" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "Position bearbeiten" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "Position löschen" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "Keine Positionen gefunden" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "Diese Position ist überfällig" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "Position empfangen" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "Position duplizieren" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "Position bearbeiten" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "Position löschen" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "Position duplizieren" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "Zeile bearbeiten" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "Zeile löschen" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "Zeile löschen" -#: templates/js/translated/order.js:2849 -msgid "No matching line" -msgstr "Keine passenden Positionen gefunden" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" +msgstr "Keine Positionen gefunden" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" -msgstr "Keine Aufträge gefunden" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" +msgstr "Position duplizieren" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" -msgstr "Ungültiger Kunde" +#: templates/js/translated/order.js:333 +msgid "Edit line" +msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" -msgstr "Sendung bearbeiten" +#: templates/js/translated/order.js:337 +msgid "Delete line" +msgstr "Zeile löschen" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "Sendung fertigstellen" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "Sendung löschen" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "Sendung bearbeiten" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "Sendung löschen" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "Keine passenden Sendungen gefunden" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "Sendungsreferenz" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "Nicht versandt" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "Nachverfolgen" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "Rechnung" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "Sendung hinzufügen" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "Bestandszuordnung bestätigen" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "Artikel zu Kundenauftrag zuweisen" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "Keine Allokationen für Verkaufsaufträge gefunden" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "Bestandszuordnung bearbeiten" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "Löschvorgang bestätigen" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "Bestands-Zuordnung löschen" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "an Kunde versand" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "Lagerstandort nicht angegeben" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "Seriennummern zuweisen" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "Bestand kaufen" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "Preis berechnen" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "Seriennummern zuweisen" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "Stückpreis aktualisieren" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "Keine passenden Positionen gefunden" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "Keine passenden Positionen gefunden" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "Teileigenschaften" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "Erstellungsoptionen für Teile" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "Einstellungen für Teilkopien" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "Icon (optional) - alle verfügbaren Icons einsehbar auf" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "Teil-Kategorie bearbeiten" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "Möchten Sie diese Kategorie wirklich löschen?" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "In übergeordnete Kategorie verschieben" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "Aktion für Teile in dieser Kategorie" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "Aktion für Unterkategorien" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "Teil hinzufügen" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "Ein weiteres Teil anlegen" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "Teil erfolgreich angelegt" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "Teil bearbeiten" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "Teil bearbeitet" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "Teil-Variante anlegen" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "Aktives Teil" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "Teil kann nicht gelöscht werden, da es derzeit aktiv ist" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "Alle Lagerartikel für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "Dieses Teil wird von allen Stücklisten entfernt" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Alle Hersteller- und Zuliefererinformationen für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "Teil löschen" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "Benachrichtigungen für dieses Teil abonnieren" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abgemeldet" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "Die Stückliste zu validieren markiert jede Zeile als gültig" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "Stückliste prüfen" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "überprüfte Stückliste" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "Stückliste kopieren" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "Bedarf" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "Einheit" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "virtuelles Teil" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "Abonnierter Teil" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "Die Erstellung eines neuen Inventurberichtes planen." -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "Nach Fertigstellung steht der Inventurbericht zum Download zur Verfügung." -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "Inventurbericht generieren" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "Inventurbericht geplant" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "Keine Inventurinformationen verfügbar" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "Inventureintrag bearbeiten" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "Inventureintrag löschen" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "Keine Bestellungen gefunden" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "Diese Position ist überfällig" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "Position empfangen" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "Listenansicht" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "Rasteransicht" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "Legen Sie die Teilkategorie für die ausgewählten Teile fest" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "Teil-Kategorie auswählen" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "Teil-Kategorie wählen" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "Kategorie erforderlich" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "Baumansicht" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "Unterkategorien laden" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "Testergebnis-Vorlage bearbeiten" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "Testergebnis-Vorlage löschen" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "Kein Datum angegeben" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "Das angegebene Datum liegt in der Vergangenheit" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "Spekulativ" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "Keine Zeitplanung für dieses Teil vorhanden" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "Fehler beim Abrufen der Zeitplanungsinformationen für dieses Teil" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "Geplante Lagermengen" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "Maximale Anzahl" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "Minimaler Lagerbestand" @@ -10713,803 +10690,1209 @@ msgstr "Keine Variantendaten verfügbar" msgid "Variant Part" msgstr "Variantenteil" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "Bestellung zum Duplizieren auswählen" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "Positionen duplizieren" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "Alle Positionen der ausgewählten Bestellung duplizieren" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "Zusätzliche Zeilen duplizieren" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "Zusätzliche Positionen der ausgewählten Bestellung duplizieren" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "Bestellung bearbeiten" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "Duplizierungsoptionen" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "Bestellung vervollständigen" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "Diese Bestellung als vollständig markieren?" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "Alle Einträge wurden erhalten" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "Diese Bestellung enthält Positionen, die nicht als empfangen markiert wurden." + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "Fertigstellen dieser Bestellung bedeutet, dass sie und ihre Positionen nicht länger bearbeitbar sind." + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "Bestellung abbrechen" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "Sind Sie sicher, dass Sie diese Bestellung abbrechen möchten?" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "Diese Bestellung kann nicht storniert werden" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "Bestellung aufgeben" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "Mindestens ein kaufbares Teil muss ausgewählt werden" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "Zu bestellende Menge" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "Neues Zuliefererteil" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "Neue Bestellung" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "Zur Bestellung hinzufügen" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "Keine passenden Lieferantenteile" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "Keine passenden Bestellungen" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "Positionen auswählen" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "Mindestens eine Position muss ausgewählt werden" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "Losnummer hinzufügen" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "Seriennummern hinzufügen" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "Gelieferte Menge" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "Zu erhaltende Menge" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "Status" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "Bestellnummer" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "Bestellt" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "Zu erhaltende Menge" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "Empfang der Teile bestätigen" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "Bestellpositionen erhalten" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "Bestellung überfällig" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "Positionen" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "Alle ausgewählten Positionen werden gelöscht" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "Ausgewählte Positionen löschen?" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "Position duplizieren" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "Position bearbeiten" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "Position löschen" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "Position duplizieren" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "Position bearbeiten" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "Position löschen" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "Lagerartikel ausgewählt" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "Bericht-Vorlage auswählen" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "Test-Bericht-Vorlage auswählen" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "Lagerartikel müssen vor dem Berichtsdruck ausgewählt werden" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "Keine Berichte gefunden" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "Keine Berichtsvorlagen für ausgewählte Lagerartikel gefunden" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" +msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "Bauauftrag auswählen" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" +msgstr "Kunden hinzufügen" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "Bauauftrag muss vor dem Berichtsdruck ausgewählt werden" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" +msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "Keine Berichtvorlagen für ausgewählten Bauauftrag gefunden" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" +msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "Teil muss vor dem Berichtsdruck ausgewählt werden" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" +msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "Keine Berichtvorlagen für ausgewählte Teile gefunden" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" +msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "Bestellungen auswählen" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" +msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "Bestellung muss vor dem Berichtsdruck ausgewählt werden" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" +msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "Keine Berichtvorlagen für ausgewählte Bestellungen gefunden" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" +msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "Aufträge auswählen" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" +msgstr "Ungültiger Kunde" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" +msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "Keine passenden Positionen gefunden" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "Auftrag anlegen" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "Auftrag bearbeiten" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "Dieser Sendung wurden keine Artikel zugewiesen" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "Die folgenden Artikel werden verschickt" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "Sendung fertigstellen" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "Sendung bestätigen" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "Keine ausstehenden Sendungen gefunden" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "Keine Lagerartikel für offene Sendungen zugewiesen" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "Abgeschlossene Sendungen" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "Überspringen" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "Dieser Auftrag enthält Positionen, die noch nicht abgeschlossen sind." + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "Auftrag stornieren" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar ist." + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "Sendung anlegen" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "Keine Aufträge gefunden" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "Sendung bearbeiten" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "Sendung fertigstellen" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "Sendung löschen" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "Sendung bearbeiten" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "Sendung löschen" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "Keine passenden Sendungen gefunden" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "Sendungsreferenz" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "Nicht versandt" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "Nachverfolgen" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "Rechnung" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "Sendung hinzufügen" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "Bestandszuordnung bestätigen" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "Artikel zu Kundenauftrag zuweisen" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "Keine Allokationen für Verkaufsaufträge gefunden" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "Bestandszuordnung bearbeiten" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "Löschvorgang bestätigen" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "Bestands-Zuordnung löschen" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "an Kunde versand" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "Lagerstandort nicht angegeben" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "Seriennummern zuweisen" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "Bestand kaufen" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "Preis berechnen" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "Seriennummern zuweisen" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "Stückpreis aktualisieren" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "Keine Ergebnisse" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "Suchbegriff eingeben" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "Ergebnisse minimieren" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "Ergebnisse entfernen" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "Lagerartikel serialisieren" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "Lager-Serialisierung bestätigen" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "Lagerartikel-Ort bearbeiten" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "Neuer Lagerstandort" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "Sind Sie sicher, dass Sie diesen Lagerort löschen wollen?" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "Zum übergeordneten Lagerbestand verschieben" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "Bestand-Lagerort löschen" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "Aktion für Lagerartikel in diesem Lagerort" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "Aktion für Unter-Lagerorte" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "Dieser Teil kann nicht serialisiert werden" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "Ausgangsmenge für diesen Lagerartikel eingeben" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "Lagerartikel dupliziert" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "Bestand duplizieren" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "Sind Sie sicher, dass Sie diesen Lagerartikel löschen wollen?" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "Lagerartikel löschen" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "Lagerartikel bearbeiten" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "Neuer Lagerartikel erstellt" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "Mehrere Lagerartikel erstellt" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "Seriennummer finden" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "Seriennummer eingeben" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "Eine Seriennummer eingeben" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "Keine passende Seriennummer" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "Mehrere Ergebnisse gefunden" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "Bestand Zuweisung bestätigen" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "Einem Kunden zuordnen" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "Achtung: Das Zusammenführen kann nicht rückgängig gemacht werden" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "Einige Informationen gehen verloren, wenn Artikel zusammengeführt werden" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "Lagerartikelverlauf wird für zusammengeführte Lagerartikel gelöscht" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "Lieferantenteil-Informationen werden für zusammengeführte Artikel gelöscht" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "Zusammenführung der Artikel bestätigen" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "Artikel zusammenführen" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "Bestand verschieben" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "Verschieben" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "Bestand zählen" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "Anzahl" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "Bestand entfernen" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "Entfernen" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "Hinzufügen" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "Bestand löschen" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "Bestandsanzahl angeben" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "Lagerartikel auswählen" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "Sie müssen mindestens einen Lagerartikel auswählen" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "Bestands-Anpassung bestätigen" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "ERFOLGREICH" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "FEHLGESCHLAGEN" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "KEIN ERGEBNIS" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "Test bestanden" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "Testergebnis hinzufügen" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "Keine Testergebnisse gefunden" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "Testdatum" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "Testergebnis löschen" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "In Arbeit" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "In Lagerartikel installiert" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "Auftrag zugewiesen" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "Kein Lagerort gesetzt" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "Lagerartikel wird produziert" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "Lagerartikel wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "Lagerartikel wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "Serialisierter Lagerartikel wurde zugewiesen" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "Lagerartikel wurde vollständig zugewiesen" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "Lagerartikel wurde teilweise zugewiesen" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "Lagerartikel in anderem Element verbaut" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "Lagerartikel ist abgelaufen" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "Lagerartikel läuft demnächst ab" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "Lagerartikel abgewiesen" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "Lagerartikel verloren" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "Lagerartikel zerstört" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "Bestandswert" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerartikel" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "Untergeordnete Lagerorte laden" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "Details" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "Artikelinformationen nicht verfügbar" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "Lagerartikel existiert nicht mehr" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "Lagerartikel entfernen" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "Zu deinstallierende Lagerartikel auswählen" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "Einen weiteren Lagerartikel in dieses Teil installiert" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Der Lagerartikel ist auf ein Teil verknüpft das in der Stückliste für diesen Lagerartikel ist" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "Dieser Lagerartikel ist aktuell vorhanden" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "Teil zur Installation auswählen" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "Nachverfolgbares Teil" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "Baugruppe" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "Hat verfügbaren Bestand" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "Bestand an Varianten zulassen" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "Hat Preis" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "Unter-Lagerorte einschließen" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "Lagerorte einschließen" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "Unterkategorien einschließen" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "Abonniert" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "Hat Seriennummer" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "Seriennummer >=" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "Seriennummer größer oder gleich" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "Seriennummer <=" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "Seriennummern kleiner oder gleich" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "Seriennummer" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "Losnummer" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "Aktive Teile" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "Bestand aktiver Teile anzeigen" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "Teil ist eine Baugruppe" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "Ist zugeordnet" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "Teil wurde zugeordnet" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "Lagerartikel ist zur Verwendung verfügbar" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "Bestand in Unter-Lagerorten einschließen" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "Zeige aufgebrauchte Lagerartikel" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "Zeige Objekte welche im Lager sind" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "In Arbeit" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "Elemente, die in Produktion sind, anzeigen" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "Varianten einschließen" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "Lagerartikel für Teil-Varianten einschließen" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "Installiert" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "Lagerartikel, die in anderen Elementen verbaut sind, anzeigen" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "zeige zu Kunden zugeordnete Einträge" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "Status" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "Hat Batch-Code" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "Nachverfolgt" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "Lagerbestand wird entweder per Batch-Code oder Seriennummer verfolgt" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "Hat Einkaufspreis" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "Bestand mit Einkaufspreis anzeigen" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "Ablaufdatum vor" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "Ablaufdatum nach" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "Zeige abgelaufene Lagerartikel" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "Bestand, der bald ablaufen, anzeigen" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "Test bestanden" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "Installierte Elemente einschließen" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "Bauauftrags-Status" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "Mir zugewiesen" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "Bestellstatus" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "ausstehend" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "Mir zugewiesen" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "Nachverfolgbares Teil" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "Baugruppe" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "Hat verfügbaren Bestand" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "Bestand an Varianten zulassen" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "Hat Preis" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "Unter-Lagerorte einschließen" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "Lagerorte einschließen" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "Unterkategorien einschließen" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "Abonniert" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "Hat Seriennummer" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "Seriennummer >=" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "Seriennummer größer oder gleich" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "Seriennummer <=" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "Seriennummern kleiner oder gleich" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "Seriennummer" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "Losnummer" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "Aktive Teile" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "Bestand aktiver Teile anzeigen" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "Teil ist eine Baugruppe" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "Ist zugeordnet" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "Teil wurde zugeordnet" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "Lagerartikel ist zur Verwendung verfügbar" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "Bestand in Unter-Lagerorten einschließen" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "Zeige aufgebrauchte Lagerartikel" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "Zeige Objekte welche im Lager sind" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "In Arbeit" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "Elemente, die in Produktion sind, anzeigen" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "Varianten einschließen" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "Lagerartikel für Teil-Varianten einschließen" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "Installiert" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "Lagerartikel, die in anderen Elementen verbaut sind, anzeigen" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "zeige zu Kunden zugeordnete Einträge" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "Status" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "Hat Batch-Code" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "Nachverfolgt" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "Lagerbestand wird entweder per Batch-Code oder Seriennummer verfolgt" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "Hat Einkaufspreis" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "Bestand mit Einkaufspreis anzeigen" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "Ablaufdatum vor" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "Ablaufdatum nach" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "Zeige abgelaufene Lagerartikel" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "Bestand, der bald ablaufen, anzeigen" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "Test bestanden" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "Installierte Elemente einschließen" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "Bauauftrags-Status" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "Verfügbarer Lagerbestand" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "Hat IPN" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "Teil hat Interne Teilenummer" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "Auf Lager" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "Käuflich" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "Hat Inventureinträge" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "Kalender-Ansicht" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "Listen-Ansicht" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "Baumansicht zeigen" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "Alle Zeilen erweitern" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "Alle Zeilen einklappen" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "Tabellendaten exportieren" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "Dateiformat wählen" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "Lade Daten" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "Zeilen pro Seite" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "Alle Zeilen anzeigen" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "zeige" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "bis" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "von" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "Zeilen" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "Keine passenden Ergebnisse gefunden" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "Zeige/Verstecke Pagination" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "umschalten" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "Spalten" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "Alle" @@ -11521,19 +11904,19 @@ msgstr "Kaufen" msgid "Sell" msgstr "Verkaufen" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "Benachrichtigungen anzeigen" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "Neue Benachrichtigungen" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "Admin" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "Ausloggen" @@ -11680,55 +12063,51 @@ msgstr "E-Mail-Einstellungen nicht konfiguriert" msgid "Barcode Actions" msgstr "Barcode Aktionen" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "Test-Berichte drucken" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "Bestands-Einstellungen " -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "Zu ausgewählten Lagerartikeln hinzufügen" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "Von ausgewählten Lagerartikeln entfernen" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "Inventur für gewählte Lagerartikel" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "Ausgewählte Lagerartikel verschieben" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "Ausgewählte Artikel zusammenführen" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "Bestand zusammenführen" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "Ausgewählte Positionen bestellen" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "Status ändern" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "Status ändern" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "Ausgewählte Positionen löschen" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "Bestand löschen" @@ -11748,51 +12127,51 @@ msgstr "Benutzer" msgid "Select which users are assigned to this group" msgstr "Welche Benutzer gehören zu dieser Gruppe" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "Folgende Benutzer gehören zu mehreren Gruppen:" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "Persöhnliche Informationen" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "Berechtigungen" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "wichtige Daten" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "Gruppe" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "Ansicht" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "Ändern" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 1e44aec5c3..2b8d2e7fc1 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Το API endpoint δε βρέθηκε" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Εισάγετε ημερομηνία" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Σημειώσεις" @@ -134,7 +137,7 @@ msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s" msgid "Supplied URL is not a valid image file" msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" @@ -206,8 +209,8 @@ msgstr "Το αρχείο λείπει" msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Συνημμένο" @@ -216,24 +219,24 @@ msgstr "Συνημμένο" msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Σχόλιο" @@ -242,13 +245,13 @@ msgstr "Σχόλιο" msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Χρήστης" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Περιγραφή" @@ -343,7 +350,7 @@ msgid "parent" msgstr "γονέας" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Μονοπάτι" @@ -355,7 +362,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -375,12 +382,12 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -568,157 +575,191 @@ msgstr "Δεν έχει ρυθμιστεί διεύθυνση ηλεκτρονι msgid "InvenTree system health checks failed" msgstr "Ο έλεγχος συστήματος για το Inventree απέτυχε" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Σε εκκρεμότητα" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Τοποθετήθηκε" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Ολοκληρώθηκε" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Ακυρώθηκε" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Χάθηκε" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Επιστράφηκε" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Αποστάλθηκε" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "ΟΚ" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Απαιτείται προσοχή" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Κατεστραμμένο" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Καταστράφηκε" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Απορρίφθηκε" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "Σε Καραντίνα" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Καταχώρηση παλαιού αποθέματος" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Το αντικείμενο αποθεμάτων δημιουργήθηκε" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Έγινε συγχώνευση αποθεμάτων" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Εκχωρημένος σειριακός κωδικός" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Απόθεμα που μετρήθηκε" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Προστέθηκε απόθεμα χειροκίνητα" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Αφαιρέθηκε απόθεμα χειροκίνητα" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Η τοποθεσία τροποποιήθηκε" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Εγκαταστάθηκε στη συναρμολόγηση" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Αφαιρέθηκε από τη συναρμολόγηση" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Εγκαταστάθηκε αντικείμενο" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Αφαιρέθηκε αντικείμενο" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχείο" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Διαχωρίστηκε θυγατρικό στοιχείο" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Έγινε συγχώνευση αποθεμάτων" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Μετατράπηκε σε παραλλαγή" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Απεστάλη στον πελάτη" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Επιστράφηκε από πελάτη" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Δημιουργήθηκε η έξοδος παραγγελίας" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Η έξοδος της σειράς κατασκευής ολοκληρώθηκε" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Κατανάλωση με εντολή κατασκευής" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Λήφθηκε έναντι εντολής αγοράς" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Παραγωγή" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Μη έγκυρος κωδικός συναλλάγματος" @@ -751,28 +792,28 @@ msgstr "Τα πεδία κωδικού πρόσβασης πρέπει να τα msgid "Wrong password provided" msgstr "Δόθηκε λάθος κωδικός πρόσβασης" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Πληροφορίες συστήματος" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Σχετικά με το InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Σειρά Κατασκευής" msgid "Build Orders" msgstr "Δημιουργία Παραγγελιών" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Αναφορά" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Σύντομη περιγραφή της κατασκευής" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Γονική Κατασκευή" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Εξάρτημα" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Επιλέξτε τμήμα για κατασκευή" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Κωδικός Παραγγελίας Πωλήσεων" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Επιλέξτε τοποθεσία από την οποία θα γίνει απόθεμα, για αυτή την κατασκευή (αφήστε κενό για να πάρετε από οποιαδήποτε θέση αποθήκευσης)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Τοποθεσία Προορισμού" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Επιλέξτε την τοποθεσία όπου θα αποθηκευτούν τα ολοκληρωμένα στοιχεία" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Ποσότητα Κατασκευής" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Αριθμός αντικειμένων για κατασκευή" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Ολοκληρωμένα αντικείμενα" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Αριθμός αντικειμένων αποθέματος που έχουν ολοκληρωθεί" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Κατάσταση Κατασκευής" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Ημερομηνία ολοκλήρωσης στόχου" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "ολοκληρώθηκε από" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Εκδόθηκε από" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Υπεύθυνος" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Επιπλέον σημειώσεις" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Το επιλεγμένο αντικείμενο αποθέματος δεν βρέθηκε στο BOM" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Κατασκευή" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "Κατασκευή για εκχώρηση τμημάτων" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Κατασκευή Εξόδου" @@ -1139,9 +1205,9 @@ msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρ msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1154,9 +1220,9 @@ msgstr "Ακέραιη ποσότητα που απαιτείται για αν msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" @@ -1172,7 +1238,7 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3165,6 +3283,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Το IPN πρέπει να ταιριάζει με το μοτίβο regex {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 99b57e4718..3d85e8378e 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-03-01 21:26+0000\n" +"POT-Creation-Date: 2023-03-29 08:09+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,10 +18,14 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "" +#: InvenTree/api.py:308 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "" @@ -31,22 +35,25 @@ msgid "Enter date" msgstr "" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:946 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1029 #: 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:2919 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 -#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 -#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 +#: stock/admin.py:121 stock/models.py:2100 stock/models.py:2208 +#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 +#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2532 templates/js/translated/order.js:2664 -#: templates/js/translated/order.js:3157 templates/js/translated/order.js:4099 -#: templates/js/translated/order.js:4472 templates/js/translated/part.js:973 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2074 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:937 +#: templates/js/translated/sales_order.js:1843 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "" @@ -99,75 +106,75 @@ msgstr "" msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:166 +#: InvenTree/helpers.py:168 msgid "Connection error" msgstr "" -#: InvenTree/helpers.py:170 InvenTree/helpers.py:175 +#: InvenTree/helpers.py:172 InvenTree/helpers.py:177 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers.py:172 +#: InvenTree/helpers.py:174 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers.py:180 +#: InvenTree/helpers.py:182 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers.py:183 +#: InvenTree/helpers.py:185 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers.py:195 +#: InvenTree/helpers.py:197 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers.py:200 +#: InvenTree/helpers.py:202 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers.py:208 +#: InvenTree/helpers.py:210 msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:610 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:635 +#: InvenTree/helpers.py:640 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:668 InvenTree/helpers.py:703 +#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:697 +#: InvenTree/helpers.py:702 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:721 InvenTree/helpers.py:728 InvenTree/helpers.py:743 +#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:753 +#: InvenTree/helpers.py:758 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:756 +#: InvenTree/helpers.py:761 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:955 +#: InvenTree/helpers.py:960 msgid "Remove HTML tags from this value" msgstr "" @@ -203,8 +210,8 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:409 stock/models.py:2196 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2202 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "" @@ -213,23 +220,24 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:416 common/models.py:2542 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:84 -#: order/models.py:1284 part/admin.py:39 part/models.py:835 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1377 order/models.py:1856 part/admin.py:39 +#: part/models.py:892 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:119 templates/js/translated/company.js:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:3146 templates/js/translated/part.js:1990 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:926 msgid "Link" msgstr "" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 -#: stock/models.py:728 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "" @@ -238,13 +246,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1991 -#: common/models.py:1992 common/models.py:2215 common/models.py:2216 -#: common/models.py:2472 common/models.py:2473 part/models.py:2927 -#: part/models.py:3015 part/models.py:3094 part/models.py:3114 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2761 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "" @@ -285,47 +293,52 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2201 -#: company/models.py:382 label/models.py:101 part/models.py:779 -#: part/models.py:3262 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1088 -#: templates/js/translated/part.js:1257 templates/js/translated/part.js:2395 -#: templates/js/translated/stock.js:2488 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "" -#: InvenTree/models.py:578 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 -#: part/models.py:3271 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:109 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2366 -#: templates/js/translated/order.js:2934 templates/js/translated/part.js:1150 -#: templates/js/translated/part.js:1600 templates/js/translated/part.js:1874 -#: templates/js/translated/part.js:2431 templates/js/translated/part.js:2528 -#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 -#: templates/js/translated/stock.js:2520 templates/js/translated/stock.js:2598 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:714 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "" @@ -338,7 +351,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2440 templates/js/translated/stock.js:2529 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "" @@ -350,7 +363,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:470 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -370,12 +383,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3618 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2766 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -447,124 +460,125 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:705 msgid "Czech" msgstr "" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:706 msgid "Danish" msgstr "" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:707 msgid "German" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:708 msgid "Greek" msgstr "" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:709 msgid "English" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:710 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:711 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:712 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:713 msgid "French" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:714 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:715 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:716 msgid "Italian" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:717 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:718 msgid "Korean" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:719 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:720 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:721 msgid "Polish" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:722 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:723 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:724 msgid "Russian" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:725 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:726 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:727 msgid "Thai" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:728 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:729 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:730 msgid "Chinese" msgstr "" -#: InvenTree/status.py:98 part/serializers.py:862 +#: InvenTree/status.py:92 part/serializers.py:879 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:102 +#: InvenTree/status.py:96 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:105 +#: InvenTree/status.py:99 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:313 InvenTree/status_codes.py:350 +#: InvenTree/status_codes.py:385 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "" @@ -572,14 +586,14 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:352 order/templates/order/order_base.html:142 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" #: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:315 InvenTree/status_codes.py:353 msgid "Cancelled" msgstr "" @@ -593,8 +607,9 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1167 -#: templates/js/translated/order.js:3734 templates/js/translated/order.js:4074 +#: InvenTree/status_codes.py:141 order/models.py:1260 +#: templates/js/translated/sales_order.js:1503 +#: templates/js/translated/sales_order.js:1818 msgid "Shipped" msgstr "" @@ -622,116 +637,143 @@ msgstr "" msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:263 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:265 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:267 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:268 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:270 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:271 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:272 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:274 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:276 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:277 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:279 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:280 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:282 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:283 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2178 +#: InvenTree/status_codes.py:285 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:287 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:289 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:290 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:292 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:293 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:294 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" +#: InvenTree/status_codes.py:296 +msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:298 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:300 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:314 msgid "Production" msgstr "" -#: InvenTree/validators.py:20 +#: InvenTree/status_codes.py:351 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:386 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:387 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:388 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:389 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:390 +msgid "Reject" +msgstr "" + +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:91 -#, python-brace-format -msgid "IPN must match regex pattern {pat}" -msgstr "" - -#: InvenTree/validators.py:133 InvenTree/validators.py:149 +#: InvenTree/validators.py:87 InvenTree/validators.py:103 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:151 +#: InvenTree/validators.py:105 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:158 +#: InvenTree/validators.py:112 msgid "Invalid value for overage" msgstr "" @@ -751,369 +793,396 @@ msgstr "" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:157 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:240 order/models.py:655 -#: order/models.py:944 part/admin.py:277 part/models.py:3528 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1027 order/models.py:1638 part/admin.py:278 +#: part/models.py:3602 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 -#: report/templates/report/inventree_po_report.html:91 -#: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2397 -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:3938 -#: templates/js/translated/order.js:4421 templates/js/translated/pricing.js:370 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1682 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:169 msgid "Brief description of the build" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1040 order/models.py:1151 order/models.py:1152 -#: part/models.py:382 part/models.py:2779 part/models.py:2893 -#: part/models.py:3033 part/models.py:3052 part/models.py:3071 -#: part/models.py:3092 part/models.py:3184 part/models.py:3305 -#: part/models.py:3397 part/models.py:3493 part/models.py:3798 -#: part/serializers.py:826 part/serializers.py:1231 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1123 order/models.py:1239 order/models.py:1240 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 +#: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 -#: stock/serializers.py:482 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 +#: stock/serializers.py:144 stock/serializers.py:484 +#: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:3289 -#: templates/js/translated/order.js:3685 templates/js/translated/order.js:3922 -#: templates/js/translated/part.js:1585 templates/js/translated/part.js:1657 -#: templates/js/translated/part.js:1851 templates/js/translated/pricing.js:353 -#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 -#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 -#: templates/js/translated/stock.js:2624 templates/js/translated/stock.js:2819 -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:235 +#: templates/js/translated/sales_order.js:1068 +#: templates/js/translated/sales_order.js:1454 +#: templates/js/translated/sales_order.js:1666 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:191 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3277 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1056 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:214 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:222 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:229 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:235 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:239 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 -#: stock/models.py:732 templates/js/translated/order.js:1626 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:86 part/models.py:971 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2947 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:727 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:685 +#: build/models.py:259 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:291 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1681 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:269 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:278 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:100 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:975 -#: part/templates/part/part_base.html:398 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:193 part/models.py:1032 +#: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2156 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:391 stock/models.py:726 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "Extra build notes" msgstr "" -#: build/models.py:299 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1418 +#: build/models.py:1209 order/models.py:1515 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1421 +#: build/models.py:1215 order/models.py:1518 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1219 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 -#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 -#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1013 +#: order/serializers.py:1034 stock/serializers.py:388 stock/serializers.py:741 +#: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3290 -#: templates/js/translated/order.js:3592 templates/js/translated/order.js:3597 -#: templates/js/translated/order.js:3692 templates/js/translated/order.js:3784 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2697 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1069 +#: templates/js/translated/sales_order.js:1367 +#: templates/js/translated/sales_order.js:1372 +#: templates/js/translated/sales_order.js:1461 +#: templates/js/translated/sales_order.js:1551 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "" -#: build/models.py:1363 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2023 -#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 -#: part/forms.py:47 part/models.py:2906 part/models.py:3509 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1013 order/models.py:1559 order/serializers.py:1187 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report.html:90 -#: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:103 stock/serializers.py:279 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2403 templates/js/translated/order.js:2619 -#: templates/js/translated/order.js:3291 templates/js/translated/order.js:3611 -#: templates/js/translated/order.js:3698 templates/js/translated/order.js:3790 -#: templates/js/translated/order.js:3944 templates/js/translated/order.js:4427 -#: templates/js/translated/part.js:850 templates/js/translated/part.js:1455 -#: templates/js/translated/part.js:2969 templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2746 templates/js/translated/stock.js:2831 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:252 +#: templates/js/translated/sales_order.js:1070 +#: templates/js/translated/sales_order.js:1386 +#: templates/js/translated/sales_order.js:1467 +#: templates/js/translated/sales_order.js:1557 +#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "" -#: build/models.py:1376 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1386 msgid "Install into" msgstr "" -#: build/models.py:1385 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1137,10 +1206,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 -#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1071 -#: part/serializers.py:1394 stock/models.py:586 stock/models.py:1338 -#: stock/serializers.py:288 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1344 +#: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1152,9 +1221,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 -#: stock/serializers.py:297 templates/js/translated/order.js:1637 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1191 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" @@ -1170,7 +1239,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:647 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1178,18 +1247,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 -#: part/serializers.py:838 stock/serializers.py:308 stock/serializers.py:443 -#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1664 -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3709 -#: templates/js/translated/order.js:3717 templates/js/translated/order.js:3798 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2638 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1540 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1379 +#: templates/js/translated/sales_order.js:1478 +#: templates/js/translated/sales_order.js:1486 +#: templates/js/translated/sales_order.js:1565 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1198,13 +1270,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:674 -#: order/serializers.py:466 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1664 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 -#: templates/js/translated/order.js:2939 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2715 templates/js/translated/stock.js:2847 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" @@ -1264,7 +1339,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1081 msgid "Accept Incomplete" msgstr "" @@ -1280,8 +1355,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3420 -#: part/models.py:3790 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1297,11 +1372,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:752 +#: build/serializers.py:680 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1066 +#: build/serializers.py:729 order/serializers.py:1071 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1318,7 +1393,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1350 +#: build/serializers.py:770 order/serializers.py:1355 msgid "Allocation items must be provided" msgstr "" @@ -1373,6 +1448,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1441,13 +1517,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:950 -#: order/templates/order/order_base.html:171 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1033 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2143 -#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2955 -#: templates/js/translated/order.js:3987 templates/js/translated/part.js:1470 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:735 +#: templates/js/translated/sales_order.js:1731 msgid "Target Date" msgstr "" @@ -1458,31 +1539,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:174 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1292 order/models.py:1144 -#: order/models.py:1238 order/models.py:1369 +#: build/templates/build/detail.html:101 order/api.py:1516 order/models.py:1232 +#: order/models.py:1331 order/models.py:1465 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2901 templates/js/translated/pricing.js:896 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:681 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1493,11 +1578,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1513,8 +1598,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1062 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2521 +#: build/templates/build/detail.html:49 order/models.py:1150 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1528,19 +1614,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2854 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1560,7 +1647,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1589,9 +1676,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1643,27 +1731,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1671,15 +1751,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1687,10 +1767,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1882,1165 +1958,1230 @@ msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they msgstr "" #: common/models.py:988 -msgid "Automatic Backup" +msgid "Update Check Inverval" msgstr "" #: common/models.py:989 -msgid "Enable automatic backup of database and media files" +msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:995 -msgid "Days Between Backup" -msgstr "" - -#: common/models.py:996 -msgid "Specify number of days between automated backup events" -msgstr "" - -#: common/models.py:1005 -msgid "Delete Old Tasks" -msgstr "" - -#: common/models.py:1006 -msgid "Background task results will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1016 -msgid "Delete Error Logs" -msgstr "" - -#: common/models.py:1017 -msgid "Error logs will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1027 templates/InvenTree/notifications/history.html:13 -#: templates/InvenTree/notifications/history.html:14 -#: templates/InvenTree/notifications/notifications.html:77 -msgid "Delete Notifications" -msgstr "" - -#: common/models.py:1028 -msgid "User notifications will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1038 templates/InvenTree/settings/sidebar.html:31 -msgid "Barcode Support" -msgstr "" - -#: common/models.py:1039 -msgid "Enable barcode scanner support" -msgstr "" - -#: common/models.py:1045 -msgid "Barcode Input Delay" -msgstr "" - -#: common/models.py:1046 -msgid "Barcode input processing delay time" -msgstr "" - -#: common/models.py:1056 -msgid "Barcode Webcam Support" -msgstr "" - -#: common/models.py:1057 -msgid "Allow barcode scanning via webcam in browser" -msgstr "" - -#: common/models.py:1063 -msgid "IPN Regex" -msgstr "" - -#: common/models.py:1064 -msgid "Regular expression pattern for matching Part IPN" -msgstr "" - -#: common/models.py:1068 -msgid "Allow Duplicate IPN" -msgstr "" - -#: common/models.py:1069 -msgid "Allow multiple parts to share the same IPN" -msgstr "" - -#: common/models.py:1075 -msgid "Allow Editing IPN" -msgstr "" - -#: common/models.py:1076 -msgid "Allow changing the IPN value while editing a part" -msgstr "" - -#: common/models.py:1082 -msgid "Copy Part BOM Data" -msgstr "" - -#: common/models.py:1083 -msgid "Copy BOM data by default when duplicating a part" -msgstr "" - -#: common/models.py:1089 -msgid "Copy Part Parameter Data" -msgstr "" - -#: common/models.py:1090 -msgid "Copy parameter data by default when duplicating a part" -msgstr "" - -#: common/models.py:1096 -msgid "Copy Part Test Data" -msgstr "" - -#: common/models.py:1097 -msgid "Copy test data by default when duplicating a part" -msgstr "" - -#: common/models.py:1103 -msgid "Copy Category Parameter Templates" -msgstr "" - -#: common/models.py:1104 -msgid "Copy category parameter templates when creating a part" -msgstr "" - -#: common/models.py:1110 part/admin.py:55 part/models.py:3307 -#: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 -msgid "Template" -msgstr "" - -#: common/models.py:1111 -msgid "Parts are templates by default" -msgstr "" - -#: common/models.py:1117 part/admin.py:51 part/admin.py:282 part/models.py:927 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 -msgid "Assembly" -msgstr "" - -#: common/models.py:1118 -msgid "Parts can be assembled from other components by default" -msgstr "" - -#: common/models.py:1124 part/admin.py:52 part/models.py:933 -#: templates/js/translated/table_filters.js:510 -msgid "Component" -msgstr "" - -#: common/models.py:1125 -msgid "Parts can be used as sub-components by default" -msgstr "" - -#: common/models.py:1131 part/admin.py:53 part/models.py:944 -msgid "Purchaseable" -msgstr "" - -#: common/models.py:1132 -msgid "Parts are purchaseable by default" -msgstr "" - -#: common/models.py:1138 part/admin.py:54 part/models.py:949 -#: templates/js/translated/table_filters.js:531 -msgid "Salable" -msgstr "" - -#: common/models.py:1139 -msgid "Parts are salable by default" -msgstr "" - -#: common/models.py:1145 part/admin.py:56 part/models.py:939 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 -msgid "Trackable" -msgstr "" - -#: common/models.py:1146 -msgid "Parts are trackable by default" -msgstr "" - -#: common/models.py:1152 part/admin.py:57 part/models.py:959 -#: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 -msgid "Virtual" -msgstr "" - -#: common/models.py:1153 -msgid "Parts are virtual by default" -msgstr "" - -#: common/models.py:1159 -msgid "Show Import in Views" -msgstr "" - -#: common/models.py:1160 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/models.py:1166 -msgid "Show related parts" -msgstr "" - -#: common/models.py:1167 -msgid "Display related parts for a part" -msgstr "" - -#: common/models.py:1173 -msgid "Initial Stock Data" -msgstr "" - -#: common/models.py:1174 -msgid "Allow creation of initial stock when adding a new part" -msgstr "" - -#: common/models.py:1180 templates/js/translated/part.js:74 -msgid "Initial Supplier Data" -msgstr "" - -#: common/models.py:1181 -msgid "Allow creation of initial supplier data when adding a new part" -msgstr "" - -#: common/models.py:1187 -msgid "Part Name Display Format" -msgstr "" - -#: common/models.py:1188 -msgid "Format to display the part name" -msgstr "" - -#: common/models.py:1195 -msgid "Part Category Default Icon" -msgstr "" - -#: common/models.py:1196 -msgid "Part category default icon (empty means no icon)" -msgstr "" - -#: common/models.py:1201 -msgid "Pricing Decimal Places" -msgstr "" - -#: common/models.py:1202 -msgid "Number of decimal places to display when rendering pricing data" -msgstr "" - -#: common/models.py:1212 -msgid "Use Supplier Pricing" -msgstr "" - -#: common/models.py:1213 -msgid "Include supplier price breaks in overall pricing calculations" -msgstr "" - -#: common/models.py:1219 -msgid "Purchase History Override" -msgstr "" - -#: common/models.py:1220 -msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "" - -#: common/models.py:1226 -msgid "Use Stock Item Pricing" -msgstr "" - -#: common/models.py:1227 -msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "" - -#: common/models.py:1233 -msgid "Stock Item Pricing Age" -msgstr "" - -#: common/models.py:1234 -msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "" - -#: common/models.py:1244 -msgid "Use Variant Pricing" -msgstr "" - -#: common/models.py:1245 -msgid "Include variant pricing in overall pricing calculations" -msgstr "" - -#: common/models.py:1251 -msgid "Active Variants Only" -msgstr "" - -#: common/models.py:1252 -msgid "Only use active variant parts for calculating variant pricing" -msgstr "" - -#: common/models.py:1258 -msgid "Pricing Rebuild Time" -msgstr "" - -#: common/models.py:1259 -msgid "Number of days before part pricing is automatically updated" -msgstr "" - -#: common/models.py:1260 common/models.py:1383 +#: common/models.py:995 common/models.py:1013 common/models.py:1020 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" -#: common/models.py:1269 +#: common/models.py:999 +msgid "Automatic Backup" +msgstr "" + +#: common/models.py:1000 +msgid "Enable automatic backup of database and media files" +msgstr "" + +#: common/models.py:1006 +msgid "Auto Backup Interval" +msgstr "" + +#: common/models.py:1007 +msgid "Specify number of days between automated backup events" +msgstr "" + +#: common/models.py:1017 +msgid "Task Deletion Interval" +msgstr "" + +#: common/models.py:1018 +msgid "Background task results will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1028 +msgid "Error Log Deletion Interval" +msgstr "" + +#: common/models.py:1029 +msgid "Error logs will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1039 +msgid "Notification Deletion Interval" +msgstr "" + +#: common/models.py:1040 +msgid "User notifications will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1050 templates/InvenTree/settings/sidebar.html:31 +msgid "Barcode Support" +msgstr "" + +#: common/models.py:1051 +msgid "Enable barcode scanner support" +msgstr "" + +#: common/models.py:1057 +msgid "Barcode Input Delay" +msgstr "" + +#: common/models.py:1058 +msgid "Barcode input processing delay time" +msgstr "" + +#: common/models.py:1068 +msgid "Barcode Webcam Support" +msgstr "" + +#: common/models.py:1069 +msgid "Allow barcode scanning via webcam in browser" +msgstr "" + +#: common/models.py:1075 +msgid "Part Revisions" +msgstr "" + +#: common/models.py:1076 +msgid "Enable revision field for Part" +msgstr "" + +#: common/models.py:1082 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1083 +msgid "Regular expression pattern for matching Part IPN" +msgstr "" + +#: common/models.py:1087 +msgid "Allow Duplicate IPN" +msgstr "" + +#: common/models.py:1088 +msgid "Allow multiple parts to share the same IPN" +msgstr "" + +#: common/models.py:1094 +msgid "Allow Editing IPN" +msgstr "" + +#: common/models.py:1095 +msgid "Allow changing the IPN value while editing a part" +msgstr "" + +#: common/models.py:1101 +msgid "Copy Part BOM Data" +msgstr "" + +#: common/models.py:1102 +msgid "Copy BOM data by default when duplicating a part" +msgstr "" + +#: common/models.py:1108 +msgid "Copy Part Parameter Data" +msgstr "" + +#: common/models.py:1109 +msgid "Copy parameter data by default when duplicating a part" +msgstr "" + +#: common/models.py:1115 +msgid "Copy Part Test Data" +msgstr "" + +#: common/models.py:1116 +msgid "Copy test data by default when duplicating a part" +msgstr "" + +#: common/models.py:1122 +msgid "Copy Category Parameter Templates" +msgstr "" + +#: common/models.py:1123 +msgid "Copy category parameter templates when creating a part" +msgstr "" + +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 +msgid "Template" +msgstr "" + +#: common/models.py:1130 +msgid "Parts are templates by default" +msgstr "" + +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 +msgid "Assembly" +msgstr "" + +#: common/models.py:1137 +msgid "Parts can be assembled from other components by default" +msgstr "" + +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 +msgid "Component" +msgstr "" + +#: common/models.py:1144 +msgid "Parts can be used as sub-components by default" +msgstr "" + +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 +msgid "Purchaseable" +msgstr "" + +#: common/models.py:1151 +msgid "Parts are purchaseable by default" +msgstr "" + +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 +msgid "Salable" +msgstr "" + +#: common/models.py:1158 +msgid "Parts are salable by default" +msgstr "" + +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 +msgid "Trackable" +msgstr "" + +#: common/models.py:1165 +msgid "Parts are trackable by default" +msgstr "" + +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 +#: part/templates/part/part_base.html:156 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 +msgid "Virtual" +msgstr "" + +#: common/models.py:1172 +msgid "Parts are virtual by default" +msgstr "" + +#: common/models.py:1178 +msgid "Show Import in Views" +msgstr "" + +#: common/models.py:1179 +msgid "Display the import wizard in some part views" +msgstr "" + +#: common/models.py:1185 +msgid "Show related parts" +msgstr "" + +#: common/models.py:1186 +msgid "Display related parts for a part" +msgstr "" + +#: common/models.py:1192 +msgid "Initial Stock Data" +msgstr "" + +#: common/models.py:1193 +msgid "Allow creation of initial stock when adding a new part" +msgstr "" + +#: common/models.py:1199 templates/js/translated/part.js:73 +msgid "Initial Supplier Data" +msgstr "" + +#: common/models.py:1200 +msgid "Allow creation of initial supplier data when adding a new part" +msgstr "" + +#: common/models.py:1206 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:1207 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:1214 +msgid "Part Category Default Icon" +msgstr "" + +#: common/models.py:1215 +msgid "Part category default icon (empty means no icon)" +msgstr "" + +#: common/models.py:1220 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1221 +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1231 +msgid "Maximum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 +msgid "Include supplier price breaks in overall pricing calculations" +msgstr "" + +#: common/models.py:1249 +msgid "Purchase History Override" +msgstr "" + +#: common/models.py:1250 +msgid "Historical purchase order pricing overrides supplier price breaks" +msgstr "" + +#: common/models.py:1256 +msgid "Use Stock Item Pricing" +msgstr "" + +#: common/models.py:1257 +msgid "Use pricing from manually entered stock data for pricing calculations" +msgstr "" + +#: common/models.py:1263 +msgid "Stock Item Pricing Age" +msgstr "" + +#: common/models.py:1264 +msgid "Exclude stock items older than this number of days from pricing calculations" +msgstr "" + +#: common/models.py:1274 +msgid "Use Variant Pricing" +msgstr "" + +#: common/models.py:1275 +msgid "Include variant pricing in overall pricing calculations" +msgstr "" + +#: common/models.py:1281 +msgid "Active Variants Only" +msgstr "" + +#: common/models.py:1282 +msgid "Only use active variant parts for calculating variant pricing" +msgstr "" + +#: common/models.py:1288 +msgid "Pricing Rebuild Interval" +msgstr "" + +#: common/models.py:1289 +msgid "Number of days before part pricing is automatically updated" +msgstr "" + +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1270 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1276 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1277 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1284 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1290 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1291 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1300 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1301 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1307 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1308 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1314 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1315 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1325 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1326 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1332 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1333 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1339 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1340 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1346 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1347 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1353 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1360 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1361 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1366 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1367 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1373 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1380 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1381 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1388 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1389 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1395 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1396 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1402 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1403 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1408 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1409 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1415 -msgid "Sales Order Reference Pattern" +#: common/models.py:1445 +msgid "Enable Return Orders" msgstr "" -#: common/models.py:1416 -msgid "Required pattern for generating Sales Order reference field" -msgstr "" - -#: common/models.py:1422 -msgid "Sales Order Default Shipment" -msgstr "" - -#: common/models.py:1423 -msgid "Enable creation of default shipment with sales orders" -msgstr "" - -#: common/models.py:1429 -msgid "Edit Completed Sales Orders" -msgstr "" - -#: common/models.py:1430 -msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "" - -#: common/models.py:1436 -msgid "Purchase Order Reference Pattern" -msgstr "" - -#: common/models.py:1437 -msgid "Required pattern for generating Purchase Order reference field" -msgstr "" - -#: common/models.py:1443 -msgid "Edit Completed Purchase Orders" -msgstr "" - -#: common/models.py:1444 -msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "" - -#: common/models.py:1451 -msgid "Enable password forgot" +#: common/models.py:1446 +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Enable password forgot function on the login pages" +msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1458 -msgid "Enable registration" +#: common/models.py:1453 +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Enable self-registration for users on the login pages" +msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1465 -msgid "Enable SSO" +#: common/models.py:1460 +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Enable SSO on the login pages" +msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1472 -msgid "Enable SSO registration" +#: common/models.py:1467 +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1479 -msgid "Email required" +#: common/models.py:1474 +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1480 -msgid "Require user to supply mail on signup" +msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1486 -msgid "Auto-fill SSO users" +#: common/models.py:1481 +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1487 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1493 -msgid "Mail twice" +#: common/models.py:1488 +msgid "Required pattern for generating Purchase Order reference field" msgstr "" #: common/models.py:1494 -msgid "On signup ask users twice for their mail" +msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1500 -msgid "Password twice" +#: common/models.py:1495 +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1501 -msgid "On signup ask users twice for their password" +#: common/models.py:1502 +msgid "Enable password forgot" msgstr "" -#: common/models.py:1507 -msgid "Allowed domains" +#: common/models.py:1503 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1508 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +#: common/models.py:1509 +msgid "Enable registration" msgstr "" -#: common/models.py:1514 -msgid "Group on signup" +#: common/models.py:1510 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1515 -msgid "Group to which new users are assigned on registration" +#: common/models.py:1516 +msgid "Enable SSO" msgstr "" -#: common/models.py:1521 -msgid "Enforce MFA" +#: common/models.py:1517 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1522 -msgid "Users must use multifactor security." +#: common/models.py:1523 +msgid "Enable SSO registration" msgstr "" -#: common/models.py:1528 -msgid "Check plugins on startup" +#: common/models.py:1524 +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1529 -msgid "Check that all plugins are installed on startup - enable in container environments" +#: common/models.py:1530 +msgid "Email required" msgstr "" -#: common/models.py:1536 -msgid "Check plugin signatures" +#: common/models.py:1531 +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Check and show signatures for plugins" +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:1538 +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Enable URL integration" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Enable plugins to add URL routes" +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:1551 +msgid "Password twice" msgstr "" #: common/models.py:1552 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:1558 +msgid "Allowed domains" +msgstr "" + +#: common/models.py:1559 +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" +msgstr "" + +#: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 +msgid "Check plugin signatures" +msgstr "" + +#: common/models.py:1588 +msgid "Check and show signatures for plugins" +msgstr "" + +#: common/models.py:1595 +msgid "Enable URL integration" +msgstr "" + +#: common/models.py:1596 +msgid "Enable plugins to add URL routes" +msgstr "" + +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1553 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1560 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1561 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1568 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1569 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1576 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1577 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1584 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1585 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1591 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1592 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1601 -msgid "Delete Old Reports" +#: common/models.py:1652 +msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1602 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1619 common/models.py:1984 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1638 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1659 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1667 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1674 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1681 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1687 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1688 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1695 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1702 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1708 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1709 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1716 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1730 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1736 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1737 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1743 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1744 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1750 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1751 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1757 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1758 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1764 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1765 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1771 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1772 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1778 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1779 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1785 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1786 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1792 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1793 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1799 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1800 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1806 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1807 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1813 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1814 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1821 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1835 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1842 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1849 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1855 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1856 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1862 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1863 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1869 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1870 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1876 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1877 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1883 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1884 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1890 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1891 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1897 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1898 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1904 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1905 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1911 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1912 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1918 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1919 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1925 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1926 -msgid "Use the escape key to close modal forms" -msgstr "" - -#: common/models.py:1932 -msgid "Fixed Navbar" -msgstr "" - -#: common/models.py:1933 -msgid "The navbar position is fixed to the top of the screen" -msgstr "" - -#: common/models.py:1939 -msgid "Date Format" -msgstr "" - -#: common/models.py:1940 -msgid "Preferred format for displaying dates" -msgstr "" - -#: common/models.py:1954 part/templates/part/detail.html:41 -msgid "Part Scheduling" -msgstr "" - -#: common/models.py:1955 -msgid "Display part scheduling information" -msgstr "" - -#: common/models.py:1961 part/templates/part/detail.html:62 -msgid "Part Stocktake" -msgstr "" - #: common/models.py:1962 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgid "Search Return Orders" msgstr "" -#: common/models.py:1968 -msgid "Table String Length" +#: common/models.py:1963 +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:1970 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:1976 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1983 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 +msgid "Table String Length" +msgstr "" + +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2024 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2031 company/serializers.py:407 order/models.py:977 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1522 -#: templates/js/translated/pricing.js:605 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1060 +#: order/models.py:1852 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2032 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2192 common/models.py:2370 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2193 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2202 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2207 part/admin.py:50 part/models.py:954 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2208 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2222 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2223 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2230 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2231 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2337 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2338 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2346 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2347 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2354 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2355 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2361 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2362 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2371 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2376 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2377 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2531 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2537 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2547 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2552 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2557 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2562 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2563 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3053,7 +3194,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3061,19 +3202,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3113,7 +3258,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3139,6 +3284,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3147,6 +3293,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:186 msgid "Contact" msgstr "" @@ -3158,11 +3307,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:848 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3196,205 +3345,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:359 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2385 templates/js/translated/part.js:1444 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2189 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1266 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2195 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:921 -#: part/models.py:3267 part/templates/part/part_base.html:286 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1272 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2109 -#: templates/js/translated/part.js:1412 templates/js/translated/pricing.js:482 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2372 -#: templates/js/translated/part.js:1430 templates/js/translated/pricing.js:494 +#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:354 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 +#: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:348 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:278 part/models.py:3531 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 +#: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1850 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1850 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:118 stock/models.py:694 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2070 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 -#: templates/js/translated/order.js:2416 templates/js/translated/order.js:2433 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1514 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1852 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 -#: templates/js/translated/part.js:606 templates/js/translated/part.js:609 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3403,7 +3562,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3416,7 +3575,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3444,14 +3603,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:669 -#: order/templates/order/sales_order_base.html:116 stock/models.py:713 -#: stock/models.py:714 stock/serializers.py:794 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1652 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:116 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:2916 -#: templates/js/translated/stock.js:2679 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:696 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3464,7 +3626,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3473,72 +3635,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:534 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:563 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:618 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3547,49 +3709,79 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3606,12 +3798,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3639,9 +3831,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3655,7 +3847,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:170 #: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:63 +#: templates/InvenTree/settings/part.html:64 msgid "New Parameter" msgstr "" @@ -3663,7 +3855,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3680,15 +3872,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1265 templates/js/translated/stock.js:2010 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3709,8 +3906,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3739,13 +3936,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3758,7 +3955,7 @@ msgid "Delete Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:307 +#: part/templates/part/part_base.html:308 #: stock/templates/stock/item_base.html:161 #: stock/templates/stock/location.html:156 msgid "Barcode Identifier" @@ -3779,7 +3976,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3792,8 +3989,8 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/company.js:373 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3810,14 +4007,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:953 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2538 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3843,7 +4040,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3851,511 +4048,600 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1290 order/models.py:1023 order/models.py:1102 +#: order/api.py:1514 order/models.py:1106 order/models.py:1190 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 -#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1389 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1294 +#: order/api.py:1518 msgid "Unknown" msgstr "" -#: order/models.py:82 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1711 +msgid "Total Price" +msgstr "" + +#: order/models.py:67 +msgid "Total price for this order" +msgstr "" + +#: order/models.py:177 +msgid "Contact does not match selected company" +msgstr "" + +#: order/models.py:199 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1285 +#: order/models.py:201 order/models.py:1378 order/models.py:1856 msgid "Link to external page" msgstr "" -#: order/models.py:92 -msgid "Created By" -msgstr "" - -#: order/models.py:99 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:104 -msgid "Order notes" -msgstr "" - -#: order/models.py:241 order/models.py:656 -msgid "Order reference" -msgstr "" - -#: order/models.py:249 order/models.py:674 -msgid "Purchase order status" -msgstr "" - -#: order/models.py:264 -msgid "Company from which the items are being ordered" -msgstr "" - -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2118 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:267 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:274 -msgid "received by" -msgstr "" - -#: order/models.py:279 -msgid "Issue Date" -msgstr "" - -#: order/models.py:280 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:285 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:286 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1675 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1676 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1682 msgid "Date order was completed" msgstr "" -#: order/models.py:331 +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:490 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:670 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:681 +#: order/models.py:756 order/models.py:1669 msgid "Customer Reference " msgstr "" -#: order/models.py:681 +#: order/models.py:756 order/models.py:1670 msgid "Customer order reference code" msgstr "" -#: order/models.py:686 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:689 order/models.py:1243 -#: templates/js/translated/order.js:2963 templates/js/translated/order.js:3126 +#: order/models.py:758 order/models.py:1336 +#: templates/js/translated/sales_order.js:743 +#: templates/js/translated/sales_order.js:906 msgid "Shipment Date" msgstr "" -#: order/models.py:696 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:751 +#: order/models.py:809 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:755 +#: order/models.py:813 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:758 templates/js/translated/order.js:424 +#: order/models.py:816 templates/js/translated/sales_order.js:437 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:761 +#: order/models.py:819 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:938 +#: order/models.py:1014 msgid "Item quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:1027 msgid "Line item reference" msgstr "" -#: order/models.py:946 +#: order/models.py:1029 msgid "Line item notes" msgstr "" -#: order/models.py:951 +#: order/models.py:1034 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:968 +#: order/models.py:1051 msgid "Context" msgstr "" -#: order/models.py:969 +#: order/models.py:1052 msgid "Additional context for this line" msgstr "" -#: order/models.py:978 +#: order/models.py:1061 msgid "Unit price" msgstr "" -#: order/models.py:1008 +#: order/models.py:1091 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:1099 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1102 order/models.py:1143 -#: order/models.py:1237 order/models.py:1369 -#: templates/js/translated/order.js:3582 +#: order/models.py:1105 order/models.py:1190 order/models.py:1231 +#: order/models.py:1330 order/models.py:1465 order/models.py:1821 +#: order/models.py:1870 templates/js/translated/sales_order.js:1357 msgid "Order" msgstr "" -#: order/models.py:1041 +#: order/models.py:1124 msgid "Supplier part" msgstr "" -#: order/models.py:1048 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2501 -#: templates/js/translated/part.js:1506 templates/js/translated/part.js:1538 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1131 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1049 +#: order/models.py:1132 msgid "Number of items received" msgstr "" -#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 +#: order/models.py:1139 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1057 +#: order/models.py:1140 msgid "Unit purchase price" msgstr "" -#: order/models.py:1065 +#: order/models.py:1153 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1131 +#: order/models.py:1219 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1136 +#: order/models.py:1224 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1162 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: order/models.py:1250 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1251 msgid "Unit sale price" msgstr "" -#: order/models.py:1168 +#: order/models.py:1261 msgid "Shipped quantity" msgstr "" -#: order/models.py:1244 +#: order/models.py:1337 msgid "Date of shipment" msgstr "" -#: order/models.py:1251 +#: order/models.py:1344 msgid "Checked By" msgstr "" -#: order/models.py:1252 +#: order/models.py:1345 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 -#: order/serializers.py:1325 templates/js/translated/model_renderers.js:338 +#: order/models.py:1352 order/models.py:1541 order/serializers.py:1202 +#: order/serializers.py:1330 templates/js/translated/model_renderers.js:403 msgid "Shipment" msgstr "" -#: order/models.py:1260 +#: order/models.py:1353 msgid "Shipment number" msgstr "" -#: order/models.py:1264 +#: order/models.py:1357 msgid "Shipment notes" msgstr "" -#: order/models.py:1270 +#: order/models.py:1363 msgid "Tracking Number" msgstr "" -#: order/models.py:1271 +#: order/models.py:1364 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1278 +#: order/models.py:1371 msgid "Invoice Number" msgstr "" -#: order/models.py:1279 +#: order/models.py:1372 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1297 +#: order/models.py:1390 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1300 +#: order/models.py:1393 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1403 order/models.py:1405 +#: order/models.py:1500 order/models.py:1502 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1409 +#: order/models.py:1506 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1411 +#: order/models.py:1508 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1414 +#: order/models.py:1511 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1424 order/serializers.py:1059 +#: order/models.py:1521 order/serializers.py:1064 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1427 +#: order/models.py:1524 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1525 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1436 +#: order/models.py:1533 msgid "Line" msgstr "" -#: order/models.py:1445 +#: order/models.py:1542 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1458 +#: order/models.py:1555 order/models.py:1829 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1459 +#: order/models.py:1556 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1462 +#: order/models.py:1559 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:190 +#: order/models.py:1639 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1653 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1664 +msgid "Return order status" +msgstr "" + +#: order/models.py:1814 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1822 order/models.py:1870 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1830 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1835 +msgid "Received Date" +msgstr "" + +#: order/models.py:1836 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1847 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1847 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1853 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:205 order/serializers.py:1077 +#: order/serializers.py:238 order/serializers.py:1082 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:216 order/serializers.py:1088 +#: order/serializers.py:249 order/serializers.py:1093 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:364 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:369 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:375 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:376 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1165 +#: order/serializers.py:447 order/serializers.py:1170 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:549 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1541 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1627 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1638 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:485 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:565 +#: order/serializers.py:598 order/serializers.py:1556 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:582 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:593 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:902 +#: order/serializers.py:907 msgid "Sale price currency" msgstr "" -#: order/serializers.py:957 +#: order/serializers.py:962 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1020 order/serializers.py:1174 +#: order/serializers.py:1025 order/serializers.py:1179 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1042 +#: order/serializers.py:1047 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1192 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1209 order/serializers.py:1333 +#: order/serializers.py:1214 order/serializers.py:1338 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1217 order/serializers.py:1341 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1271 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1276 +#: order/serializers.py:1281 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1507 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1514 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1517 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1549 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1629 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4379,21 +4665,25 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 +#: order/templates/order/return_order_base.html:61 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "" @@ -4404,6 +4694,8 @@ msgstr "" #: order/templates/order/order_base.html:61 #: order/templates/order/order_base.html:62 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 msgid "Submit Order" msgstr "" @@ -4412,61 +4704,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 #: order/templates/order/sales_order_base.html:68 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 #: order/templates/order/sales_order_base.html:80 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 #: order/templates/order/sales_order_base.html:85 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 #: order/templates/order/sales_order_base.html:90 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 +#: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:129 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:144 #: order/templates/order/sales_order_base.html:135 #: order/templates/order/sales_order_base.html:145 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:204 msgid "Total cost could not be calculated" msgstr "" @@ -4519,11 +4816,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 -#: templates/js/translated/order.js:3201 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:979 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4565,9 +4864,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report.html:84 -#: report/templates/report/inventree_so_report.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4580,59 +4881,92 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:175 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 +msgid "Delete Line Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:239 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:123 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:709 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:200 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:755 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" -msgstr "" - #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 +#: templates/js/translated/sales_order.js:361 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: templates/js/translated/sales_order.js:415 msgid "Complete Sales Order" msgstr "" @@ -4640,11 +4974,6 @@ msgstr "" msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2929 -msgid "Customer Reference" -msgstr "" - #: order/templates/order/sales_order_base.html:141 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 @@ -4661,8 +4990,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4670,34 +4999,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:272 part/models.py:3401 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 +#: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:274 part/models.py:3405 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4706,24 +5035,24 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1868 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1145 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:808 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4739,21 +5068,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:618 templates/js/translated/part.js:1758 -#: templates/js/translated/part.js:1934 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4761,31 +5089,30 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4046 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1790 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:1762 -#: templates/js/translated/part.js:1941 +#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2844 templates/js/translated/part.js:858 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2850 templates/js/translated/part.js:868 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 +#: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 +#: part/admin.py:196 part/admin.py:272 stock/admin.py:43 msgid "Parent Name" msgstr "" @@ -4800,67 +5127,67 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2450 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:264 +#: part/admin.py:265 msgid "BOM Level" msgstr "" -#: part/admin.py:266 +#: part/admin.py:267 msgid "BOM Item ID" msgstr "" -#: part/admin.py:270 +#: part/admin.py:271 msgid "Parent IPN" msgstr "" -#: part/admin.py:273 part/models.py:3409 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" -#: part/admin.py:279 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:515 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:535 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:553 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:639 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:797 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:798 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:804 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:121 part/models.py:857 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 +#: part/bom.py:175 part/models.py:121 part/models.py:914 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4869,7 +5196,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4013 +#: templates/js/translated/sales_order.js:1757 msgid "Available Stock" msgstr "" @@ -4877,13 +5204,13 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:71 part/models.py:3350 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4892,9 +5219,9 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2544 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" @@ -4931,822 +5258,836 @@ msgstr "" msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:610 +#: part/models.py:592 +#, python-brace-format +msgid "IPN must match regex pattern {pat}" +msgstr "" + +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:741 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:746 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:760 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:778 part/models.py:3406 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:785 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:786 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:796 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:797 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:803 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:809 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:816 part/models.py:3112 part/models.py:3349 -#: part/serializers.py:832 part/templates/part/part_base.html:263 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 +#: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1890 templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:817 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:823 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:829 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:855 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:900 part/templates/part/part_base.html:384 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:901 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:908 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:909 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:915 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:922 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:928 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:934 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:940 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:945 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:950 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:955 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:960 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:962 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:964 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:964 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:967 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:969 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:973 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:975 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:979 part/templates/part/part_base.html:347 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:2005 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1852 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2767 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2784 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2785 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2790 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2791 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2796 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2797 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2802 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2803 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2808 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2809 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2814 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2815 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2820 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2821 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2826 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2827 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2832 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2833 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2838 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2839 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2845 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2851 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2856 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2857 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2862 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2863 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2868 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2869 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2874 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2894 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2899 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2900 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2907 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2911 part/models.py:2994 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2135 templates/js/translated/part.js:978 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2588 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2912 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2920 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2928 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2933 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2934 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2939 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2940 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3001 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3002 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3007 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3008 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3016 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3152 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3169 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3189 templates/js/translated/part.js:2523 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3190 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3195 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3196 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3201 templates/js/translated/part.js:2532 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3202 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3207 templates/js/translated/part.js:2540 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3208 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3213 templates/js/translated/part.js:2547 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3214 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3255 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3263 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3267 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3272 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3305 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3307 part/models.py:3355 part/models.py:3356 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3309 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3309 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3360 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3361 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3398 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3402 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3410 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3413 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3414 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3494 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3502 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3503 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3509 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3513 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3514 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3519 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3520 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3524 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3525 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3528 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3531 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3533 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3533 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3537 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 +msgid "Validated" +msgstr "" + +#: part/models.py:3615 +msgid "This BOM item has been validated" +msgstr "" + +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3538 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3543 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3544 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3630 stock/models.py:570 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3639 part/models.py:3641 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3757 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3778 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3799 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3814 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3818 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3818 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3836 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3840 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:301 +#: part/serializers.py:307 msgid "Original Part" msgstr "" -#: part/serializers.py:301 +#: part/serializers.py:307 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:306 +#: part/serializers.py:312 msgid "Copy Image" msgstr "" -#: part/serializers.py:306 +#: part/serializers.py:312 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:311 part/templates/part/detail.html:296 +#: part/serializers.py:317 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:311 +#: part/serializers.py:317 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:316 +#: part/serializers.py:322 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:316 +#: part/serializers.py:322 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:326 +#: part/serializers.py:332 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:326 +#: part/serializers.py:332 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:332 +#: part/serializers.py:338 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:332 +#: part/serializers.py:338 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:342 +#: part/serializers.py:348 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:353 +#: part/serializers.py:359 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:365 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:366 +#: part/serializers.py:372 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:374 +#: part/serializers.py:380 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:392 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:400 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:604 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:386 +#: part/serializers.py:621 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:621 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:609 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" -#: part/serializers.py:609 +#: part/serializers.py:626 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:614 +#: part/serializers.py:631 msgid "Supplier Information" msgstr "" -#: part/serializers.py:614 +#: part/serializers.py:631 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:637 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:621 +#: part/serializers.py:638 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:843 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:849 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:855 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:860 msgid "Generate Report" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:861 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:866 msgid "Update Parts" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:867 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:858 +#: part/serializers.py:875 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:964 msgid "Update" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:965 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1247 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1240 +#: part/serializers.py:1255 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1256 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1261 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1262 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1252 +#: part/serializers.py:1267 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1268 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1258 +#: part/serializers.py:1273 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1274 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1299 +#: part/serializers.py:1314 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1300 +#: part/serializers.py:1315 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1345 msgid "No part column specified" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1388 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1391 msgid "No matching part found" msgstr "" -#: part/serializers.py:1379 +#: part/serializers.py:1394 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1403 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1411 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1417 +#: part/serializers.py:1432 msgid "At least one BOM item is required" msgstr "" @@ -5759,9 +6100,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2416 -#: templates/js/translated/part.js:959 templates/js/translated/part.js:1462 -#: templates/js/translated/part.js:1514 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5844,7 +6185,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5874,23 +6215,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5927,7 +6264,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5936,9 +6273,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6036,15 +6373,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6079,13 +6416,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1087 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6175,15 +6512,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 -#: templates/js/translated/part.js:707 templates/js/translated/part.js:1132 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:686 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6202,56 +6539,56 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:293 +#: part/templates/part/part_base.html:294 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1175 templates/js/translated/part.js:1979 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:360 +#: part/templates/part/part_base.html:361 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:364 +#: part/templates/part/part_base.html:365 #: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:452 +#: part/templates/part/part_base.html:453 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:469 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:515 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:584 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6262,14 +6599,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: 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:965 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6312,9 +6641,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1154 templates/js/translated/part.js:1755 -#: templates/js/translated/part.js:1909 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6343,11 +6672,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:123 +#: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6410,8 +6739,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:613 -#: templates/js/translated/part.js:1750 templates/js/translated/part.js:1752 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6465,11 +6794,11 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:213 +#: part/templatetags/inventree_extras.py:187 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:265 +#: part/templatetags/inventree_extras.py:239 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -6724,100 +7053,104 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:180 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:216 report/api.py:252 +#: report/api.py:208 report/api.py:244 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:355 +#: report/api.py:311 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6829,63 +7162,98 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1701 +msgid "Unit Price" +msgstr "" + +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 +msgid "Extra Line Items" +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:1855 +#: templates/js/translated/sales_order.js:1676 +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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:250 +#: templates/js/translated/sales_order.js:1470 +#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:718 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3701 -#: templates/js/translated/order.js:3788 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2177 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2183 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2183 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2189 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2837 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" -#: stock/admin.py:39 stock/admin.py:107 -#: templates/js/translated/model_renderers.js:172 +#: stock/admin.py:39 stock/admin.py:108 msgid "Location ID" msgstr "" -#: stock/admin.py:40 stock/admin.py:108 +#: stock/admin.py:40 stock/admin.py:109 msgid "Location Name" msgstr "" @@ -6898,79 +7266,91 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:109 templates/js/translated/model_renderers.js:442 -msgid "Supplier Part ID" +#: stock/admin.py:107 +msgid "Status Code" msgstr "" #: stock/admin.py:110 -msgid "Supplier ID" +msgid "Supplier Part ID" msgstr "" #: stock/admin.py:111 -msgid "Supplier Name" +msgid "Supplier ID" msgstr "" #: stock/admin.py:112 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:113 msgid "Customer ID" msgstr "" -#: stock/admin.py:113 stock/models.py:701 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:114 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" -#: stock/admin.py:116 +#: stock/admin.py:117 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:117 +#: stock/admin.py:118 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:125 stock/models.py:774 +#: stock/admin.py:125 +msgid "Review Needed" +msgstr "" + +#: stock/admin.py:126 +msgid "Delete on Deplete" +msgstr "" + +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:426 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:587 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:594 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:619 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:685 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:815 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:816 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -6978,8 +7358,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2553 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -6991,218 +7371,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:576 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:593 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:603 stock/models.py:612 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:604 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:626 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:632 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:646 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:660 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:670 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:678 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:695 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:704 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:720 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:734 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:739 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:746 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:748 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:759 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:762 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:768 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:775 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:790 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:790 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:803 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:811 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:839 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1335 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1341 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1341 +#: stock/models.py:1347 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1344 +#: stock/models.py:1350 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1353 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1360 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1430 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1433 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1430 +#: stock/models.py:1436 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1439 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1442 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1439 +#: stock/models.py:1445 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1446 stock/serializers.py:944 +#: stock/models.py:1452 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1450 +#: stock/models.py:1456 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1454 +#: stock/models.py:1460 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1464 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1627 +#: stock/models.py:1633 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2095 +#: stock/models.py:2101 msgid "Entry notes" msgstr "" -#: stock/models.py:2153 +#: stock/models.py:2159 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2159 +#: stock/models.py:2165 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2184 msgid "Test name" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2190 msgid "Test result" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2196 msgid "Test output value" msgstr "" -#: stock/models.py:2197 +#: stock/models.py:2203 msgid "Test result attachment" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2209 msgid "Test notes" msgstr "" @@ -7210,128 +7590,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:229 +#: stock/serializers.py:231 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:282 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:294 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:300 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 +#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:318 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:328 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:347 +#: stock/serializers.py:349 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:387 +#: stock/serializers.py:389 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:400 +#: stock/serializers.py:402 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:407 +#: stock/serializers.py:409 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:444 +#: stock/serializers.py:446 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:451 stock/serializers.py:532 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:483 +#: stock/serializers.py:485 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:494 +#: stock/serializers.py:496 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:525 +#: stock/serializers.py:527 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:756 +#: stock/serializers.py:758 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:762 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:766 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:797 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:801 +#: stock/serializers.py:803 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:809 +#: stock/serializers.py:811 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:819 stock/serializers.py:1050 +#: stock/serializers.py:821 stock/serializers.py:1052 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:908 +#: stock/serializers.py:910 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:913 +#: stock/serializers.py:915 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:916 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:921 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:920 +#: stock/serializers.py:922 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:932 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1012 +#: stock/serializers.py:1014 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1042 msgid "Stock transaction notes" msgstr "" @@ -7356,7 +7736,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:302 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7368,15 +7748,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2986 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:290 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7398,15 +7778,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7415,11 +7795,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7521,7 +7901,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7535,7 +7915,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7545,7 +7925,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7553,35 +7933,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7655,15 +8035,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7699,7 +8079,8 @@ msgstr "" msgid "You have been logged out from InvenTree." msgstr "" -#: templates/403_csrf.html:19 templates/navbar.html:142 +#: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7808,6 +8189,12 @@ msgstr "" msgid "Notification History" msgstr "" +#: templates/InvenTree/notifications/history.html:13 +#: templates/InvenTree/notifications/history.html:14 +#: templates/InvenTree/notifications/notifications.html:77 +msgid "Delete Notifications" +msgstr "" + #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" msgstr "" @@ -7836,7 +8223,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7875,7 +8262,6 @@ msgid "Label Settings" msgstr "" #: templates/InvenTree/settings/login.html:9 -#: templates/InvenTree/settings/sidebar.html:29 msgid "Login Settings" msgstr "" @@ -7893,7 +8279,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -7911,7 +8297,8 @@ msgid "Open in new tab" msgstr "" #: templates/InvenTree/settings/notifications.html:9 -msgid "Global Notification Settings" +#: templates/InvenTree/settings/user_notifications.html:9 +msgid "Notification Settings" msgstr "" #: templates/InvenTree/settings/notifications.html:18 @@ -7922,15 +8309,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:41 +#: templates/InvenTree/settings/part.html:42 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:45 +#: templates/InvenTree/settings/part.html:46 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:60 msgid "Part Parameter Templates" msgstr "" @@ -7943,7 +8330,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -7952,7 +8339,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8074,20 +8461,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8096,6 +8483,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8160,15 +8551,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8178,13 +8569,11 @@ msgid "User Settings" msgstr "" #: templates/InvenTree/settings/sidebar.html:9 -#: templates/InvenTree/settings/user.html:12 -msgid "Account Settings" +msgid "Account" msgstr "" #: templates/InvenTree/settings/sidebar.html:11 -#: templates/InvenTree/settings/user_display.html:9 -msgid "Display Settings" +msgid "Display" msgstr "" #: templates/InvenTree/settings/sidebar.html:13 @@ -8192,8 +8581,10 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/InvenTree/settings/user_search.html:9 -msgid "Search Settings" +#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/search.html:8 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" msgstr "" #: templates/InvenTree/settings/sidebar.html:19 @@ -8205,12 +8596,12 @@ msgstr "" msgid "Global Settings" msgstr "" -#: templates/InvenTree/settings/sidebar.html:27 -msgid "Server Configuration" +#: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 +msgid "Server" msgstr "" #: templates/InvenTree/settings/sidebar.html:37 -msgid "Label Printing" +msgid "Labels" msgstr "" #: templates/InvenTree/settings/sidebar.html:41 @@ -8225,6 +8616,10 @@ msgstr "" msgid "Stock Settings" msgstr "" +#: templates/InvenTree/settings/user.html:12 +msgid "Account Settings" +msgstr "" + #: templates/InvenTree/settings/user.html:18 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 @@ -8232,7 +8627,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8383,6 +8778,10 @@ msgstr "" msgid "Do you really want to remove the selected email address?" msgstr "" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" msgstr "" @@ -8448,8 +8847,8 @@ msgstr "" msgid "Home Page Settings" msgstr "" -#: templates/InvenTree/settings/user_notifications.html:9 -msgid "Notification Settings" +#: templates/InvenTree/settings/user_search.html:9 +msgid "Search Settings" msgstr "" #: templates/about.html:9 @@ -8518,7 +8917,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "" @@ -8686,11 +9085,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8698,19 +9097,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8720,6 +9119,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8741,7 +9141,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8755,75 +9155,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2846 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8839,126 +9239,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -8977,7 +9377,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1309 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9082,74 +9482,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4027 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1771 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:1947 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9157,15 +9557,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9209,13 +9609,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9251,504 +9651,539 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3736 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1505 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3737 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1506 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4034 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1778 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4032 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1776 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4126 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1870 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4119 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1863 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3263 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1042 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3264 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1043 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3212 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:991 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3278 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1057 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3375 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1154 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3452 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1231 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1843 -#: templates/js/translated/part.js:2388 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2767 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:937 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:691 -#: templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:1128 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1247 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1289 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1290 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1307 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1319 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1367 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/company.js:1377 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9808,28 +10243,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:405 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -9858,742 +10271,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1083 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1134 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1159 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1168 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1186 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1219 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1363 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1382 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1559 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1601 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1612 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2238 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1769 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1772 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1795 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1360 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2906 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2971 -#: templates/js/translated/order.js:3113 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2261 templates/js/translated/order.js:4178 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2278 templates/js/translated/order.js:4193 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2291 templates/js/translated/order.js:4204 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2334 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2361 templates/js/translated/order.js:3932 -msgid "Total" -msgstr "" - -#: templates/js/translated/order.js:2447 templates/js/translated/order.js:2632 -#: templates/js/translated/order.js:3957 templates/js/translated/order.js:4440 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 -msgid "Unit Price" -msgstr "" - -#: templates/js/translated/order.js:2457 templates/js/translated/order.js:2642 -#: templates/js/translated/order.js:3967 templates/js/translated/order.js:4450 -msgid "Total Price" -msgstr "" - -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:3995 -#: templates/js/translated/part.js:1498 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2544 templates/js/translated/part.js:1543 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:4132 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2549 templates/js/translated/order.js:4133 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2550 templates/js/translated/order.js:4137 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2677 templates/js/translated/order.js:4484 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2678 templates/js/translated/order.js:4485 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2679 templates/js/translated/order.js:4486 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2709 templates/js/translated/order.js:4515 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2724 templates/js/translated/order.js:4530 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2735 templates/js/translated/order.js:4541 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2746 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2857 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2920 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3018 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3021 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3026 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3046 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3063 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3098 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3108 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3132 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3138 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3142 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3311 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3362 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3363 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3571 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3650 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3667 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3668 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3802 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3721 templates/js/translated/order.js:3811 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4116 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4122 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4129 templates/js/translated/order.js:4320 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4141 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4144 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4219 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4328 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4342 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4552 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:285 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:298 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:303 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:316 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:321 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:345 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:376 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:378 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:446 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:447 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:465 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:534 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:544 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:572 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:600 templates/js/translated/part.js:1929 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:668 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:683 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:687 templates/js/translated/part.js:1120 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:703 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:778 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:778 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:786 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:790 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:943 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1001 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1005 templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1192 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1613 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1739 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1637 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1704 templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1896 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1927 -msgid "No stock" -msgstr "" - -#: templates/js/translated/part.js:1951 -msgid "Allocated to build orders" -msgstr "" - -#: templates/js/translated/part.js:1955 -msgid "Allocated to sales orders" -msgstr "" - -#: templates/js/translated/part.js:2064 templates/js/translated/part.js:2307 -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2080 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2151 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2156 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2169 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2327 templates/js/translated/stock.js:2461 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2423 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2509 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2560 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2561 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2567 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2583 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2597 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2678 templates/js/translated/part.js:2679 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2681 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2687 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2737 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2743 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2839 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2855 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2900 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10601,843 +10636,1247 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:431 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:445 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:686 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:751 +#: templates/js/translated/sales_order.js:893 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1920 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1933 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1944 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1876 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1877 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1881 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:52 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:700 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2080 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:102 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:117 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:226 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:231 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:271 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:291 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:347 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:351 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:383 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:444 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:468 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:473 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:527 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:637 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:805 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:808 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:813 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:830 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:845 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:878 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:888 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:912 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:918 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:922 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1090 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1141 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1142 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1346 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1425 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1439 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1440 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1482 +#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1578 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1860 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1866 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:2058 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1885 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1888 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1959 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2066 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:320 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:370 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:370 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2052 +msgid "Stock Value" +msgstr "" + +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2253 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2267 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2268 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2500 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2629 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2707 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2738 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2814 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2865 templates/js/translated/stock.js:2901 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2941 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2943 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2944 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2945 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:72 -msgid "Validated" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:538 templates/navbar.html:102 -#: templates/search.html:8 templates/search_form.html:6 -#: templates/search_form.html:7 -msgid "Search" -msgstr "" - -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11449,19 +11888,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11473,10 +11912,6 @@ msgstr "" msgid "Show all notifications and history" msgstr "" -#: templates/price_data.html:7 -msgid "No data" -msgstr "" - #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -11497,18 +11932,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" @@ -11556,10 +11983,6 @@ msgid "" "%(site_name)s.
    As a final step, please complete the following form:" msgstr "" -#: templates/stats.html:9 -msgid "Server" -msgstr "" - #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -11624,55 +12047,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11692,50 +12111,50 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 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 bd2acb93b6..0e835734dd 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "\"API Endpoint\" no encontrado" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Seleccionar una fecha" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Notas" @@ -134,7 +137,7 @@ msgstr "El servidor remoto devolvió una respuesta vacía" msgid "Supplied URL is not a valid image file" msgstr "La URL proporcionada no es un archivo de imagen válido" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -206,8 +209,8 @@ msgstr "Archivo no encontrado" msgid "Missing external link" msgstr "Falta enlace externo" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Archivo adjunto" @@ -216,24 +219,24 @@ msgstr "Archivo adjunto" msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Enlace" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Enlace a URL externa" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Comentario" @@ -242,13 +245,13 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Usuario" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Descripción" @@ -343,7 +350,7 @@ msgid "parent" msgstr "superior" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Ruta" @@ -355,7 +362,7 @@ msgstr "Hash del Código de barras" msgid "Third party barcode data" msgstr "Datos del código de barras de terceros" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Hash del Código de barras" @@ -375,12 +382,12 @@ msgstr "Error del servidor" msgid "An error has been logged by the server." msgstr "Un error ha sido registrado por el servidor." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Debe ser un numero valido" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Moneda" @@ -568,157 +575,191 @@ msgstr "No se ha configurado un servidor de correo electrónico" msgid "InvenTree system health checks failed" msgstr "Las comprobaciones de estado del sistema InvenTree fallaron" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Pendiente" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Colocado" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Completado" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Cancelado" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Perdido" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Devuelto" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Enviado" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Atención requerida" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Dañado" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Destruido" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Rechazado" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "En Cuarentena" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Entrada antigua de rastreo de stock" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Artículo de stock creado" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Artículo de stock editado" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Número de serie asignado" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Stock contado" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Stock añadido manualmente" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Stock eliminado manualmente" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Ubicación cambiada" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Instalado en el ensamblado" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Eliminado del ensamblado" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Artículo del componente instalado" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Artículo de componente eliminado" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Separar del elemento principal" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Separar elemento secundario" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Artículos de stock combinados" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Convertido a variante" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Enviado al cliente" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Devuelto por el cliente" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Orden de ensamblado creada" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Orden de ensamblado completada" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Consumido por orden de ensamblado" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Recibido contra la orden de compra" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Producción" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "No es un código de moneda válido" @@ -751,28 +792,28 @@ msgstr "Los campos de contraseña deben coincidir" msgid "Wrong password provided" msgstr "Contraseña incorrecta proporcionada" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Información del sistema" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Acerca de InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "La construcción debe cancelarse antes de que pueda ser eliminada" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Petición de Ensamblado" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Petición de Ensamblado" msgid "Build Orders" msgstr "Peticiones de Ensamblado" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Opción no válida para la construcción padre" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Referencia de Orden de Ensamblado" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Referencia" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Breve descripción del ensamblado" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Construcción o Armado Superior" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Construcción de orden a la que se asigna esta versión" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Construcción de orden a la que se asigna esta versión" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Pieza" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Seleccionar parte a construir o armar" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Referencia de Pedido de Entrega" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Pedido de Entrega a la que este ensamblaje se asigna" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Ubicación de la fuente" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleccione la ubicación de donde tomar stock para esta construcción o armado (deje en blanco para tomar desde cualquier ubicación)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Ubicación de destino" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Seleccione la ubicación donde se almacenarán los artículos completados" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Cantidad a crear" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Número de artículos de stock a ensamblar" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Artículos completados" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Número de productos en stock que se han completado" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Estado de la construcción" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Fecha de Creación" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Fecha límite de finalización" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización del ensamblado. El ensamblado estará vencido después de esta fecha." -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Fecha de Finalización" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "terminado por" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Emitido por" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Responsable" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "Usuario o grupo responsable de esta orden de fabricación" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Enlaces Externo" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Notas adicionales de fabricación" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Artículo de stock de destino" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Números de serie" @@ -1172,7 +1238,7 @@ msgstr "Autoasignar Números de Serie" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Ubicación" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Estado" @@ -1266,7 +1338,7 @@ msgstr "Aceptar que los artículos de stock no se han asignado completamente a e msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "Acepta incompleto" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Acciones de impresión" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Fecha Límite" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "Vencido" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Completado" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Pedido de Entrega" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Creado" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Pedir Piezas" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "Archivos adjuntos" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ 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:1445 +msgid "Enable Return Orders" +msgstr "" + +#: common/models.py:1446 +msgid "Enable return order functionality in the user interface" +msgstr "" + +#: common/models.py:1452 +msgid "Return Order Reference Pattern" +msgstr "" + +#: common/models.py:1453 +msgid "Required pattern for generating Return Order reference field" +msgstr "" + +#: common/models.py:1459 +msgid "Edit Completed Return Orders" +msgstr "" + +#: common/models.py:1460 +msgid "Allow editing of return orders after they have been completed" +msgstr "" + +#: common/models.py:1466 msgid "Sales Order Reference Pattern" msgstr "Patrón para la Referencia de los Pedidos de Entrega" -#: common/models.py:1446 +#: common/models.py:1467 msgid "Required pattern for generating Sales Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Petición de Entrega" -#: common/models.py:1452 +#: common/models.py:1473 msgid "Sales Order Default Shipment" msgstr "Envío Predeterminado de las Peticiones de Entrega" -#: common/models.py:1453 +#: common/models.py:1474 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar la creación de envío predeterminado con pedidos de entrega" -#: common/models.py:1459 +#: common/models.py:1480 msgid "Edit Completed Sales Orders" msgstr "Editar Pedidos Completados" -#: common/models.py:1460 +#: common/models.py:1481 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir la edición de pedidos después de que hayan sido enviados o completados" -#: common/models.py:1466 +#: common/models.py:1487 msgid "Purchase Order Reference Pattern" msgstr "Patrón para Referencias de Orden de Compra" -#: common/models.py:1467 +#: common/models.py:1488 msgid "Required pattern for generating Purchase Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra" -#: common/models.py:1473 +#: common/models.py:1494 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1474 +#: common/models.py:1495 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1481 +#: common/models.py:1502 msgid "Enable password forgot" msgstr "Habilitar recuperación de contraseña" -#: common/models.py:1482 +#: common/models.py:1503 msgid "Enable password forgot function on the login pages" msgstr "Permitir a los usuarios recuperar su contraseña al iniciar sesión" -#: common/models.py:1488 +#: common/models.py:1509 msgid "Enable registration" msgstr "Habilitar registro" -#: common/models.py:1489 +#: common/models.py:1510 msgid "Enable self-registration for users on the login pages" msgstr "Permitir a usuarios registrarse por su cuenta" -#: common/models.py:1495 +#: common/models.py:1516 msgid "Enable SSO" msgstr "" -#: common/models.py:1496 +#: common/models.py:1517 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1502 +#: common/models.py:1523 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1503 +#: common/models.py:1524 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1509 +#: common/models.py:1530 msgid "Email required" msgstr "Requerir email" -#: common/models.py:1510 +#: common/models.py:1531 msgid "Require user to supply mail on signup" msgstr "Requerir al usuario una dirección de correo electrónico al registrarse" -#: common/models.py:1516 +#: common/models.py:1537 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1517 +#: common/models.py:1538 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1523 +#: common/models.py:1544 msgid "Mail twice" msgstr "" -#: common/models.py:1524 +#: common/models.py:1545 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1530 +#: common/models.py:1551 msgid "Password twice" msgstr "" -#: common/models.py:1531 +#: common/models.py:1552 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1537 +#: common/models.py:1558 msgid "Allowed domains" msgstr "" -#: common/models.py:1538 +#: common/models.py:1559 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1544 +#: common/models.py:1565 msgid "Group on signup" msgstr "" -#: common/models.py:1545 +#: common/models.py:1566 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1551 +#: common/models.py:1572 msgid "Enforce MFA" msgstr "Requerir AFM" -#: common/models.py:1552 +#: common/models.py:1573 msgid "Users must use multifactor security." msgstr "Requerir a los usuarios el uso de Autenticación de Factor Múltiple" -#: common/models.py:1558 +#: common/models.py:1579 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1559 +#: common/models.py:1580 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1566 +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "Mostrar Lista de Materiales (BOMs) no validados" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "Mostrar noticias" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 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:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 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:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "Buscar Pedidos de Entrega" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "Mostrar pedidos de entrega en la ventana de vista previa de búsqueda" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "Excluir Pedidos Inactivos" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "Excluir pedidos inactivos de la ventana de vista previa de búsqueda" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" -msgstr "Formato de Fecha" +msgid "Exclude Inactive Return Orders" +msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" -msgstr "Planificación de piezas" - -#: common/models.py:1985 -msgid "Display part scheduling information" -msgstr "Mostrar información de programación de piezas" - -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1983 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "Formato de Fecha" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "Planificación de piezas" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "Mostrar información de programación de piezas" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "Precio" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "Artículos Recibidos" @@ -3087,19 +3201,23 @@ msgstr "Artículos Recibidos" msgid "Items have been received against a purchase order" msgstr "Los artículos han sido recibidos contra una orden de compra" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Subir Archivo" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "Descripción de la empresa" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "Sitio Web" @@ -3165,6 +3283,7 @@ msgstr "Teléfono de contacto" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "Correo electrónico" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "Correo electrónico de contacto" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "Contacto" @@ -3184,11 +3306,11 @@ msgstr "Punto de contacto" msgid "Link to external company information" msgstr "Enlace a información externa de la empresa" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Imagen" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "Notas de la Empresa" @@ -3222,209 +3344,215 @@ msgstr "Moneda predeterminada utilizada para esta empresa" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "Empresa" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Pieza Base" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "Seleccionar pieza" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "'Part Number' del Fabricante" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "'Part Number' del fabricante" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "URL para el enlace de parte del fabricante externo" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "Descripción de la pieza del fabricante" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "Pieza del Fabricante" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "Nombre del parámetro" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "Valor" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "Valor del parámetro" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "Unidades" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "Unidades de parámetro" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma pieza base" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Proveedor" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "Descripción de la pieza del proveedor" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "Nota" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "Empaquetado" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "Empaquetado de pieza" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "Moneda predeterminada utilizada para este proveedor" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "Crear Orden de Compra" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "Editar información de la empresa" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "Modificar Empresa" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Cliente" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "Eliminar imagen asociada a esta empresa" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "Subir Imagen" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Piezas del Proveedor" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Nueva Pieza del Proveedor" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "Pedir piezas" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nueva Pieza del Fabricante" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "Ordenes de Compra" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Crear nueva orden de compra" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Nueva Orden de Compra" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Pedidos de Entrega" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Crear un nuevo pedido de entrega" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Nuevo Pedido de Entrega" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "Stock Asignado" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "Pedir pieza" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "Editar pieza del fabricante" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "Eliminar pieza del fabricante" @@ -3669,9 +3830,9 @@ msgstr "Eliminar piezas del proveedor" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "Nuevo Parámetro" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "Artículos de Stock Suministrados" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "Artículos de Stock Asignados" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Pieza del Proveedor" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "Editar Pieza del Proveedor" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "Duplicar Pieza del Proveedor" @@ -3809,7 +3975,7 @@ msgstr "Añadir un nuevo artículo en inventario" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Nuevo artículo en stock" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "Actualizar Disponibilidad de Piezas" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Artículos de Stock" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Orden de Compra" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "Descripción del pedido" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "Enlace a página web externa" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "Usuario o grupo responsable de este pedido" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "Precio Total" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" -msgstr "Referencia del pedido" - -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" -msgstr "Empresa a la que se están encargando los artículos" +#: order/models.py:199 +msgid "Order description" +msgstr "Descripción del pedido" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "Referencia del Proveedor" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" +msgstr "Enlace a página web externa" -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "Fecha Límite de Envío" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "Usuario o grupo responsable de este pedido" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "Referencia del pedido" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "Empresa a la que se están encargando los artículos" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "Referencia del Proveedor" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "Referencia de Cliente " -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "Código de referencia del pedido del cliente" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "Fecha límite para la finalización del envío. El pedido estará vencido después de esta fecha." - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "Fecha de Envío" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "Referencia de artículo de línea" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "Precio por unidad" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "Precio de compra por unidad" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "Una pieza virtual no puede ser asignada a un pedido de entrega" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "Sólo las piezas entregables pueden ser asignadas a un pedido de entrega" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "Precio de venta por unidad" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "La petición de entrega no coincide con el envío" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de entrega" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de entrega" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "Exportar pedido a archivo" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "Acciones de pedido" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "Editar pedido" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "Cancelar pedido" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "Recibir artículos" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "Recibir Artículos" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "Completar Pedido" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "Referencia del Pedido" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "Descripción del Pedido" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "Estado del Pedido" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "Artículos de Línea Completados" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "Incompleto" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "Coste total" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "No se ha podido calcular el coste total" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Eliminar fila" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "Paso %(step)s de %(count)s" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "Artículos de Línea" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "Artículos de la Orden de Compra" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "Añadir Artículo de Línea" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" -msgstr "Recibir artículos seleccionados" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" +msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "Líneas Adicionales" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "Añadir Línea Adicional" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "Artículos Recibidos" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "Notas del Pedido" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" -msgstr "Imprimir Informes de Pedidos" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "Imprimir lista de empaquetado" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "Referencia del Cliente" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" +msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "Imprimir informe de pedidos de entrega" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" -msgstr "Imprimir lista de empaquetado" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" +msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "Completar Envíos" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "Completar Pedido de Entrega" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "Este pedido de entrega no ha sido completamente asignado" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "Referencia del Cliente" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "Envíos Pendientes" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "Acciones" @@ -4716,34 +5003,34 @@ msgstr "Acciones" msgid "New Shipment" msgstr "Nuevo Envío" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "Pedido de entrega no encontrado" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "Actualizado el precio unitario de {part} a {price}" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format 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:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de Pieza" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "Nombre de la Pieza" @@ -4752,19 +5039,19 @@ msgstr "Nombre de la Pieza" msgid "Part Description" msgstr "Descripción de la Pieza" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "En Stock" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "Usado En" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "Ruta de la Categoría" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Piezas" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "IPN de la Pieza" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "Pedidos de Entrega Salientes" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "Stock Disponible" @@ -4921,664 +5208,665 @@ msgstr "Stock Disponible" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de Pieza" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Categorías de Piezas" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "Ubicación predeterminada para piezas de esta categoría" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Las piezas no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas." -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "Palabras clave predeterminadas" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "Palabras clave por defecto para piezas en esta categoría" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "Icono" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "Icono (opcional)" -#: part/models.py:159 +#: part/models.py:158 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 piezas sea estructural porque algunas piezas ya están asignadas!" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "Opción no válida para la pieza principal" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "La pieza '{p1}' se utiliza en la lista BOM para '{p2}' (recursivo)" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN debe coincidir con el patrón de regex {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de piezas" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "¡No se pueden asignar piezas a las categorías de piezas estructurales!" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "Nombre de la pieza" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "¿Es esta pieza una 'pieza plantilla'?" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "¿Es esta pieza una variante de otra pieza?" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "Descripción de la pieza" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda de piezas" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "Categoría" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "Categoría de pieza" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "'Part Number' Interno (IPN)" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "Revisión de la pieza o número de versión" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 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 pieza" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "¿Esta pieza tiene seguimiento de artículos únicos?" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta pieza a proveedores externos?" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "¿Se puede entregar esta pieza a los clientes?" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Último Inventario" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "Entrega múltiple" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la pieza de proveedores externos" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la pieza de proveedores externos" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Fecha" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 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:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "Descripción del parámetro" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "Pieza Superior" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "Seleccionar pieza superior" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "Opcional" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Permitir Variantes" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "Duplicar Pieza" @@ -5671,7 +5959,7 @@ msgstr "Duplicar Pieza" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "Cantidad Total" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "Categoría de piezas de nivel superior" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Subcategorías" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "Parámetros de Pieza" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "Crear nueva categoría de piezas" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "Nueva Categoría" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "Crear Categoría para Piezas" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "Actualizar datos de programación" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "Inventario" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "Inactivo" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "Mostrar Detalles de la Pieza" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "Asignado a Pedidos" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "Precios del Proveedor" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "Ningún precio de proveedor disponible" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "Inventario" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "Última Actualización" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "Descripción de la plantilla de informe" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "Filtros de búsqueda de pedidos de entrega" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "Precio Unitario" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 msgid "Total" msgstr "Total" +#: report/templates/report/inventree_return_order_report_base.html:25 +#: report/templates/report/inventree_test_report_base.html:88 +#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "ID del Cliente" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "Ubicación de Stock" msgid "Stock Locations" msgstr "Ubicaciones de Stock" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "Seleccione el proveedor de este artículo" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "¿Dónde se encuentra este artículo?" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "Empaque utilizado para almacenar este artículo" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "Pedido de Entrega de Destino" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "Eliminar al agotarse" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "Eliminar este artículo cuando no queden más existencias" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "Precio de compra por unidad en el momento de la compra" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "Artículo de stock ha sido asignado a un pedido de entrega" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "El artículo de stock ha sido asignado a un cliente" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "Contar stock" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "Transferir stock" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "Asignar a cliente" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "Ningún inventario realizado" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "Código QR del artículo de Stock" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "Nueva ubicación" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "Ajustes de plugins" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "Cambiar la siguiente configuración requerirá reiniciar inmediatamente el servidor. Tenga precaución al hacer cambios con usuarios activos." #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "Plugins" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "Ajustes de informes" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "Editar" @@ -8791,11 +9089,11 @@ msgstr "Ingresa un token generado por la aplicación:" msgid "Verify" msgstr "Verificar" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "Agregar Enlace" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "Añadir Archivo Adjunto" @@ -8803,19 +9101,19 @@ msgstr "Añadir Archivo Adjunto" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "Haga clic en el siguiente enlace para ver este pedido" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "Fecha de Subida" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Cerrar" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "Añadir nueva Empresa" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "No se encontró información de la empresa" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "Última actualización" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "Seleccionar Columnas" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "Cancelar Pedido de Entrega" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "Añadir Cliente" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "Crear Pedido de Entrega" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "Editar Pedido de Entrega" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "Artículos" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" -msgstr "No se encontraron pedidos de entrega" - -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" -msgstr "Cliente Inválido" - -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "Referencia de Envío" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "Asignar Artículos de Stock a Pedido de Entrega" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "No se encontraron asignaciones de pedidos de entrega" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "Enviado al cliente" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "Actualizar Precio por Unidad" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "Añadir Categoría de Pieza" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "Categoría superior de pieza" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "Icono (opcional) - Explora todos los iconos disponibles en" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "Crear Pieza" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "Crear otra pieza después de esta" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "Pieza creada con éxito" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "Stock bajo" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "Existencias no disponibles" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "Mostrar como lista" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "Mostrar como cuadrícula" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "Mostrar como árbol" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "Cargar Subcategorías" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "No hay información de precios disponible para esta pieza" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "Error obteniendo información de programación de esta pieza" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "Artículos" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" +msgstr "Añadir Cliente" + +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" +msgstr "Cliente Inválido" + +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "Seleccionar Pedidos de Entrega" +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "Algún Pedido(s) de Entrega debe ser seleccionado antes de imprimir el informe" +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "Crear Pedido de Entrega" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "Editar Pedido de Entrega" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "Completar Envíos" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "Cancelar Pedido de Entrega" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "No se encontraron pedidos de entrega" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "Referencia de Envío" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "Asignar Artículos de Stock a Pedido de Entrega" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "No se encontraron asignaciones de pedidos de entrega" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "Enviado al cliente" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "Actualizar Precio por Unidad" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "Cantidad inicial de existencias que tendrá este artículo" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "Asignar Stock al Cliente" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "Asignado al Pedido de Entrega" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "Artículo de stock asignado al pedido de entrega" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "Artículo de stock asignado al cliente" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "El cliente ya no existe" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "Incluir sub-ubicación" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "Incluir subcategorias" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "Mostrar artículos que han sido asignados a un cliente" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "Incluir sub-ubicación" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "Incluir subcategorias" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "Mostrar artículos que han sido asignados a un cliente" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "Incluir piezas en subcategorías" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "En stock" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "Mostrar vista de calendario" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "Mostrar vista de lista" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "Mostrar vista de árbol" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "Ampliar todas las filas" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "Contraer todas las filas" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "filas por página" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "Mostrando todas las filas" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "Mostrando" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "hasta" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "de" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "filas" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "Columnas" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "Entrega" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "No se ha configurado el servidor de correo electrónico" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "Inventariar artículos de stock seleccionados" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 99b57e4718..3d85e8378e 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-03-01 21:26+0000\n" +"POT-Creation-Date: 2023-03-29 08:09+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,10 +18,14 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "" +#: InvenTree/api.py:308 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "" @@ -31,22 +35,25 @@ msgid "Enter date" msgstr "" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:946 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1029 #: 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:2919 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 -#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 -#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 +#: stock/admin.py:121 stock/models.py:2100 stock/models.py:2208 +#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 +#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2532 templates/js/translated/order.js:2664 -#: templates/js/translated/order.js:3157 templates/js/translated/order.js:4099 -#: templates/js/translated/order.js:4472 templates/js/translated/part.js:973 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2074 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:937 +#: templates/js/translated/sales_order.js:1843 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "" @@ -99,75 +106,75 @@ msgstr "" msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:166 +#: InvenTree/helpers.py:168 msgid "Connection error" msgstr "" -#: InvenTree/helpers.py:170 InvenTree/helpers.py:175 +#: InvenTree/helpers.py:172 InvenTree/helpers.py:177 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers.py:172 +#: InvenTree/helpers.py:174 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers.py:180 +#: InvenTree/helpers.py:182 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers.py:183 +#: InvenTree/helpers.py:185 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers.py:195 +#: InvenTree/helpers.py:197 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers.py:200 +#: InvenTree/helpers.py:202 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers.py:208 +#: InvenTree/helpers.py:210 msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:610 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:635 +#: InvenTree/helpers.py:640 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:668 InvenTree/helpers.py:703 +#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:697 +#: InvenTree/helpers.py:702 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:721 InvenTree/helpers.py:728 InvenTree/helpers.py:743 +#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:753 +#: InvenTree/helpers.py:758 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:756 +#: InvenTree/helpers.py:761 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:955 +#: InvenTree/helpers.py:960 msgid "Remove HTML tags from this value" msgstr "" @@ -203,8 +210,8 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:409 stock/models.py:2196 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2202 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "" @@ -213,23 +220,24 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:416 common/models.py:2542 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:84 -#: order/models.py:1284 part/admin.py:39 part/models.py:835 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1377 order/models.py:1856 part/admin.py:39 +#: part/models.py:892 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:119 templates/js/translated/company.js:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:3146 templates/js/translated/part.js:1990 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:926 msgid "Link" msgstr "" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 -#: stock/models.py:728 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "" @@ -238,13 +246,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1991 -#: common/models.py:1992 common/models.py:2215 common/models.py:2216 -#: common/models.py:2472 common/models.py:2473 part/models.py:2927 -#: part/models.py:3015 part/models.py:3094 part/models.py:3114 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2761 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "" @@ -285,47 +293,52 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2201 -#: company/models.py:382 label/models.py:101 part/models.py:779 -#: part/models.py:3262 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1088 -#: templates/js/translated/part.js:1257 templates/js/translated/part.js:2395 -#: templates/js/translated/stock.js:2488 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "" -#: InvenTree/models.py:578 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 -#: part/models.py:3271 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:109 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2366 -#: templates/js/translated/order.js:2934 templates/js/translated/part.js:1150 -#: templates/js/translated/part.js:1600 templates/js/translated/part.js:1874 -#: templates/js/translated/part.js:2431 templates/js/translated/part.js:2528 -#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 -#: templates/js/translated/stock.js:2520 templates/js/translated/stock.js:2598 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:714 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "" @@ -338,7 +351,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2440 templates/js/translated/stock.js:2529 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "" @@ -350,7 +363,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:470 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -370,12 +383,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3618 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2766 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -447,124 +460,125 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:705 msgid "Czech" msgstr "" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:706 msgid "Danish" msgstr "" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:707 msgid "German" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:708 msgid "Greek" msgstr "" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:709 msgid "English" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:710 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:711 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:712 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:713 msgid "French" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:714 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:715 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:716 msgid "Italian" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:717 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:718 msgid "Korean" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:719 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:720 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:721 msgid "Polish" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:722 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:723 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:724 msgid "Russian" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:725 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:726 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:727 msgid "Thai" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:728 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:729 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:730 msgid "Chinese" msgstr "" -#: InvenTree/status.py:98 part/serializers.py:862 +#: InvenTree/status.py:92 part/serializers.py:879 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:102 +#: InvenTree/status.py:96 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:105 +#: InvenTree/status.py:99 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:313 InvenTree/status_codes.py:350 +#: InvenTree/status_codes.py:385 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "" @@ -572,14 +586,14 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:352 order/templates/order/order_base.html:142 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" #: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:315 InvenTree/status_codes.py:353 msgid "Cancelled" msgstr "" @@ -593,8 +607,9 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1167 -#: templates/js/translated/order.js:3734 templates/js/translated/order.js:4074 +#: InvenTree/status_codes.py:141 order/models.py:1260 +#: templates/js/translated/sales_order.js:1503 +#: templates/js/translated/sales_order.js:1818 msgid "Shipped" msgstr "" @@ -622,116 +637,143 @@ msgstr "" msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:263 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:265 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:267 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:268 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:270 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:271 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:272 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:274 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:276 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:277 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:279 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:280 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:282 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:283 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2178 +#: InvenTree/status_codes.py:285 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:287 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:289 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:290 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:292 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:293 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:294 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" +#: InvenTree/status_codes.py:296 +msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:298 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:300 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:314 msgid "Production" msgstr "" -#: InvenTree/validators.py:20 +#: InvenTree/status_codes.py:351 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:386 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:387 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:388 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:389 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:390 +msgid "Reject" +msgstr "" + +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:91 -#, python-brace-format -msgid "IPN must match regex pattern {pat}" -msgstr "" - -#: InvenTree/validators.py:133 InvenTree/validators.py:149 +#: InvenTree/validators.py:87 InvenTree/validators.py:103 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:151 +#: InvenTree/validators.py:105 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:158 +#: InvenTree/validators.py:112 msgid "Invalid value for overage" msgstr "" @@ -751,369 +793,396 @@ msgstr "" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:157 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:240 order/models.py:655 -#: order/models.py:944 part/admin.py:277 part/models.py:3528 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1027 order/models.py:1638 part/admin.py:278 +#: part/models.py:3602 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 -#: report/templates/report/inventree_po_report.html:91 -#: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2397 -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:3938 -#: templates/js/translated/order.js:4421 templates/js/translated/pricing.js:370 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1682 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:169 msgid "Brief description of the build" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1040 order/models.py:1151 order/models.py:1152 -#: part/models.py:382 part/models.py:2779 part/models.py:2893 -#: part/models.py:3033 part/models.py:3052 part/models.py:3071 -#: part/models.py:3092 part/models.py:3184 part/models.py:3305 -#: part/models.py:3397 part/models.py:3493 part/models.py:3798 -#: part/serializers.py:826 part/serializers.py:1231 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1123 order/models.py:1239 order/models.py:1240 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 +#: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 -#: stock/serializers.py:482 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 +#: stock/serializers.py:144 stock/serializers.py:484 +#: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:3289 -#: templates/js/translated/order.js:3685 templates/js/translated/order.js:3922 -#: templates/js/translated/part.js:1585 templates/js/translated/part.js:1657 -#: templates/js/translated/part.js:1851 templates/js/translated/pricing.js:353 -#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 -#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 -#: templates/js/translated/stock.js:2624 templates/js/translated/stock.js:2819 -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:235 +#: templates/js/translated/sales_order.js:1068 +#: templates/js/translated/sales_order.js:1454 +#: templates/js/translated/sales_order.js:1666 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:191 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3277 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1056 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:214 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:222 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:229 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:235 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:239 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 -#: stock/models.py:732 templates/js/translated/order.js:1626 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:86 part/models.py:971 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2947 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:727 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:685 +#: build/models.py:259 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:291 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1681 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:269 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:278 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:100 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:975 -#: part/templates/part/part_base.html:398 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:193 part/models.py:1032 +#: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2156 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:391 stock/models.py:726 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "Extra build notes" msgstr "" -#: build/models.py:299 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1418 +#: build/models.py:1209 order/models.py:1515 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1421 +#: build/models.py:1215 order/models.py:1518 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1219 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 -#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 -#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1013 +#: order/serializers.py:1034 stock/serializers.py:388 stock/serializers.py:741 +#: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3290 -#: templates/js/translated/order.js:3592 templates/js/translated/order.js:3597 -#: templates/js/translated/order.js:3692 templates/js/translated/order.js:3784 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2697 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1069 +#: templates/js/translated/sales_order.js:1367 +#: templates/js/translated/sales_order.js:1372 +#: templates/js/translated/sales_order.js:1461 +#: templates/js/translated/sales_order.js:1551 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "" -#: build/models.py:1363 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2023 -#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 -#: part/forms.py:47 part/models.py:2906 part/models.py:3509 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1013 order/models.py:1559 order/serializers.py:1187 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report.html:90 -#: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:103 stock/serializers.py:279 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2403 templates/js/translated/order.js:2619 -#: templates/js/translated/order.js:3291 templates/js/translated/order.js:3611 -#: templates/js/translated/order.js:3698 templates/js/translated/order.js:3790 -#: templates/js/translated/order.js:3944 templates/js/translated/order.js:4427 -#: templates/js/translated/part.js:850 templates/js/translated/part.js:1455 -#: templates/js/translated/part.js:2969 templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2746 templates/js/translated/stock.js:2831 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:252 +#: templates/js/translated/sales_order.js:1070 +#: templates/js/translated/sales_order.js:1386 +#: templates/js/translated/sales_order.js:1467 +#: templates/js/translated/sales_order.js:1557 +#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "" -#: build/models.py:1376 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1386 msgid "Install into" msgstr "" -#: build/models.py:1385 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1137,10 +1206,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 -#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1071 -#: part/serializers.py:1394 stock/models.py:586 stock/models.py:1338 -#: stock/serializers.py:288 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1344 +#: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1152,9 +1221,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 -#: stock/serializers.py:297 templates/js/translated/order.js:1637 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1191 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" @@ -1170,7 +1239,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:647 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1178,18 +1247,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 -#: part/serializers.py:838 stock/serializers.py:308 stock/serializers.py:443 -#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1664 -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3709 -#: templates/js/translated/order.js:3717 templates/js/translated/order.js:3798 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2638 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1540 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1379 +#: templates/js/translated/sales_order.js:1478 +#: templates/js/translated/sales_order.js:1486 +#: templates/js/translated/sales_order.js:1565 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1198,13 +1270,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:674 -#: order/serializers.py:466 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1664 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 -#: templates/js/translated/order.js:2939 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2715 templates/js/translated/stock.js:2847 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" @@ -1264,7 +1339,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1081 msgid "Accept Incomplete" msgstr "" @@ -1280,8 +1355,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3420 -#: part/models.py:3790 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1297,11 +1372,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:752 +#: build/serializers.py:680 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1066 +#: build/serializers.py:729 order/serializers.py:1071 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1318,7 +1393,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1350 +#: build/serializers.py:770 order/serializers.py:1355 msgid "Allocation items must be provided" msgstr "" @@ -1373,6 +1448,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1441,13 +1517,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:950 -#: order/templates/order/order_base.html:171 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1033 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2143 -#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2955 -#: templates/js/translated/order.js:3987 templates/js/translated/part.js:1470 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:735 +#: templates/js/translated/sales_order.js:1731 msgid "Target Date" msgstr "" @@ -1458,31 +1539,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:174 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1292 order/models.py:1144 -#: order/models.py:1238 order/models.py:1369 +#: build/templates/build/detail.html:101 order/api.py:1516 order/models.py:1232 +#: order/models.py:1331 order/models.py:1465 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2901 templates/js/translated/pricing.js:896 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:681 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1493,11 +1578,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1513,8 +1598,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1062 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2521 +#: build/templates/build/detail.html:49 order/models.py:1150 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1528,19 +1614,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2854 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1560,7 +1647,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1589,9 +1676,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1643,27 +1731,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1671,15 +1751,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1687,10 +1767,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1882,1165 +1958,1230 @@ msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they msgstr "" #: common/models.py:988 -msgid "Automatic Backup" +msgid "Update Check Inverval" msgstr "" #: common/models.py:989 -msgid "Enable automatic backup of database and media files" +msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:995 -msgid "Days Between Backup" -msgstr "" - -#: common/models.py:996 -msgid "Specify number of days between automated backup events" -msgstr "" - -#: common/models.py:1005 -msgid "Delete Old Tasks" -msgstr "" - -#: common/models.py:1006 -msgid "Background task results will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1016 -msgid "Delete Error Logs" -msgstr "" - -#: common/models.py:1017 -msgid "Error logs will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1027 templates/InvenTree/notifications/history.html:13 -#: templates/InvenTree/notifications/history.html:14 -#: templates/InvenTree/notifications/notifications.html:77 -msgid "Delete Notifications" -msgstr "" - -#: common/models.py:1028 -msgid "User notifications will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1038 templates/InvenTree/settings/sidebar.html:31 -msgid "Barcode Support" -msgstr "" - -#: common/models.py:1039 -msgid "Enable barcode scanner support" -msgstr "" - -#: common/models.py:1045 -msgid "Barcode Input Delay" -msgstr "" - -#: common/models.py:1046 -msgid "Barcode input processing delay time" -msgstr "" - -#: common/models.py:1056 -msgid "Barcode Webcam Support" -msgstr "" - -#: common/models.py:1057 -msgid "Allow barcode scanning via webcam in browser" -msgstr "" - -#: common/models.py:1063 -msgid "IPN Regex" -msgstr "" - -#: common/models.py:1064 -msgid "Regular expression pattern for matching Part IPN" -msgstr "" - -#: common/models.py:1068 -msgid "Allow Duplicate IPN" -msgstr "" - -#: common/models.py:1069 -msgid "Allow multiple parts to share the same IPN" -msgstr "" - -#: common/models.py:1075 -msgid "Allow Editing IPN" -msgstr "" - -#: common/models.py:1076 -msgid "Allow changing the IPN value while editing a part" -msgstr "" - -#: common/models.py:1082 -msgid "Copy Part BOM Data" -msgstr "" - -#: common/models.py:1083 -msgid "Copy BOM data by default when duplicating a part" -msgstr "" - -#: common/models.py:1089 -msgid "Copy Part Parameter Data" -msgstr "" - -#: common/models.py:1090 -msgid "Copy parameter data by default when duplicating a part" -msgstr "" - -#: common/models.py:1096 -msgid "Copy Part Test Data" -msgstr "" - -#: common/models.py:1097 -msgid "Copy test data by default when duplicating a part" -msgstr "" - -#: common/models.py:1103 -msgid "Copy Category Parameter Templates" -msgstr "" - -#: common/models.py:1104 -msgid "Copy category parameter templates when creating a part" -msgstr "" - -#: common/models.py:1110 part/admin.py:55 part/models.py:3307 -#: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 -msgid "Template" -msgstr "" - -#: common/models.py:1111 -msgid "Parts are templates by default" -msgstr "" - -#: common/models.py:1117 part/admin.py:51 part/admin.py:282 part/models.py:927 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 -msgid "Assembly" -msgstr "" - -#: common/models.py:1118 -msgid "Parts can be assembled from other components by default" -msgstr "" - -#: common/models.py:1124 part/admin.py:52 part/models.py:933 -#: templates/js/translated/table_filters.js:510 -msgid "Component" -msgstr "" - -#: common/models.py:1125 -msgid "Parts can be used as sub-components by default" -msgstr "" - -#: common/models.py:1131 part/admin.py:53 part/models.py:944 -msgid "Purchaseable" -msgstr "" - -#: common/models.py:1132 -msgid "Parts are purchaseable by default" -msgstr "" - -#: common/models.py:1138 part/admin.py:54 part/models.py:949 -#: templates/js/translated/table_filters.js:531 -msgid "Salable" -msgstr "" - -#: common/models.py:1139 -msgid "Parts are salable by default" -msgstr "" - -#: common/models.py:1145 part/admin.py:56 part/models.py:939 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 -msgid "Trackable" -msgstr "" - -#: common/models.py:1146 -msgid "Parts are trackable by default" -msgstr "" - -#: common/models.py:1152 part/admin.py:57 part/models.py:959 -#: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 -msgid "Virtual" -msgstr "" - -#: common/models.py:1153 -msgid "Parts are virtual by default" -msgstr "" - -#: common/models.py:1159 -msgid "Show Import in Views" -msgstr "" - -#: common/models.py:1160 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/models.py:1166 -msgid "Show related parts" -msgstr "" - -#: common/models.py:1167 -msgid "Display related parts for a part" -msgstr "" - -#: common/models.py:1173 -msgid "Initial Stock Data" -msgstr "" - -#: common/models.py:1174 -msgid "Allow creation of initial stock when adding a new part" -msgstr "" - -#: common/models.py:1180 templates/js/translated/part.js:74 -msgid "Initial Supplier Data" -msgstr "" - -#: common/models.py:1181 -msgid "Allow creation of initial supplier data when adding a new part" -msgstr "" - -#: common/models.py:1187 -msgid "Part Name Display Format" -msgstr "" - -#: common/models.py:1188 -msgid "Format to display the part name" -msgstr "" - -#: common/models.py:1195 -msgid "Part Category Default Icon" -msgstr "" - -#: common/models.py:1196 -msgid "Part category default icon (empty means no icon)" -msgstr "" - -#: common/models.py:1201 -msgid "Pricing Decimal Places" -msgstr "" - -#: common/models.py:1202 -msgid "Number of decimal places to display when rendering pricing data" -msgstr "" - -#: common/models.py:1212 -msgid "Use Supplier Pricing" -msgstr "" - -#: common/models.py:1213 -msgid "Include supplier price breaks in overall pricing calculations" -msgstr "" - -#: common/models.py:1219 -msgid "Purchase History Override" -msgstr "" - -#: common/models.py:1220 -msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "" - -#: common/models.py:1226 -msgid "Use Stock Item Pricing" -msgstr "" - -#: common/models.py:1227 -msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "" - -#: common/models.py:1233 -msgid "Stock Item Pricing Age" -msgstr "" - -#: common/models.py:1234 -msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "" - -#: common/models.py:1244 -msgid "Use Variant Pricing" -msgstr "" - -#: common/models.py:1245 -msgid "Include variant pricing in overall pricing calculations" -msgstr "" - -#: common/models.py:1251 -msgid "Active Variants Only" -msgstr "" - -#: common/models.py:1252 -msgid "Only use active variant parts for calculating variant pricing" -msgstr "" - -#: common/models.py:1258 -msgid "Pricing Rebuild Time" -msgstr "" - -#: common/models.py:1259 -msgid "Number of days before part pricing is automatically updated" -msgstr "" - -#: common/models.py:1260 common/models.py:1383 +#: common/models.py:995 common/models.py:1013 common/models.py:1020 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" -#: common/models.py:1269 +#: common/models.py:999 +msgid "Automatic Backup" +msgstr "" + +#: common/models.py:1000 +msgid "Enable automatic backup of database and media files" +msgstr "" + +#: common/models.py:1006 +msgid "Auto Backup Interval" +msgstr "" + +#: common/models.py:1007 +msgid "Specify number of days between automated backup events" +msgstr "" + +#: common/models.py:1017 +msgid "Task Deletion Interval" +msgstr "" + +#: common/models.py:1018 +msgid "Background task results will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1028 +msgid "Error Log Deletion Interval" +msgstr "" + +#: common/models.py:1029 +msgid "Error logs will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1039 +msgid "Notification Deletion Interval" +msgstr "" + +#: common/models.py:1040 +msgid "User notifications will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1050 templates/InvenTree/settings/sidebar.html:31 +msgid "Barcode Support" +msgstr "" + +#: common/models.py:1051 +msgid "Enable barcode scanner support" +msgstr "" + +#: common/models.py:1057 +msgid "Barcode Input Delay" +msgstr "" + +#: common/models.py:1058 +msgid "Barcode input processing delay time" +msgstr "" + +#: common/models.py:1068 +msgid "Barcode Webcam Support" +msgstr "" + +#: common/models.py:1069 +msgid "Allow barcode scanning via webcam in browser" +msgstr "" + +#: common/models.py:1075 +msgid "Part Revisions" +msgstr "" + +#: common/models.py:1076 +msgid "Enable revision field for Part" +msgstr "" + +#: common/models.py:1082 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1083 +msgid "Regular expression pattern for matching Part IPN" +msgstr "" + +#: common/models.py:1087 +msgid "Allow Duplicate IPN" +msgstr "" + +#: common/models.py:1088 +msgid "Allow multiple parts to share the same IPN" +msgstr "" + +#: common/models.py:1094 +msgid "Allow Editing IPN" +msgstr "" + +#: common/models.py:1095 +msgid "Allow changing the IPN value while editing a part" +msgstr "" + +#: common/models.py:1101 +msgid "Copy Part BOM Data" +msgstr "" + +#: common/models.py:1102 +msgid "Copy BOM data by default when duplicating a part" +msgstr "" + +#: common/models.py:1108 +msgid "Copy Part Parameter Data" +msgstr "" + +#: common/models.py:1109 +msgid "Copy parameter data by default when duplicating a part" +msgstr "" + +#: common/models.py:1115 +msgid "Copy Part Test Data" +msgstr "" + +#: common/models.py:1116 +msgid "Copy test data by default when duplicating a part" +msgstr "" + +#: common/models.py:1122 +msgid "Copy Category Parameter Templates" +msgstr "" + +#: common/models.py:1123 +msgid "Copy category parameter templates when creating a part" +msgstr "" + +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 +msgid "Template" +msgstr "" + +#: common/models.py:1130 +msgid "Parts are templates by default" +msgstr "" + +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 +msgid "Assembly" +msgstr "" + +#: common/models.py:1137 +msgid "Parts can be assembled from other components by default" +msgstr "" + +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 +msgid "Component" +msgstr "" + +#: common/models.py:1144 +msgid "Parts can be used as sub-components by default" +msgstr "" + +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 +msgid "Purchaseable" +msgstr "" + +#: common/models.py:1151 +msgid "Parts are purchaseable by default" +msgstr "" + +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 +msgid "Salable" +msgstr "" + +#: common/models.py:1158 +msgid "Parts are salable by default" +msgstr "" + +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 +msgid "Trackable" +msgstr "" + +#: common/models.py:1165 +msgid "Parts are trackable by default" +msgstr "" + +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 +#: part/templates/part/part_base.html:156 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 +msgid "Virtual" +msgstr "" + +#: common/models.py:1172 +msgid "Parts are virtual by default" +msgstr "" + +#: common/models.py:1178 +msgid "Show Import in Views" +msgstr "" + +#: common/models.py:1179 +msgid "Display the import wizard in some part views" +msgstr "" + +#: common/models.py:1185 +msgid "Show related parts" +msgstr "" + +#: common/models.py:1186 +msgid "Display related parts for a part" +msgstr "" + +#: common/models.py:1192 +msgid "Initial Stock Data" +msgstr "" + +#: common/models.py:1193 +msgid "Allow creation of initial stock when adding a new part" +msgstr "" + +#: common/models.py:1199 templates/js/translated/part.js:73 +msgid "Initial Supplier Data" +msgstr "" + +#: common/models.py:1200 +msgid "Allow creation of initial supplier data when adding a new part" +msgstr "" + +#: common/models.py:1206 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:1207 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:1214 +msgid "Part Category Default Icon" +msgstr "" + +#: common/models.py:1215 +msgid "Part category default icon (empty means no icon)" +msgstr "" + +#: common/models.py:1220 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1221 +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1231 +msgid "Maximum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 +msgid "Include supplier price breaks in overall pricing calculations" +msgstr "" + +#: common/models.py:1249 +msgid "Purchase History Override" +msgstr "" + +#: common/models.py:1250 +msgid "Historical purchase order pricing overrides supplier price breaks" +msgstr "" + +#: common/models.py:1256 +msgid "Use Stock Item Pricing" +msgstr "" + +#: common/models.py:1257 +msgid "Use pricing from manually entered stock data for pricing calculations" +msgstr "" + +#: common/models.py:1263 +msgid "Stock Item Pricing Age" +msgstr "" + +#: common/models.py:1264 +msgid "Exclude stock items older than this number of days from pricing calculations" +msgstr "" + +#: common/models.py:1274 +msgid "Use Variant Pricing" +msgstr "" + +#: common/models.py:1275 +msgid "Include variant pricing in overall pricing calculations" +msgstr "" + +#: common/models.py:1281 +msgid "Active Variants Only" +msgstr "" + +#: common/models.py:1282 +msgid "Only use active variant parts for calculating variant pricing" +msgstr "" + +#: common/models.py:1288 +msgid "Pricing Rebuild Interval" +msgstr "" + +#: common/models.py:1289 +msgid "Number of days before part pricing is automatically updated" +msgstr "" + +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1270 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1276 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1277 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1284 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1290 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1291 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1300 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1301 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1307 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1308 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1314 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1315 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1325 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1326 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1332 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1333 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1339 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1340 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1346 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1347 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1353 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1360 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1361 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1366 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1367 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1373 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1380 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1381 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1388 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1389 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1395 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1396 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1402 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1403 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1408 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1409 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1415 -msgid "Sales Order Reference Pattern" +#: common/models.py:1445 +msgid "Enable Return Orders" msgstr "" -#: common/models.py:1416 -msgid "Required pattern for generating Sales Order reference field" -msgstr "" - -#: common/models.py:1422 -msgid "Sales Order Default Shipment" -msgstr "" - -#: common/models.py:1423 -msgid "Enable creation of default shipment with sales orders" -msgstr "" - -#: common/models.py:1429 -msgid "Edit Completed Sales Orders" -msgstr "" - -#: common/models.py:1430 -msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "" - -#: common/models.py:1436 -msgid "Purchase Order Reference Pattern" -msgstr "" - -#: common/models.py:1437 -msgid "Required pattern for generating Purchase Order reference field" -msgstr "" - -#: common/models.py:1443 -msgid "Edit Completed Purchase Orders" -msgstr "" - -#: common/models.py:1444 -msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "" - -#: common/models.py:1451 -msgid "Enable password forgot" +#: common/models.py:1446 +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Enable password forgot function on the login pages" +msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1458 -msgid "Enable registration" +#: common/models.py:1453 +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Enable self-registration for users on the login pages" +msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1465 -msgid "Enable SSO" +#: common/models.py:1460 +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Enable SSO on the login pages" +msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1472 -msgid "Enable SSO registration" +#: common/models.py:1467 +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1479 -msgid "Email required" +#: common/models.py:1474 +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1480 -msgid "Require user to supply mail on signup" +msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1486 -msgid "Auto-fill SSO users" +#: common/models.py:1481 +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1487 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1493 -msgid "Mail twice" +#: common/models.py:1488 +msgid "Required pattern for generating Purchase Order reference field" msgstr "" #: common/models.py:1494 -msgid "On signup ask users twice for their mail" +msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1500 -msgid "Password twice" +#: common/models.py:1495 +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1501 -msgid "On signup ask users twice for their password" +#: common/models.py:1502 +msgid "Enable password forgot" msgstr "" -#: common/models.py:1507 -msgid "Allowed domains" +#: common/models.py:1503 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1508 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +#: common/models.py:1509 +msgid "Enable registration" msgstr "" -#: common/models.py:1514 -msgid "Group on signup" +#: common/models.py:1510 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1515 -msgid "Group to which new users are assigned on registration" +#: common/models.py:1516 +msgid "Enable SSO" msgstr "" -#: common/models.py:1521 -msgid "Enforce MFA" +#: common/models.py:1517 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1522 -msgid "Users must use multifactor security." +#: common/models.py:1523 +msgid "Enable SSO registration" msgstr "" -#: common/models.py:1528 -msgid "Check plugins on startup" +#: common/models.py:1524 +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1529 -msgid "Check that all plugins are installed on startup - enable in container environments" +#: common/models.py:1530 +msgid "Email required" msgstr "" -#: common/models.py:1536 -msgid "Check plugin signatures" +#: common/models.py:1531 +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Check and show signatures for plugins" +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:1538 +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Enable URL integration" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Enable plugins to add URL routes" +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:1551 +msgid "Password twice" msgstr "" #: common/models.py:1552 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:1558 +msgid "Allowed domains" +msgstr "" + +#: common/models.py:1559 +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" +msgstr "" + +#: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 +msgid "Check plugin signatures" +msgstr "" + +#: common/models.py:1588 +msgid "Check and show signatures for plugins" +msgstr "" + +#: common/models.py:1595 +msgid "Enable URL integration" +msgstr "" + +#: common/models.py:1596 +msgid "Enable plugins to add URL routes" +msgstr "" + +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1553 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1560 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1561 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1568 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1569 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1576 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1577 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1584 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1585 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1591 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1592 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1601 -msgid "Delete Old Reports" +#: common/models.py:1652 +msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1602 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1619 common/models.py:1984 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1638 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1659 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1667 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1674 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1681 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1687 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1688 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1695 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1702 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1708 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1709 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1716 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1730 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1736 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1737 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1743 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1744 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1750 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1751 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1757 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1758 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1764 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1765 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1771 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1772 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1778 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1779 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1785 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1786 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1792 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1793 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1799 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1800 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1806 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1807 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1813 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1814 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1821 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1835 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1842 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1849 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1855 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1856 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1862 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1863 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1869 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1870 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1876 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1877 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1883 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1884 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1890 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1891 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1897 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1898 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1904 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1905 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1911 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1912 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1918 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1919 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1925 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1926 -msgid "Use the escape key to close modal forms" -msgstr "" - -#: common/models.py:1932 -msgid "Fixed Navbar" -msgstr "" - -#: common/models.py:1933 -msgid "The navbar position is fixed to the top of the screen" -msgstr "" - -#: common/models.py:1939 -msgid "Date Format" -msgstr "" - -#: common/models.py:1940 -msgid "Preferred format for displaying dates" -msgstr "" - -#: common/models.py:1954 part/templates/part/detail.html:41 -msgid "Part Scheduling" -msgstr "" - -#: common/models.py:1955 -msgid "Display part scheduling information" -msgstr "" - -#: common/models.py:1961 part/templates/part/detail.html:62 -msgid "Part Stocktake" -msgstr "" - #: common/models.py:1962 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgid "Search Return Orders" msgstr "" -#: common/models.py:1968 -msgid "Table String Length" +#: common/models.py:1963 +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:1970 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:1976 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1983 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 +msgid "Table String Length" +msgstr "" + +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2024 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2031 company/serializers.py:407 order/models.py:977 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1522 -#: templates/js/translated/pricing.js:605 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1060 +#: order/models.py:1852 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2032 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2192 common/models.py:2370 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2193 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2202 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2207 part/admin.py:50 part/models.py:954 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2208 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2222 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2223 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2230 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2231 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2337 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2338 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2346 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2347 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2354 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2355 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2361 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2362 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2371 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2376 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2377 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2531 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2537 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2547 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2552 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2557 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2562 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2563 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3053,7 +3194,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3061,19 +3202,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3113,7 +3258,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3139,6 +3284,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3147,6 +3293,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:186 msgid "Contact" msgstr "" @@ -3158,11 +3307,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:848 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3196,205 +3345,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:359 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2385 templates/js/translated/part.js:1444 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2189 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1266 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2195 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:921 -#: part/models.py:3267 part/templates/part/part_base.html:286 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1272 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2109 -#: templates/js/translated/part.js:1412 templates/js/translated/pricing.js:482 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2372 -#: templates/js/translated/part.js:1430 templates/js/translated/pricing.js:494 +#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:354 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 +#: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:348 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:278 part/models.py:3531 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 +#: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1850 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1850 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:118 stock/models.py:694 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2070 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 -#: templates/js/translated/order.js:2416 templates/js/translated/order.js:2433 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1514 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1852 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 -#: templates/js/translated/part.js:606 templates/js/translated/part.js:609 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3403,7 +3562,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3416,7 +3575,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3444,14 +3603,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:669 -#: order/templates/order/sales_order_base.html:116 stock/models.py:713 -#: stock/models.py:714 stock/serializers.py:794 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1652 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:116 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:2916 -#: templates/js/translated/stock.js:2679 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:696 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3464,7 +3626,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3473,72 +3635,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:534 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:563 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:618 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3547,49 +3709,79 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3606,12 +3798,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3639,9 +3831,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3655,7 +3847,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:170 #: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:63 +#: templates/InvenTree/settings/part.html:64 msgid "New Parameter" msgstr "" @@ -3663,7 +3855,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3680,15 +3872,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1265 templates/js/translated/stock.js:2010 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3709,8 +3906,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3739,13 +3936,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3758,7 +3955,7 @@ msgid "Delete Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:307 +#: part/templates/part/part_base.html:308 #: stock/templates/stock/item_base.html:161 #: stock/templates/stock/location.html:156 msgid "Barcode Identifier" @@ -3779,7 +3976,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3792,8 +3989,8 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/company.js:373 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3810,14 +4007,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:953 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2538 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3843,7 +4040,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3851,511 +4048,600 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1290 order/models.py:1023 order/models.py:1102 +#: order/api.py:1514 order/models.py:1106 order/models.py:1190 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 -#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1389 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1294 +#: order/api.py:1518 msgid "Unknown" msgstr "" -#: order/models.py:82 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1711 +msgid "Total Price" +msgstr "" + +#: order/models.py:67 +msgid "Total price for this order" +msgstr "" + +#: order/models.py:177 +msgid "Contact does not match selected company" +msgstr "" + +#: order/models.py:199 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1285 +#: order/models.py:201 order/models.py:1378 order/models.py:1856 msgid "Link to external page" msgstr "" -#: order/models.py:92 -msgid "Created By" -msgstr "" - -#: order/models.py:99 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:104 -msgid "Order notes" -msgstr "" - -#: order/models.py:241 order/models.py:656 -msgid "Order reference" -msgstr "" - -#: order/models.py:249 order/models.py:674 -msgid "Purchase order status" -msgstr "" - -#: order/models.py:264 -msgid "Company from which the items are being ordered" -msgstr "" - -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2118 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:267 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:274 -msgid "received by" -msgstr "" - -#: order/models.py:279 -msgid "Issue Date" -msgstr "" - -#: order/models.py:280 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:285 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:286 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1675 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1676 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1682 msgid "Date order was completed" msgstr "" -#: order/models.py:331 +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:490 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:670 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:681 +#: order/models.py:756 order/models.py:1669 msgid "Customer Reference " msgstr "" -#: order/models.py:681 +#: order/models.py:756 order/models.py:1670 msgid "Customer order reference code" msgstr "" -#: order/models.py:686 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:689 order/models.py:1243 -#: templates/js/translated/order.js:2963 templates/js/translated/order.js:3126 +#: order/models.py:758 order/models.py:1336 +#: templates/js/translated/sales_order.js:743 +#: templates/js/translated/sales_order.js:906 msgid "Shipment Date" msgstr "" -#: order/models.py:696 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:751 +#: order/models.py:809 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:755 +#: order/models.py:813 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:758 templates/js/translated/order.js:424 +#: order/models.py:816 templates/js/translated/sales_order.js:437 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:761 +#: order/models.py:819 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:938 +#: order/models.py:1014 msgid "Item quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:1027 msgid "Line item reference" msgstr "" -#: order/models.py:946 +#: order/models.py:1029 msgid "Line item notes" msgstr "" -#: order/models.py:951 +#: order/models.py:1034 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:968 +#: order/models.py:1051 msgid "Context" msgstr "" -#: order/models.py:969 +#: order/models.py:1052 msgid "Additional context for this line" msgstr "" -#: order/models.py:978 +#: order/models.py:1061 msgid "Unit price" msgstr "" -#: order/models.py:1008 +#: order/models.py:1091 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:1099 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1102 order/models.py:1143 -#: order/models.py:1237 order/models.py:1369 -#: templates/js/translated/order.js:3582 +#: order/models.py:1105 order/models.py:1190 order/models.py:1231 +#: order/models.py:1330 order/models.py:1465 order/models.py:1821 +#: order/models.py:1870 templates/js/translated/sales_order.js:1357 msgid "Order" msgstr "" -#: order/models.py:1041 +#: order/models.py:1124 msgid "Supplier part" msgstr "" -#: order/models.py:1048 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2501 -#: templates/js/translated/part.js:1506 templates/js/translated/part.js:1538 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1131 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1049 +#: order/models.py:1132 msgid "Number of items received" msgstr "" -#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 +#: order/models.py:1139 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1057 +#: order/models.py:1140 msgid "Unit purchase price" msgstr "" -#: order/models.py:1065 +#: order/models.py:1153 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1131 +#: order/models.py:1219 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1136 +#: order/models.py:1224 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1162 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: order/models.py:1250 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1251 msgid "Unit sale price" msgstr "" -#: order/models.py:1168 +#: order/models.py:1261 msgid "Shipped quantity" msgstr "" -#: order/models.py:1244 +#: order/models.py:1337 msgid "Date of shipment" msgstr "" -#: order/models.py:1251 +#: order/models.py:1344 msgid "Checked By" msgstr "" -#: order/models.py:1252 +#: order/models.py:1345 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 -#: order/serializers.py:1325 templates/js/translated/model_renderers.js:338 +#: order/models.py:1352 order/models.py:1541 order/serializers.py:1202 +#: order/serializers.py:1330 templates/js/translated/model_renderers.js:403 msgid "Shipment" msgstr "" -#: order/models.py:1260 +#: order/models.py:1353 msgid "Shipment number" msgstr "" -#: order/models.py:1264 +#: order/models.py:1357 msgid "Shipment notes" msgstr "" -#: order/models.py:1270 +#: order/models.py:1363 msgid "Tracking Number" msgstr "" -#: order/models.py:1271 +#: order/models.py:1364 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1278 +#: order/models.py:1371 msgid "Invoice Number" msgstr "" -#: order/models.py:1279 +#: order/models.py:1372 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1297 +#: order/models.py:1390 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1300 +#: order/models.py:1393 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1403 order/models.py:1405 +#: order/models.py:1500 order/models.py:1502 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1409 +#: order/models.py:1506 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1411 +#: order/models.py:1508 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1414 +#: order/models.py:1511 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1424 order/serializers.py:1059 +#: order/models.py:1521 order/serializers.py:1064 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1427 +#: order/models.py:1524 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1525 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1436 +#: order/models.py:1533 msgid "Line" msgstr "" -#: order/models.py:1445 +#: order/models.py:1542 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1458 +#: order/models.py:1555 order/models.py:1829 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1459 +#: order/models.py:1556 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1462 +#: order/models.py:1559 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:190 +#: order/models.py:1639 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1653 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1664 +msgid "Return order status" +msgstr "" + +#: order/models.py:1814 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1822 order/models.py:1870 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1830 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1835 +msgid "Received Date" +msgstr "" + +#: order/models.py:1836 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1847 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1847 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1853 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:205 order/serializers.py:1077 +#: order/serializers.py:238 order/serializers.py:1082 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:216 order/serializers.py:1088 +#: order/serializers.py:249 order/serializers.py:1093 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:364 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:369 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:375 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:376 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1165 +#: order/serializers.py:447 order/serializers.py:1170 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:549 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1541 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1627 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1638 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:485 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:565 +#: order/serializers.py:598 order/serializers.py:1556 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:582 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:593 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:902 +#: order/serializers.py:907 msgid "Sale price currency" msgstr "" -#: order/serializers.py:957 +#: order/serializers.py:962 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1020 order/serializers.py:1174 +#: order/serializers.py:1025 order/serializers.py:1179 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1042 +#: order/serializers.py:1047 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1192 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1209 order/serializers.py:1333 +#: order/serializers.py:1214 order/serializers.py:1338 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1217 order/serializers.py:1341 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1271 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1276 +#: order/serializers.py:1281 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1507 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1514 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1517 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1549 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1629 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4379,21 +4665,25 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 +#: order/templates/order/return_order_base.html:61 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "" @@ -4404,6 +4694,8 @@ msgstr "" #: order/templates/order/order_base.html:61 #: order/templates/order/order_base.html:62 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 msgid "Submit Order" msgstr "" @@ -4412,61 +4704,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 #: order/templates/order/sales_order_base.html:68 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 #: order/templates/order/sales_order_base.html:80 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 #: order/templates/order/sales_order_base.html:85 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 #: order/templates/order/sales_order_base.html:90 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 +#: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:129 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:144 #: order/templates/order/sales_order_base.html:135 #: order/templates/order/sales_order_base.html:145 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:204 msgid "Total cost could not be calculated" msgstr "" @@ -4519,11 +4816,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 -#: templates/js/translated/order.js:3201 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:979 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4565,9 +4864,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report.html:84 -#: report/templates/report/inventree_so_report.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4580,59 +4881,92 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:175 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 +msgid "Delete Line Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:239 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:123 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:709 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:200 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:755 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" -msgstr "" - #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 +#: templates/js/translated/sales_order.js:361 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: templates/js/translated/sales_order.js:415 msgid "Complete Sales Order" msgstr "" @@ -4640,11 +4974,6 @@ msgstr "" msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2929 -msgid "Customer Reference" -msgstr "" - #: order/templates/order/sales_order_base.html:141 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 @@ -4661,8 +4990,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4670,34 +4999,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:272 part/models.py:3401 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 +#: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:274 part/models.py:3405 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4706,24 +5035,24 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1868 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1145 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:808 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4739,21 +5068,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:618 templates/js/translated/part.js:1758 -#: templates/js/translated/part.js:1934 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4761,31 +5089,30 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4046 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1790 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:1762 -#: templates/js/translated/part.js:1941 +#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2844 templates/js/translated/part.js:858 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2850 templates/js/translated/part.js:868 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 +#: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 +#: part/admin.py:196 part/admin.py:272 stock/admin.py:43 msgid "Parent Name" msgstr "" @@ -4800,67 +5127,67 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2450 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:264 +#: part/admin.py:265 msgid "BOM Level" msgstr "" -#: part/admin.py:266 +#: part/admin.py:267 msgid "BOM Item ID" msgstr "" -#: part/admin.py:270 +#: part/admin.py:271 msgid "Parent IPN" msgstr "" -#: part/admin.py:273 part/models.py:3409 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" -#: part/admin.py:279 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:515 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:535 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:553 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:639 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:797 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:798 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:804 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:121 part/models.py:857 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 +#: part/bom.py:175 part/models.py:121 part/models.py:914 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4869,7 +5196,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4013 +#: templates/js/translated/sales_order.js:1757 msgid "Available Stock" msgstr "" @@ -4877,13 +5204,13 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:71 part/models.py:3350 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4892,9 +5219,9 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2544 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" @@ -4931,822 +5258,836 @@ msgstr "" msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:610 +#: part/models.py:592 +#, python-brace-format +msgid "IPN must match regex pattern {pat}" +msgstr "" + +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:741 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:746 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:760 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:778 part/models.py:3406 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:785 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:786 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:796 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:797 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:803 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:809 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:816 part/models.py:3112 part/models.py:3349 -#: part/serializers.py:832 part/templates/part/part_base.html:263 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 +#: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1890 templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:817 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:823 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:829 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:855 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:900 part/templates/part/part_base.html:384 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:901 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:908 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:909 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:915 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:922 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:928 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:934 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:940 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:945 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:950 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:955 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:960 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:962 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:964 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:964 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:967 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:969 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:973 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:975 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:979 part/templates/part/part_base.html:347 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:2005 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1852 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2767 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2784 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2785 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2790 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2791 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2796 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2797 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2802 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2803 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2808 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2809 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2814 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2815 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2820 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2821 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2826 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2827 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2832 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2833 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2838 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2839 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2845 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2851 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2856 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2857 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2862 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2863 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2868 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2869 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2874 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2894 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2899 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2900 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2907 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2911 part/models.py:2994 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2135 templates/js/translated/part.js:978 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2588 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2912 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2920 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2928 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2933 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2934 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2939 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2940 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3001 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3002 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3007 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3008 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3016 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3152 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3169 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3189 templates/js/translated/part.js:2523 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3190 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3195 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3196 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3201 templates/js/translated/part.js:2532 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3202 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3207 templates/js/translated/part.js:2540 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3208 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3213 templates/js/translated/part.js:2547 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3214 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3255 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3263 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3267 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3272 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3305 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3307 part/models.py:3355 part/models.py:3356 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3309 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3309 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3360 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3361 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3398 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3402 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3410 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3413 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3414 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3494 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3502 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3503 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3509 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3513 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3514 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3519 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3520 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3524 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3525 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3528 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3531 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3533 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3533 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3537 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 +msgid "Validated" +msgstr "" + +#: part/models.py:3615 +msgid "This BOM item has been validated" +msgstr "" + +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3538 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3543 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3544 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3630 stock/models.py:570 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3639 part/models.py:3641 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3757 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3778 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3799 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3814 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3818 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3818 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3836 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3840 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:301 +#: part/serializers.py:307 msgid "Original Part" msgstr "" -#: part/serializers.py:301 +#: part/serializers.py:307 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:306 +#: part/serializers.py:312 msgid "Copy Image" msgstr "" -#: part/serializers.py:306 +#: part/serializers.py:312 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:311 part/templates/part/detail.html:296 +#: part/serializers.py:317 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:311 +#: part/serializers.py:317 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:316 +#: part/serializers.py:322 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:316 +#: part/serializers.py:322 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:326 +#: part/serializers.py:332 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:326 +#: part/serializers.py:332 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:332 +#: part/serializers.py:338 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:332 +#: part/serializers.py:338 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:342 +#: part/serializers.py:348 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:353 +#: part/serializers.py:359 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:365 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:366 +#: part/serializers.py:372 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:374 +#: part/serializers.py:380 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:392 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:400 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:604 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:386 +#: part/serializers.py:621 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:621 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:609 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" -#: part/serializers.py:609 +#: part/serializers.py:626 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:614 +#: part/serializers.py:631 msgid "Supplier Information" msgstr "" -#: part/serializers.py:614 +#: part/serializers.py:631 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:637 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:621 +#: part/serializers.py:638 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:843 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:849 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:855 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:860 msgid "Generate Report" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:861 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:866 msgid "Update Parts" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:867 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:858 +#: part/serializers.py:875 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:964 msgid "Update" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:965 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1247 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1240 +#: part/serializers.py:1255 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1256 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1261 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1262 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1252 +#: part/serializers.py:1267 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1268 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1258 +#: part/serializers.py:1273 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1274 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1299 +#: part/serializers.py:1314 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1300 +#: part/serializers.py:1315 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1345 msgid "No part column specified" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1388 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1391 msgid "No matching part found" msgstr "" -#: part/serializers.py:1379 +#: part/serializers.py:1394 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1403 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1411 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1417 +#: part/serializers.py:1432 msgid "At least one BOM item is required" msgstr "" @@ -5759,9 +6100,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2416 -#: templates/js/translated/part.js:959 templates/js/translated/part.js:1462 -#: templates/js/translated/part.js:1514 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5844,7 +6185,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5874,23 +6215,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5927,7 +6264,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5936,9 +6273,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6036,15 +6373,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6079,13 +6416,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1087 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6175,15 +6512,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 -#: templates/js/translated/part.js:707 templates/js/translated/part.js:1132 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:686 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6202,56 +6539,56 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:293 +#: part/templates/part/part_base.html:294 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1175 templates/js/translated/part.js:1979 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:360 +#: part/templates/part/part_base.html:361 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:364 +#: part/templates/part/part_base.html:365 #: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:452 +#: part/templates/part/part_base.html:453 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:469 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:515 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:584 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6262,14 +6599,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: 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:965 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6312,9 +6641,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1154 templates/js/translated/part.js:1755 -#: templates/js/translated/part.js:1909 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6343,11 +6672,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:123 +#: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6410,8 +6739,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:613 -#: templates/js/translated/part.js:1750 templates/js/translated/part.js:1752 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6465,11 +6794,11 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:213 +#: part/templatetags/inventree_extras.py:187 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:265 +#: part/templatetags/inventree_extras.py:239 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -6724,100 +7053,104 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:180 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:216 report/api.py:252 +#: report/api.py:208 report/api.py:244 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:355 +#: report/api.py:311 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6829,63 +7162,98 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1701 +msgid "Unit Price" +msgstr "" + +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 +msgid "Extra Line Items" +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:1855 +#: templates/js/translated/sales_order.js:1676 +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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:250 +#: templates/js/translated/sales_order.js:1470 +#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:718 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3701 -#: templates/js/translated/order.js:3788 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2177 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2183 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2183 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2189 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2837 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" -#: stock/admin.py:39 stock/admin.py:107 -#: templates/js/translated/model_renderers.js:172 +#: stock/admin.py:39 stock/admin.py:108 msgid "Location ID" msgstr "" -#: stock/admin.py:40 stock/admin.py:108 +#: stock/admin.py:40 stock/admin.py:109 msgid "Location Name" msgstr "" @@ -6898,79 +7266,91 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:109 templates/js/translated/model_renderers.js:442 -msgid "Supplier Part ID" +#: stock/admin.py:107 +msgid "Status Code" msgstr "" #: stock/admin.py:110 -msgid "Supplier ID" +msgid "Supplier Part ID" msgstr "" #: stock/admin.py:111 -msgid "Supplier Name" +msgid "Supplier ID" msgstr "" #: stock/admin.py:112 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:113 msgid "Customer ID" msgstr "" -#: stock/admin.py:113 stock/models.py:701 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:114 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" -#: stock/admin.py:116 +#: stock/admin.py:117 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:117 +#: stock/admin.py:118 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:125 stock/models.py:774 +#: stock/admin.py:125 +msgid "Review Needed" +msgstr "" + +#: stock/admin.py:126 +msgid "Delete on Deplete" +msgstr "" + +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:426 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:587 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:594 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:619 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:685 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:815 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:816 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -6978,8 +7358,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2553 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -6991,218 +7371,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:576 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:593 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:603 stock/models.py:612 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:604 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:626 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:632 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:646 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:660 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:670 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:678 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:695 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:704 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:720 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:734 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:739 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:746 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:748 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:759 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:762 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:768 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:775 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:790 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:790 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:803 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:811 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:839 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1335 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1341 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1341 +#: stock/models.py:1347 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1344 +#: stock/models.py:1350 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1353 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1360 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1430 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1433 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1430 +#: stock/models.py:1436 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1439 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1442 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1439 +#: stock/models.py:1445 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1446 stock/serializers.py:944 +#: stock/models.py:1452 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1450 +#: stock/models.py:1456 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1454 +#: stock/models.py:1460 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1464 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1627 +#: stock/models.py:1633 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2095 +#: stock/models.py:2101 msgid "Entry notes" msgstr "" -#: stock/models.py:2153 +#: stock/models.py:2159 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2159 +#: stock/models.py:2165 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2184 msgid "Test name" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2190 msgid "Test result" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2196 msgid "Test output value" msgstr "" -#: stock/models.py:2197 +#: stock/models.py:2203 msgid "Test result attachment" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2209 msgid "Test notes" msgstr "" @@ -7210,128 +7590,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:229 +#: stock/serializers.py:231 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:282 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:294 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:300 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 +#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:318 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:328 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:347 +#: stock/serializers.py:349 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:387 +#: stock/serializers.py:389 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:400 +#: stock/serializers.py:402 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:407 +#: stock/serializers.py:409 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:444 +#: stock/serializers.py:446 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:451 stock/serializers.py:532 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:483 +#: stock/serializers.py:485 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:494 +#: stock/serializers.py:496 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:525 +#: stock/serializers.py:527 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:756 +#: stock/serializers.py:758 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:762 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:766 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:797 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:801 +#: stock/serializers.py:803 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:809 +#: stock/serializers.py:811 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:819 stock/serializers.py:1050 +#: stock/serializers.py:821 stock/serializers.py:1052 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:908 +#: stock/serializers.py:910 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:913 +#: stock/serializers.py:915 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:916 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:921 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:920 +#: stock/serializers.py:922 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:932 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1012 +#: stock/serializers.py:1014 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1042 msgid "Stock transaction notes" msgstr "" @@ -7356,7 +7736,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:302 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7368,15 +7748,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2986 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:290 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7398,15 +7778,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7415,11 +7795,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7521,7 +7901,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7535,7 +7915,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7545,7 +7925,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7553,35 +7933,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7655,15 +8035,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7699,7 +8079,8 @@ msgstr "" msgid "You have been logged out from InvenTree." msgstr "" -#: templates/403_csrf.html:19 templates/navbar.html:142 +#: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7808,6 +8189,12 @@ msgstr "" msgid "Notification History" msgstr "" +#: templates/InvenTree/notifications/history.html:13 +#: templates/InvenTree/notifications/history.html:14 +#: templates/InvenTree/notifications/notifications.html:77 +msgid "Delete Notifications" +msgstr "" + #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" msgstr "" @@ -7836,7 +8223,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7875,7 +8262,6 @@ msgid "Label Settings" msgstr "" #: templates/InvenTree/settings/login.html:9 -#: templates/InvenTree/settings/sidebar.html:29 msgid "Login Settings" msgstr "" @@ -7893,7 +8279,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -7911,7 +8297,8 @@ msgid "Open in new tab" msgstr "" #: templates/InvenTree/settings/notifications.html:9 -msgid "Global Notification Settings" +#: templates/InvenTree/settings/user_notifications.html:9 +msgid "Notification Settings" msgstr "" #: templates/InvenTree/settings/notifications.html:18 @@ -7922,15 +8309,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:41 +#: templates/InvenTree/settings/part.html:42 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:45 +#: templates/InvenTree/settings/part.html:46 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:60 msgid "Part Parameter Templates" msgstr "" @@ -7943,7 +8330,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -7952,7 +8339,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8074,20 +8461,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8096,6 +8483,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8160,15 +8551,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8178,13 +8569,11 @@ msgid "User Settings" msgstr "" #: templates/InvenTree/settings/sidebar.html:9 -#: templates/InvenTree/settings/user.html:12 -msgid "Account Settings" +msgid "Account" msgstr "" #: templates/InvenTree/settings/sidebar.html:11 -#: templates/InvenTree/settings/user_display.html:9 -msgid "Display Settings" +msgid "Display" msgstr "" #: templates/InvenTree/settings/sidebar.html:13 @@ -8192,8 +8581,10 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/InvenTree/settings/user_search.html:9 -msgid "Search Settings" +#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/search.html:8 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" msgstr "" #: templates/InvenTree/settings/sidebar.html:19 @@ -8205,12 +8596,12 @@ msgstr "" msgid "Global Settings" msgstr "" -#: templates/InvenTree/settings/sidebar.html:27 -msgid "Server Configuration" +#: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 +msgid "Server" msgstr "" #: templates/InvenTree/settings/sidebar.html:37 -msgid "Label Printing" +msgid "Labels" msgstr "" #: templates/InvenTree/settings/sidebar.html:41 @@ -8225,6 +8616,10 @@ msgstr "" msgid "Stock Settings" msgstr "" +#: templates/InvenTree/settings/user.html:12 +msgid "Account Settings" +msgstr "" + #: templates/InvenTree/settings/user.html:18 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 @@ -8232,7 +8627,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8383,6 +8778,10 @@ msgstr "" msgid "Do you really want to remove the selected email address?" msgstr "" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" msgstr "" @@ -8448,8 +8847,8 @@ msgstr "" msgid "Home Page Settings" msgstr "" -#: templates/InvenTree/settings/user_notifications.html:9 -msgid "Notification Settings" +#: templates/InvenTree/settings/user_search.html:9 +msgid "Search Settings" msgstr "" #: templates/about.html:9 @@ -8518,7 +8917,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "" @@ -8686,11 +9085,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8698,19 +9097,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8720,6 +9119,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8741,7 +9141,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8755,75 +9155,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2846 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8839,126 +9239,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -8977,7 +9377,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1309 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9082,74 +9482,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4027 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1771 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:1947 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9157,15 +9557,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9209,13 +9609,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9251,504 +9651,539 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3736 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1505 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3737 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1506 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4034 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1778 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4032 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1776 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4126 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1870 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4119 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1863 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3263 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1042 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3264 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1043 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3212 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:991 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3278 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1057 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3375 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1154 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3452 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1231 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1843 -#: templates/js/translated/part.js:2388 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2767 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:937 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:691 -#: templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:1128 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1247 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1289 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1290 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1307 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1319 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1367 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/company.js:1377 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9808,28 +10243,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:405 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -9858,742 +10271,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1083 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1134 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1159 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1168 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1186 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1219 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1363 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1382 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1559 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1601 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1612 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2238 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1769 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1772 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1795 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1360 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2906 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2971 -#: templates/js/translated/order.js:3113 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2261 templates/js/translated/order.js:4178 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2278 templates/js/translated/order.js:4193 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2291 templates/js/translated/order.js:4204 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2334 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2361 templates/js/translated/order.js:3932 -msgid "Total" -msgstr "" - -#: templates/js/translated/order.js:2447 templates/js/translated/order.js:2632 -#: templates/js/translated/order.js:3957 templates/js/translated/order.js:4440 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 -msgid "Unit Price" -msgstr "" - -#: templates/js/translated/order.js:2457 templates/js/translated/order.js:2642 -#: templates/js/translated/order.js:3967 templates/js/translated/order.js:4450 -msgid "Total Price" -msgstr "" - -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:3995 -#: templates/js/translated/part.js:1498 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2544 templates/js/translated/part.js:1543 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:4132 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2549 templates/js/translated/order.js:4133 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2550 templates/js/translated/order.js:4137 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2677 templates/js/translated/order.js:4484 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2678 templates/js/translated/order.js:4485 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2679 templates/js/translated/order.js:4486 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2709 templates/js/translated/order.js:4515 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2724 templates/js/translated/order.js:4530 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2735 templates/js/translated/order.js:4541 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2746 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2857 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2920 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3018 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3021 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3026 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3046 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3063 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3098 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3108 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3132 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3138 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3142 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3311 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3362 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3363 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3571 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3650 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3667 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3668 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3802 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3721 templates/js/translated/order.js:3811 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4116 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4122 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4129 templates/js/translated/order.js:4320 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4141 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4144 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4219 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4328 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4342 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4552 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:285 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:298 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:303 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:316 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:321 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:345 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:376 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:378 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:446 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:447 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:465 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:534 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:544 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:572 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:600 templates/js/translated/part.js:1929 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:668 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:683 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:687 templates/js/translated/part.js:1120 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:703 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:778 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:778 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:786 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:790 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:943 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1001 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1005 templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1192 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1613 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1739 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1637 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1704 templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1896 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1927 -msgid "No stock" -msgstr "" - -#: templates/js/translated/part.js:1951 -msgid "Allocated to build orders" -msgstr "" - -#: templates/js/translated/part.js:1955 -msgid "Allocated to sales orders" -msgstr "" - -#: templates/js/translated/part.js:2064 templates/js/translated/part.js:2307 -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2080 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2151 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2156 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2169 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2327 templates/js/translated/stock.js:2461 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2423 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2509 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2560 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2561 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2567 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2583 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2597 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2678 templates/js/translated/part.js:2679 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2681 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2687 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2737 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2743 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2839 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2855 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2900 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10601,843 +10636,1247 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:431 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:445 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:686 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:751 +#: templates/js/translated/sales_order.js:893 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1920 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1933 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1944 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1876 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1877 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1881 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:52 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:700 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2080 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:102 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:117 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:226 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:231 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:271 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:291 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:347 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:351 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:383 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:444 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:468 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:473 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:527 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:637 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:805 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:808 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:813 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:830 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:845 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:878 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:888 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:912 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:918 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:922 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1090 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1141 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1142 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1346 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1425 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1439 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1440 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1482 +#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1578 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1860 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1866 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:2058 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1885 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1888 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1959 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2066 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:320 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:370 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:370 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2052 +msgid "Stock Value" +msgstr "" + +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2253 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2267 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2268 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2500 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2629 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2707 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2738 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2814 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2865 templates/js/translated/stock.js:2901 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2941 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2943 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2944 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2945 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:72 -msgid "Validated" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:538 templates/navbar.html:102 -#: templates/search.html:8 templates/search_form.html:6 -#: templates/search_form.html:7 -msgid "Search" -msgstr "" - -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11449,19 +11888,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11473,10 +11912,6 @@ msgstr "" msgid "Show all notifications and history" msgstr "" -#: templates/price_data.html:7 -msgid "No data" -msgstr "" - #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -11497,18 +11932,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" @@ -11556,10 +11983,6 @@ msgid "" "%(site_name)s.
    As a final step, please complete the following form:" msgstr "" -#: templates/stats.html:9 -msgid "Server" -msgstr "" - #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -11624,55 +12047,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11692,50 +12111,50 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 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 e29675e95c..cad69fb5cb 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:29\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:39\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "تاریخ را وارد کنید" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "یادداشت" @@ -134,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "" @@ -206,8 +209,8 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "" @@ -216,24 +219,24 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "" @@ -242,13 +245,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "" @@ -343,7 +350,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "" @@ -355,7 +362,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -375,12 +382,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -568,157 +575,191 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" @@ -751,28 +792,28 @@ msgstr "" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "مرجع سفارش فروش" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "منبع محل" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "مقصد" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3165,6 +3283,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 1c09a57f5d..85d1af224f 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Entrer la date" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Notes" @@ -134,7 +137,7 @@ msgstr "Le serveur distant a renvoyé une réponse vide" msgid "Supplied URL is not a valid image file" msgstr "L'URL fournie n'est pas un fichier image valide" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -206,8 +209,8 @@ msgstr "Fichier manquant" msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Pièce jointe" @@ -216,24 +219,24 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Lien" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Lien vers une url externe" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Commentaire" @@ -242,13 +245,13 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Utilisateur" @@ -289,48 +292,52 @@ msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Description" @@ -343,7 +350,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Chemin d'accès" @@ -355,7 +362,7 @@ msgstr "Données du code-barres" msgid "Third party barcode data" msgstr "Données de code-barres tierces" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Hash du code-barre" @@ -375,12 +382,12 @@ msgstr "Erreur serveur" msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Doit être un nombre valide" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Devise" @@ -568,157 +575,191 @@ msgstr "Backend d'email non configuré" msgid "InvenTree system health checks failed" msgstr "Échec des contrôles de santé du système" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "En attente" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Placé" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Terminé" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Annulé" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Perdu" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Retourné" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Expédié" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Attention requise" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Endommagé" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Détruit" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Rejeté" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "En quarantaine" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Ancienne entrée de suivi de stock" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Article en stock créé" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Article de stock modifié" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Numéro de série attribué" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Stock comptabilisé" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Stock ajouté manuellement" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Stock supprimé manuellement" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Emplacement modifié" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Installé dans l'assemblage" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Retiré de l'assemblage" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Composant installé" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Composant retiré" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Séparer de l'élément parent" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Articles de stock fusionnés" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Converti en variante" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Envoyé au client" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Retourné par le client" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "La sortie de l'ordre de construction a été créée" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Sortie de l'ordre de construction terminée" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Consommé par ordre de construction" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Reçu contre bon de commande" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Fabrication" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Code de devise invalide" @@ -751,28 +792,28 @@ msgstr "Les mots de passe doivent correspondre" msgid "Wrong password provided" msgstr "Mot de passe incorrect" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Informations système" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "À propos d'InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Ordre de Fabrication" msgid "Build Orders" msgstr "Ordres de Fabrication" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Référence" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Brève description de la fabrication" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Fabrication parente" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "BuildOrder associé a cette fabrication" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Pièce" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Bon de commande de référence" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Emplacement d'origine" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Sélectionner l'emplacement à partir duquel le stock doit être pris pour cette construction (laisser vide pour prendre à partir de n'importe quel emplacement de stock)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Emplacement cible" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Sélectionnez l'emplacement où les éléments complétés seront stockés" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Quantité a fabriquer" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Nombre de stock items à construire" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Articles terminés" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Nombre d'articles de stock qui ont été terminés" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "État de la construction" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Date d'achèvement cible" -#: build/models.py:259 +#: build/models.py:260 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:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Date d'achèvement" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "achevé par" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Émis par" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Responsable" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "Utilisateur ou groupe responsable de cet ordre de construction" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Notes de construction supplémentaires" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "Priorité de fabrication" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "La commande de construction {build} a été effectuée" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:1189 +#: build/models.py:1190 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:1198 +#: build/models.py:1199 #, 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:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "L'article du stock sélectionné n'a pas été trouvé dans la BOM" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Assemblage" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "Construction à laquelle allouer des pièces" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Quantité" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Stock de destination de l'article" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Sortie d'assemblage" @@ -1139,9 +1205,9 @@ msgstr "Cet ordre de production n'est pas complètement attribué" msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1154,9 +1220,9 @@ msgstr "Quantité entière requise pour les pièces à suivre" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Numéros de série" @@ -1172,7 +1238,7 @@ msgstr "Allouer automatiquement les numéros de série" msgid "Automatically allocate required items with matching serial numbers" msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" @@ -1180,18 +1246,21 @@ msgstr "Les numéros de série suivants existent déjà, ou sont invalides" msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Emplacement" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "État" @@ -1266,7 +1338,7 @@ msgstr "Accepter les articles de stock qui n'ont pas été complètement alloué msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" @@ -1282,8 +1354,8 @@ msgstr "La quantité nécessaire n'a pas encore été complétée" msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "Article du BOM" @@ -1303,7 +1375,7 @@ msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de constructi msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" @@ -1320,7 +1392,7 @@ msgstr "La sortie de la construction ne peut pas être spécifiée pour l'alloca msgid "This stock item has already been allocated to this build output" msgstr "Cet article de stock a déjà été alloué à cette sortie de construction" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" @@ -1375,6 +1447,7 @@ msgstr "L'ordre de commande {bo} est maintenant en retard" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Actions d'impression" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Date Cible" @@ -1460,31 +1538,35 @@ msgstr "Cette construction était due le %(target)s" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "En retard" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Terminé" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Commandes" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "Émis par" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Priorité" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "Supprimer l'ordre de construction" @@ -1515,8 +1597,9 @@ 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:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "Destination" @@ -1530,19 +1613,20 @@ msgstr "Pièces allouées" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "Lot" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Créé le" @@ -1562,7 +1646,7 @@ msgstr "Commandes de constructions filles" msgid "Allocate Stock to Build" msgstr "Allouer le stock à la construction" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "Désallouer le stock" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "Commander les pièces requises" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Commander des pièces" @@ -1645,27 +1730,19 @@ msgstr "Supprimer les sorties de construction sélectionnées" msgid "Delete outputs" msgstr "Supprimer les sorties" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "Actions d'impression" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "Imprimer les étiquettes" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "Sorties de Construction terminées" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "Sorties de Construction terminées" msgid "Attachments" msgstr "Pieces jointes" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "Notes de construction" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "Allocation terminée" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "Tous les articles de stock non suivis ont été alloués" @@ -1689,10 +1766,6 @@ msgstr "Tous les articles de stock non suivis ont été alloués" msgid "New Build Order" msgstr "Nouvel ordre de construction" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "Imprimer les commandes de construction" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "Détails de la commande de construction" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "jours" @@ -2025,9 +2098,9 @@ msgstr "Copier les templates de paramètres de catégorie" msgid "Copy category parameter templates when creating a part" msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "Modèle" @@ -2035,10 +2108,10 @@ msgstr "Modèle" msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "Assemblage" @@ -2046,8 +2119,8 @@ msgstr "Assemblage" msgid "Parts can be assembled from other components by default" msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "Composant" @@ -2055,7 +2128,7 @@ msgstr "Composant" msgid "Parts can be used as sub-components by default" msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "Achetable" @@ -2063,8 +2136,8 @@ msgstr "Achetable" msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "Vendable" @@ -2072,10 +2145,10 @@ msgstr "Vendable" msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "Traçable" @@ -2083,10 +2156,10 @@ msgstr "Traçable" msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "Virtuelle" @@ -2118,7 +2191,7 @@ msgstr "Stock initial" 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:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" @@ -2375,698 +2448,739 @@ 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:1445 +msgid "Enable Return Orders" +msgstr "" + +#: common/models.py:1446 +msgid "Enable return order functionality in the user interface" +msgstr "" + +#: common/models.py:1452 +msgid "Return Order Reference Pattern" +msgstr "" + +#: common/models.py:1453 +msgid "Required pattern for generating Return Order reference field" +msgstr "" + +#: common/models.py:1459 +msgid "Edit Completed Return Orders" +msgstr "" + +#: common/models.py:1460 +msgid "Allow editing of return orders after they have been completed" +msgstr "" + +#: common/models.py:1466 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1446 +#: common/models.py:1467 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:1452 +#: common/models.py:1473 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1453 +#: common/models.py:1474 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:1459 +#: common/models.py:1480 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1460 +#: common/models.py:1481 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:1466 +#: common/models.py:1487 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1467 +#: common/models.py:1488 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:1473 +#: common/models.py:1494 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1474 +#: common/models.py:1495 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:1481 +#: common/models.py:1502 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1482 +#: common/models.py:1503 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:1488 +#: common/models.py:1509 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1489 +#: common/models.py:1510 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:1495 +#: common/models.py:1516 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1496 +#: common/models.py:1517 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1502 +#: common/models.py:1523 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1503 +#: common/models.py:1524 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:1509 +#: common/models.py:1530 msgid "Email required" msgstr "Email requis" -#: common/models.py:1510 +#: common/models.py:1531 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1516 +#: common/models.py:1537 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1517 +#: common/models.py:1538 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:1523 +#: common/models.py:1544 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1524 +#: common/models.py:1545 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1530 +#: common/models.py:1551 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1531 +#: common/models.py:1552 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:1537 +#: common/models.py:1558 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:1538 +#: common/models.py:1559 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Restreindre l'inscription à certains domaines (séparés par des virgules, commence par @)" -#: common/models.py:1544 +#: common/models.py:1565 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:1545 +#: common/models.py:1566 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:1551 +#: common/models.py:1572 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:1552 +#: common/models.py:1573 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:1558 +#: common/models.py:1579 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:1559 +#: common/models.py:1580 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:1566 +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "Vérifier les signatures du plugin" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "Vérifier et afficher les signatures des plugins" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "Fonctionnalité d'inventaire" -#: common/models.py:1615 +#: common/models.py:1636 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:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "Période de l'inventaire automatique" -#: common/models.py:1622 +#: common/models.py:1643 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:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 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:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "Pas d'imprimante (Exporter vers PDF)" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:1697 +#: common/models.py:1718 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:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "Nombre de composants récents" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "Nombre de pièces récentes à afficher sur la page d'index" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "Afficher les listes de matériaux non validées" -#: common/models.py:1718 +#: common/models.py:1739 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:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1725 +#: common/models.py:1746 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:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "Compte de stock récent" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "Nombre d'éléments de stock récents à afficher sur la page d'index" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:1753 +#: common/models.py:1774 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:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:1760 +#: common/models.py:1781 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:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:1767 +#: common/models.py:1788 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:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:1823 +#: common/models.py:1844 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:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:1830 +#: common/models.py:1851 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:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:1837 +#: common/models.py:1858 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:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:1844 +#: common/models.py:1865 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:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 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:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:1858 +#: common/models.py:1879 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:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:1865 +#: common/models.py:1886 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:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:1872 +#: common/models.py:1893 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:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:1879 +#: common/models.py:1900 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:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:1886 +#: common/models.py:1907 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:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:1893 +#: common/models.py:1914 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:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:1907 +#: common/models.py:1928 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:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:1914 +#: common/models.py:1935 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:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:1921 +#: common/models.py:1942 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:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:1928 +#: common/models.py:1949 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:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:1935 +#: common/models.py:1956 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:1941 +#: common/models.py:1962 +msgid "Search Return Orders" +msgstr "" + +#: common/models.py:1963 +msgid "Display return orders in search preview window" +msgstr "" + +#: common/models.py:1969 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:1970 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:1976 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:1942 +#: common/models.py:1977 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:1948 +#: common/models.py:1983 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:1949 +#: common/models.py:1984 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:1955 +#: common/models.py:1990 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:1956 +#: common/models.py:1991 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:1962 +#: common/models.py:1997 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:1963 +#: common/models.py:1998 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:1969 +#: common/models.py:2004 msgid "Date Format" msgstr "Format de date" -#: common/models.py:1970 +#: common/models.py:2005 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:1984 part/templates/part/detail.html:41 +#: common/models.py:2019 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:1985 +#: common/models.py:2020 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:1991 part/templates/part/detail.html:62 +#: common/models.py:2026 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:1992 +#: common/models.py:2027 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1998 +#: common/models.py:2033 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:1999 +#: common/models.py:2034 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:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "Prix" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "Actif" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "Jeton" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "ID message" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "Hôte" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "Entête" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "Corps" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "Id" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "Titre" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "Publié" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Auteur" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "Résumé" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "Lu" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" @@ -3079,7 +3193,7 @@ msgstr "Nouveau {verbose_name}" 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:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "Articles reçus" @@ -3087,19 +3201,23 @@ msgstr "Articles reçus" msgid "Items have been received against a purchase order" msgstr "Des articles d'un bon de commande ont été reçus" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "Erreur déclenchée par le plugin" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Téléverser un fichier" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "Description de la société" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "Site web" @@ -3165,6 +3283,7 @@ msgstr "Numéro de téléphone de contact" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "E-mail" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "Adresse e-mail de contact" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "Contact" @@ -3184,11 +3306,11 @@ msgstr "Point de contact" msgid "Link to external company information" msgstr "Lien externe vers les informations de l'entreprise" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Image" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "Notes de l'entreprise" @@ -3222,209 +3344,215 @@ msgstr "Devise par défaut utilisée pour cette entreprise" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "Société" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Fabricant" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "Pièces du fabricant" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "Nom du paramètre" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "Valeur" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "Valeur du paramètre" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "Unités" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "Unités du paramètre" -#: company/models.py:475 +#: company/models.py:480 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:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "SKU" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "Sélectionner un fabricant" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "Lien de la pièce du fournisseur externe" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "Note" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "coût de base" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "Conditionnement" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "Conditionnement de l'article" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "Nombre de paquet" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "Nombre d'unités fournies dans un seul paquet" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "plusieurs" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "Commande multiple" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "Disponible" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "Quantité disponible auprès du fournisseur" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "Disponibilité mise à jour" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "Date de dernière mise à jour des données de disponibilité" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "Devise par défaut utilisée pour ce fournisseur" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "Créer une commande d'achat" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "Éditer les informations sur la société" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "Editer la société" @@ -3474,14 +3602,17 @@ 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:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Client" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "Téléphone" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "Supprimer l'image" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "Supprimer l'image associée de cette entreprise" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Supprimer" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "Charger une image" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "Télécharger une image" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Pièce fournisseur" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "Créer une nouvelle pièce fournisseur" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Nouvelle pièce fournisseur" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "Commander des composants" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "Supprimer la pièce" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "Supprimer les pièces" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Pièces du fabricant" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "Créer une nouvelle pièce de fabricant" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nouvelle pièce de fabricant" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "Stock fournisseur" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "Stock fournisseur" msgid "Purchase Orders" msgstr "Commandes d'achat" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Créer une commande d'achat" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Nouvelle commande achat" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Ventes" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Créer un nouvel ordre de vente" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Nouvelle commande de vente" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "Stock affecté" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Liste des Fournisseurs" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "Article de la commande" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "Modifier la pièce du fabricant" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "Supprimer la pièce de fabricant" @@ -3669,9 +3830,9 @@ msgstr "Supprimer les pièces du fournisseur" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "Supprimer" @@ -3693,7 +3854,7 @@ msgstr "Nouveau paramètre" msgid "Delete parameters" msgstr "Supprimer les paramètres" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Ajouter un paramètre" @@ -3710,15 +3871,20 @@ msgstr "Pièce fournisseur" msgid "Supplied Stock Items" msgstr "Articles en stock fournis" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "Articles en stock assignés" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Pièce fournisseur" @@ -3739,8 +3905,8 @@ msgstr "Afficher le QR Code" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "Délier le code-barre" @@ -3769,13 +3935,13 @@ msgstr "Disponibilité de la mise à jour" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "Modifier la pièce du fournisseur" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "Dupliquer la pièce du fournisseur" @@ -3809,7 +3975,7 @@ msgstr "Créer un nouvel article de stock" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Nouvel article de stock" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "Information sur les prix" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Ajouter un prix de rupture" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "Mettre à jour la disponibilité des pièces" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Éléments en stock" @@ -3897,7 +4063,7 @@ msgstr "Étiquette" msgid "Label template file" msgstr "Fichier de modèle d'étiquette" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "Activé" @@ -3921,7 +4087,7 @@ msgstr "Hauteur [mm]" msgid "Label height, specified in mm" msgstr "Hauteur de l'étiquette, spécifiée en mm" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "Modèle de nom de fichier" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules)," #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "Filtres" @@ -3946,457 +4113,534 @@ msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virg msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Filtres de requêtes de pièces (valeurs de paires clé=valeur séparées par des virgules)" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "Inconnu" -#: order/models.py:86 -msgid "Order description" -msgstr "Description de la commande" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "Lien vers une page externe" - -#: order/models.py:96 -msgid "Created By" -msgstr "Créé par" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "Utilisateur ou groupe responsable de cette commande" - -#: order/models.py:108 -msgid "Order notes" -msgstr "Notes de commande" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" -msgstr "Référence de la commande" +#: order/models.py:177 +msgid "Contact does not match selected company" +msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" -msgstr "Statut de la commande d'achat" +#: order/models.py:199 +msgid "Order description" +msgstr "Description de la commande" -#: order/models.py:283 -msgid "Company from which the items are being ordered" -msgstr "Société de laquelle les articles sont commandés" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" +msgstr "Lien vers une page externe" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "Référence du fournisseur" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "Code de référence de la commande fournisseur" - -#: order/models.py:293 -msgid "received by" -msgstr "reçu par" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "Date d'émission" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "Date d'émission de la commande" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "Date de livraison cible" - -#: order/models.py:305 +#: order/models.py:206 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:311 +#: order/models.py:215 +msgid "Created By" +msgstr "Créé par" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "Utilisateur ou groupe responsable de cette commande" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "Notes de commande" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "Référence de la commande" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "Statut de la commande d'achat" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "Société de laquelle les articles sont commandés" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "Référence du fournisseur" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "Code de référence de la commande fournisseur" + +#: order/models.py:365 +msgid "received by" +msgstr "reçu par" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "Date d'émission" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "Date d'émission de la commande" + +#: order/models.py:377 order/models.py:1699 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:350 +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "expédié par" -#: order/models.py:770 +#: order/models.py:814 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:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "Seule une commande en attente peut être marquée comme terminée" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 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:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "Contexte" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "supprimé" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "Commande" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Reçu" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1180 +#: order/models.py:1236 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:1185 +#: order/models.py:1241 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:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "Notes d'expédition" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "Ligne" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "Article" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 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:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "Champ d'identifiant unique" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:513 +#: order/serializers.py:544 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:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 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:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "Modifier la commande" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "Annuler la commande" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "Recevoir objet" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "Réception d'articles" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "Marquer la commande comme complète" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "Finaliser la commande" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "Référence de commande" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "Description de la commande" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "Statut de la commande" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "Incomplet" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "Dupliquer la sélection" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Supprimer la ligne" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "Articles de la commande d'achat" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "Notes de commande" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "Expéditions en attente" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "Prix introuvable" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Révision" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "En Commande" @@ -4806,22 +5093,22 @@ msgstr "En Commande" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Composantes" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "L'IPN doit correspondre au modèle de regex {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "Description du composant" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "Catégorie" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Date" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "Requis" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "Données" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "Validée" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "Supprimer la catégorie" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "Nouvelle catégorie" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "Actualiser" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "Prise d'inventaire" @@ -6093,15 +6377,15 @@ msgstr "Fabricants de composants" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "Sélectionner un format de fichier" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "Calculer" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "Stock" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "Nom du modèle" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "Filtres de composants" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "Extrait " -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "Elément" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "Requis pour" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "Numéro de série" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "Numéro de série" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "Résultat" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "Numéro de série" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "Sélectionner un propriétaire" @@ -7068,8 +7362,8 @@ msgstr "Sélectionner un propriétaire" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 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:605 +#: stock/models.py:603 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:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 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:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Les numéros de série existent déja : {exists}" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "Code QR de l'article en stock" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "Lier le code-barres à l'article de stock" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "Vous avez été déconnecté•e d'InvenTree." #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "Se connecter" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "Paramètres" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "Paramètres des Extensions" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "Extensions" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "Paramètres des Rapports" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "Aucune valeur définie" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "Changer le mot de passe" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "Modifier" @@ -8791,11 +9089,11 @@ msgstr "Entrer un token généré par l'application :" msgid "Verify" msgstr "Vérifier" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "Ajouter un lien" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "Ajouter une pièce jointe" @@ -8803,19 +9101,19 @@ msgstr "Ajouter une pièce jointe" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Redémarrage du serveur nécessaire" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "Une option de configuration a été modifiée, ce qui nécessite un redémarrage du serveur" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "Contactez votre administrateur système pour plus d'informations" @@ -8825,6 +9123,7 @@ msgstr "Contactez votre administrateur système pour plus d'informations" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Quantité requise" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Aucune réponse" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "Aucune réponse du serveur InvenTree" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "Erreur 400: Mauvaise requête" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "La requête de l'API a retourné le code d'erreur 400" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Erreur 401: non authentifié" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "Informations d’authentification non fournies" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Erreur 403: Permission refusée" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Vous n'avez pas les autorisations requises pour accéder à cette fonction" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Erreur 404: Ressource introuvable" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "La ressource demandée n'a pas pu être trouvée sur le serveur" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "Erreur 405: Méthode non autorisée" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "Méthode HTTP non autorisée à l'adresse URL" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Erreur 408: Délai dépassé" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "Délai de connexion dépassé lors de la demande de données depuis le serveur" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "Code d'erreur non géré" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "Code d’erreur" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "Modifier la pièce jointe" msgid "Upload Date" msgstr "Date d'upload" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "Modifier la pièce jointe" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "Supprimer la pièce jointe" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "Saisir les données du code-barres" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "Code-barres" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "Saisir les notes optionnelles pour le transfert de stock" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "Saisir des notes" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "Erreur serveur" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "Réponse inconnue du serveur" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Réponse du serveur invalide" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "Scanner le code-barres" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "Aucune URL dans la réponse" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "Délier" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "Supprimer l'article de stock" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "Article de stock déjà scanné" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "Article de stock déjà à cet emplacement" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "Article de stock ajouté" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "Vérifier dans l'emplacement" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "Le code-barres ne correspond pas à un emplacement valide" @@ -9082,7 +9381,7 @@ msgstr "Données de la rangée" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "Prochain numéro de série disponible" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "Dernier numéro de série" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "Commander des stocks" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "Pas d'informations sur l'utilisateur" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "Composantes fournies" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "Composantes fabriquées" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "Sélectionner imprimante" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "Référence de commande" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "Commandé" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "Commande en retard" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "Livré au client" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "Allouer des numéros de série" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "Acheter du stock" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "Calculer le prix" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "Allouer des numéros de série" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "Attributs de la pièce" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "Options de création de pièce" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "Options de duplication de pièces" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "Ajouter une catégorie de pièce" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "Composant créé avec succès" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "Modifier la pièce" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "Pièce modifiée" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "Créer une variante de pièce" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "Stock bas" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "Pièce traçable" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "Pièce virtuelle" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "Pièce vendable" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "Aucune variante trouvée" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "Aucune pièce trouvée" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "Aucune catégorie" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "Afficher sous forme de liste" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "Afficher sous forme de grille" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "Afficher sous forme d'arborescence" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "Modifier le résultat du test" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "Supprimer le résultat du test" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "Référence de commande" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "Commandé" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "Commande en retard" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "éléments sélectionnés" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "Sélectionner un template de reporting" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "Livré au client" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "Allouer des numéros de série" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "Acheter du stock" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "Calculer le prix" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "Allouer des numéros de série" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "Trouver un numéro de série" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "Entrer le numéro de série" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "Entrer un numéro de série" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "Aucun numéro de série correspondant" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "Plus d'un résultat correspondant trouvé" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "Confirmer l'assignation de stock" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "Assigner le stock au client" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "Attention : l'opération de fusion est irréversible" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "Certaines informations seront perdues lors de la fusion des articles en stock" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "L'historique des transactions de stock sera supprimé pour les éléments fusionnés" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "Les informations sur la pièce du fournisseur seront supprimées pour les éléments fusionnés" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "Confirmer la fusion de l'article en stock" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "Fusionner les articles en stock" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "Transférer le stock" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "Transférer" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "Compter le stock" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "Compter" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "Supprimer du stock" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "Supprimer" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "Ajouter du stock" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "Ajouter" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "Supprimer le stock" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "La quantité ne peut pas être ajustée pour un stock sérialisé" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "Spécifiez la quantité du stock" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "Vous devez sélectionner au moins un article en stock disponible" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "RÉUSSI" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "ÉCHEC" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "AUCUN RÉSULTAT" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "Ajouter un résultat de test" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "Aucun résultat de test trouvé" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "Date du test" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "En production" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "Article en stock installé dans un autre article en stock" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "Assigné à une commande de vente" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "Aucun emplacement de stock défini" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "L'article de stock est en production" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "L'article en stock a été assigné à une commande de vente" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "L'article en stock a été assigné à un client" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "L'article de stock sérialisé a été alloué" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "L'article de stock a été complètement alloué" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "L'article de stock a été partiellement alloué" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "L'article en stock a été installé dans un autre article" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "L'article en stock a expiré" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "L'article en stock va bientôt expirer" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "L'article de stock a été rejeté" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "L'article de stock est perdu" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "L'article de stock est détruit" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "Epuisé" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "Pièce de fournisseur non précisée" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "Aucun article de stock ne correspond à la requête" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "Définir l'état du stock" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "Sélectionner le code de statut" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "Le code de statut doit être sélectionné" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "Détails" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "L'emplacement n'existe plus" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "La commande d'achat n'existe plus" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "Le client n'existe plus" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "L'article de stock n'existe plus" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "Ajouté" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "Supprimé" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "Pièce traçable" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "Inclure les sous-emplacements" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "Inclure les emplacements" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "Inclure les sous-catégories" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "A un numéro de série" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "Numéro de série PGE" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "Numéro de série supérieur ou égal à" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "Numéro de série PPE" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "Numéro de série inférieur ou égal à" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "Numéro de série" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "Code de lot" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "Pièces actives" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "Afficher le stock pour les pièces actives" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "La pièce est un assemblage" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "Est alloué" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "L'élément a été alloué" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "Le stock est disponible pour utilisation" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "Afficher les articles de stock qui sont installés dans un autre article" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "Afficher les articles qui ont été assignés à un client" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "État du stock" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "A un prix d'achat" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "Afficher les articles de stock qui ont un prix d'achat défini" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "Afficher les articles de stock qui ont expiré" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "Afficher le stock qui est proche de l'expiration" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "État de la construction" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "Assigné à moi" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "État de la commande" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "En suspens" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "Assigné à moi" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "Pièce traçable" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "Inclure les sous-emplacements" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "Inclure les emplacements" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "Inclure les sous-catégories" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "A un numéro de série" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "Numéro de série PGE" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "Numéro de série supérieur ou égal à" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "Numéro de série PPE" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "Numéro de série inférieur ou égal à" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "Numéro de série" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "Code de lot" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "Pièces actives" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "Afficher le stock pour les pièces actives" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "La pièce est un assemblage" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "Est alloué" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "L'élément a été alloué" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "Le stock est disponible pour utilisation" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "Afficher les articles de stock qui sont installés dans un autre article" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "Afficher les articles qui ont été assignés à un client" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "État du stock" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "A un prix d'achat" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "Afficher les articles de stock qui ont un prix d'achat défini" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "Afficher les articles de stock qui ont expiré" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "Afficher le stock qui est proche de l'expiration" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "État de la construction" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "Inclure les pièces des sous-catégories" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "Afficher les pièces actives" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "A un IPN" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "La pièce a un numéro de pièce interne" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "Achetable" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "Affichage du calendrier" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "Affichage en liste" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "Chargement des données" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "résultats par page" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "Afficher toutes les lignes" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "Afficher" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "à" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "de" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "lignes" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "Aucun résultat correspondant n'a été trouvé" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "Masquer/Afficher la pagination" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "Colonnes" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "Tout" @@ -11521,19 +11904,19 @@ msgstr "Acheter" msgid "Sell" msgstr "Ventes" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "Se déconnecter" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "Imprimer un rapport de test" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "Fusionner les éléments de stock sélectionnés" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "Fusionner le stock" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "Commander les éléments sélectionnés" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "Changer l'état du stock" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "Changer l'état du stock" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "Supprimer les éléments sélectionnés" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "Utilisateurs" msgid "Select which users are assigned to this group" msgstr "Sélectionner quels utilisateurs sont assignés à ce groupe" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "Les utilisateurs suivants sont membres de plusieurs groupes:" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "Informations personnelles" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "Droits" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "Dates importantes" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "Droit défini" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "Groupe" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "Vue" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "Droit de voir des éléments" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "Droit d'ajouter des éléments" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "Modifier" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "Droit de modifier des élément" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 7da4cb2ed2..0f69f70a85 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "הזן תאריך סיום" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "" @@ -134,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "" @@ -206,8 +209,8 @@ msgstr "קובץ חסר" msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "קובץ מצורף" @@ -216,24 +219,24 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "קישור" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "קישור חיצוני" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "הערה" @@ -242,13 +245,13 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "משתמש" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "שם" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "תיאור" @@ -343,7 +350,7 @@ msgid "parent" msgstr "מקור" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "" @@ -355,7 +362,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -375,12 +382,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -568,157 +575,191 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "בהמתנה" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "מוקם" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "הושלם" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "מבוטל" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "אבד" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "הוחזר" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "נשלח" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "מצב טוב" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "דרושה תשומת לב" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "פגום" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "הרוס" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "נדחה" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "מיקום שונה" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "נשלח ללקוח" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "הוחזר מלקוח" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "ייצור" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "קוד מטבע לא מאושר" @@ -751,28 +792,28 @@ msgstr "הסיסמאות מוכרחות להיות תואמות" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "מידע אודות המערכת" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "מקט" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "תיאור קצר אודות הבנייה" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "רכיב" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "בחר רכיב לבנייה" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "כמות בניה" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "כמות" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "מספרים סידוריים" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3165,6 +3283,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 0ce963e109..c687e8b5c1 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Dátum megadása" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Megjegyzések" @@ -134,7 +137,7 @@ msgstr "A kiszolgáló üres választ adott" msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" @@ -206,8 +209,8 @@ msgstr "Hiányzó fájl" msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Melléklet" @@ -216,24 +219,24 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Link" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Link külső URL-re" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Megjegyzés" @@ -242,13 +245,13 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Felhasználó" @@ -289,48 +292,52 @@ msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Név" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Leírás" @@ -343,7 +350,7 @@ msgid "parent" msgstr "szülő" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Elérési út" @@ -355,7 +362,7 @@ msgstr "Vonalkód adat" msgid "Third party barcode data" msgstr "Harmadik féltől származó vonalkód adat" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Vonalkód hash" @@ -375,12 +382,12 @@ msgstr "Kiszolgálóhiba" msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Pénznem" @@ -568,157 +575,191 @@ msgstr "Email backend nincs beállítva" msgid "InvenTree system health checks failed" msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Függőben" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Kiküldve" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Kész" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Törölve" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Elveszett" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Visszaküldve" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Kiszállítva" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "Rendben" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Ellenőrizendő" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Sérült" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Megsemmisült" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Elutasított" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "Karanténban" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Örökölt készlet követési bejegyzés" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Készlet tétel létrehozva" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Szerkeszett készlet tétel" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Hozzárendelt sorozatszám" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Készlet leleltározva" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Készlet manuálisan hozzáadva" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Készlet manuálisan elvéve" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Hely megváltozott" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Gyártmányba beépült" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Gyártmányból eltávolítva" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Beépült összetevő tétel" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Eltávolított összetevő tétel" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Szülő tételből szétválasztva" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Szétválasztott gyermek tétel" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Összevont készlet tétel" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Alkatrészváltozattá alakítva" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Vevőnek kiszállítva" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Vevőtől visszaérkezett" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Gyártási utasítás kimenete elkészült" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Gyártási utasítás kimenete kész" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Gyártásra felhasználva" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Megrendelésre érkezett" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Folyamatban" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Érvénytelen pénznem kód" @@ -751,28 +792,28 @@ msgstr "A jelszavaknak egyeznie kell" msgid "Wrong password provided" msgstr "Rossz jelszó lett megadva" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Rendszerinformáció" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Verzió információk" -#: build/api.py:245 +#: build/api.py:243 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/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Gyártási utasítás" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Gyártási utasítás" msgid "Build Orders" msgstr "Gyártási utasítások" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Azonosító" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Gyártás rövid leírása" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Szülő gyártás" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Alkatrész" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Válassz alkatrészt a gyártáshoz" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Vevői rendelés azonosító" -#: build/models.py:199 +#: build/models.py:200 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:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Forrás hely" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Válassz helyet ahonnan készletet vegyünk el ehhez a gyártáshoz (hagyd üresen ha bárhonnan)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Cél hely" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Válassz helyet ahol a kész tételek tárolva lesznek" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Gyártandó készlet tételek száma" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Kész tételek" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Elkészült készlet tételek száma" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Gyártási állapot" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Befejezés cél dátuma" -#: build/models.py:259 +#: build/models.py:260 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:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Elkészítés dátuma" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "elkészítette" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Kiállította" -#: build/models.py:277 +#: build/models.py:278 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:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Felelős" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Külső link" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Egyéb gyártási megjegyzések" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "Priorítás" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:541 +#: build/models.py:542 #, 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:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:732 +#: build/models.py:733 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:1189 +#: build/models.py:1190 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:1198 +#: build/models.py:1199 #, 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:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1220 +#: build/models.py:1221 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:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Kiválasztott készlet tétel nem található az alkatrészjegyzékben" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Gyártás" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "Gyártás amihez készletet foglaljunk" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Cél készlet tétel" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Gyártás kimenet" @@ -1139,9 +1205,9 @@ msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -1154,9 +1220,9 @@ msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Sorozatszámok" @@ -1172,7 +1238,7 @@ msgstr "Sorozatszámok automatikus hozzárendelése" msgid "Automatically allocate required items with matching serial numbers" msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" @@ -1180,18 +1246,21 @@ msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Hely" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Állapot" @@ -1267,7 +1339,7 @@ msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" @@ -1283,8 +1355,8 @@ msgstr "Szükséges gyártási mennyiség nem lett elérve" msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" @@ -1304,7 +1376,7 @@ msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" @@ -1321,7 +1393,7 @@ msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatr msgid "This stock item has already been allocated to this build output" msgstr "Ez a készlet tétel már le lett foglalva ehhez a gyártási kimenethez" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" @@ -1376,6 +1448,7 @@ msgstr "A {bo} gyártás most már késésben van" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Nyomtatási műveletek" @@ -1444,13 +1517,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Még nincs lefoglalva a szükséges készlet" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Cél dátum" @@ -1461,31 +1539,35 @@ msgstr "Ez a gyártás %(target)s-n volt esedékes" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "Késésben" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Kész" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Vevői rendelés" @@ -1496,11 +1578,11 @@ msgid "Issued By" msgstr "Kiállította" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Prioritás" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "Gyártási utasítás törlése" @@ -1516,8 +1598,9 @@ 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:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "Cél" @@ -1531,19 +1614,20 @@ msgstr "Lefoglalt alkatrészek" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "Batch" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Létrehozva" @@ -1563,7 +1647,7 @@ msgstr "Alárendelt gyártások" msgid "Allocate Stock to Build" msgstr "Készlet foglalása gyártáshoz" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "Készlet felszabadítása" @@ -1592,9 +1676,10 @@ msgid "Order required parts" msgstr "Szükséges alkatrészek rendelése" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Alkatrész rendelés" @@ -1646,27 +1731,19 @@ msgstr "Kiválasztott gyártási kimenetek törlése" msgid "Delete outputs" msgstr "Kimenetek törlése" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "Nyomtatási műveletek" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "Címke nyomtatása" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "Befejezett gyártási kimenetek" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1674,15 +1751,15 @@ msgstr "Befejezett gyártási kimenetek" msgid "Attachments" msgstr "Mellékletek" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "Gyártási megjegyzések" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "Lefoglalás kész" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "A szükséges készlet már mind le lett foglalva" @@ -1690,10 +1767,6 @@ msgstr "A szükséges készlet már mind le lett foglalva" msgid "New Build Order" msgstr "Új gyártási utasítás" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "Gyártási utasítások nyomtatása" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "Gyártási utasítás részletei" @@ -1894,7 +1967,7 @@ msgstr "Milyen gyakran ellenőrizze van-e új frissítés (0=soha)" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "nap" @@ -2026,9 +2099,9 @@ msgstr "Kategória paraméter sablonok másolása" msgid "Copy category parameter templates when creating a part" msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "Sablon" @@ -2036,10 +2109,10 @@ msgstr "Sablon" msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "Gyártmány" @@ -2047,8 +2120,8 @@ msgstr "Gyártmány" msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "Összetevő" @@ -2056,7 +2129,7 @@ msgstr "Összetevő" msgid "Parts can be used as sub-components by default" msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "Beszerezhető" @@ -2064,8 +2137,8 @@ msgstr "Beszerezhető" msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "Értékesíthető" @@ -2073,10 +2146,10 @@ msgstr "Értékesíthető" msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "Követésre kötelezett" @@ -2084,10 +2157,10 @@ msgstr "Követésre kötelezett" msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "Virtuális" @@ -2119,7 +2192,7 @@ msgstr "Kezdeti készlet adatok" 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:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" @@ -2376,698 +2449,739 @@ 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:1445 +msgid "Enable Return Orders" +msgstr "" + +#: common/models.py:1446 +msgid "Enable return order functionality in the user interface" +msgstr "" + +#: common/models.py:1452 +msgid "Return Order Reference Pattern" +msgstr "" + +#: common/models.py:1453 +msgid "Required pattern for generating Return Order reference field" +msgstr "" + +#: common/models.py:1459 +msgid "Edit Completed Return Orders" +msgstr "" + +#: common/models.py:1460 +msgid "Allow editing of return orders after they have been completed" +msgstr "" + +#: common/models.py:1466 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1446 +#: common/models.py:1467 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:1452 +#: common/models.py:1473 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1453 +#: common/models.py:1474 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:1459 +#: common/models.py:1480 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1460 +#: common/models.py:1481 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:1466 +#: common/models.py:1487 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1467 +#: common/models.py:1488 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:1473 +#: common/models.py:1494 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1474 +#: common/models.py:1495 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:1481 +#: common/models.py:1502 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1482 +#: common/models.py:1503 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1488 +#: common/models.py:1509 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1489 +#: common/models.py:1510 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:1495 +#: common/models.py:1516 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1496 +#: common/models.py:1517 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1502 +#: common/models.py:1523 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1503 +#: common/models.py:1524 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:1509 +#: common/models.py:1530 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1510 +#: common/models.py:1531 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1516 +#: common/models.py:1537 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1517 +#: common/models.py:1538 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:1523 +#: common/models.py:1544 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1524 +#: common/models.py:1545 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:1530 +#: common/models.py:1551 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1531 +#: common/models.py:1552 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:1537 +#: common/models.py:1558 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:1538 +#: common/models.py:1559 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Ezekről a domain-ekről a regisztráció tiltása (vesszővel elválasztva, @-el kezdve)" -#: common/models.py:1544 +#: common/models.py:1565 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1545 +#: common/models.py:1566 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:1551 +#: common/models.py:1572 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1552 +#: common/models.py:1573 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1558 +#: common/models.py:1579 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1559 +#: common/models.py:1580 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:1566 +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "Plugin aláírások ellenőrzése" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "Pluginok aláírásainak ellenőrzése és megjelenítése" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1575 +#: common/models.py:1596 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:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1599 +#: common/models.py:1620 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:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1607 +#: common/models.py:1628 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:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "Leltár funkció" -#: common/models.py:1615 +#: common/models.py:1636 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:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "Automatikus leltár időpontja" -#: common/models.py:1622 +#: common/models.py:1643 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:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "Riport törlési gyakoriság" -#: common/models.py:1632 +#: common/models.py:1653 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:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 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:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "Nincs nyomtató (nyomtatás PDF-be)" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1697 +#: common/models.py:1718 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:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "Legfrissebb alkatrész szám" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "Főoldalon megjelenítendő legújabb alkatrészek" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1718 +#: common/models.py:1739 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:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1725 +#: common/models.py:1746 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:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "Legfrissebb készlet mennyiség" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1753 +#: common/models.py:1774 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:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1781 +#: common/models.py:1802 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:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1809 +#: common/models.py:1830 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:1815 +#: common/models.py:1836 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1823 +#: common/models.py:1844 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:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1837 +#: common/models.py:1858 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:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:1851 +#: common/models.py:1872 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:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:1858 +#: common/models.py:1879 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:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1865 +#: common/models.py:1886 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:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1872 +#: common/models.py:1893 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:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1879 +#: common/models.py:1900 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:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:1886 +#: common/models.py:1907 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:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:1907 +#: common/models.py:1928 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:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1914 +#: common/models.py:1935 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:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:1921 +#: common/models.py:1942 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:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:1928 +#: common/models.py:1949 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:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:1935 +#: common/models.py:1956 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:1941 +#: common/models.py:1962 +msgid "Search Return Orders" +msgstr "" + +#: common/models.py:1963 +msgid "Display return orders in search preview window" +msgstr "" + +#: common/models.py:1969 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:1970 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:1976 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:1942 +#: common/models.py:1977 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:1948 +#: common/models.py:1983 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:1949 +#: common/models.py:1984 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:1955 +#: common/models.py:1990 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:1956 +#: common/models.py:1991 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:1962 +#: common/models.py:1997 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:1963 +#: common/models.py:1998 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:1969 +#: common/models.py:2004 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:1970 +#: common/models.py:2005 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:1984 part/templates/part/detail.html:41 +#: common/models.py:2019 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:1985 +#: common/models.py:2020 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:1991 part/templates/part/detail.html:62 +#: common/models.py:2026 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:1992 +#: common/models.py:2027 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:1998 +#: common/models.py:2033 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:1999 +#: common/models.py:2034 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:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "Ár" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "Aktív" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "Token" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "Titok" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "Fejléc" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "Törzs" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "Id" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "Cím" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "Közzétéve" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Szerző" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "Elolvasva" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "Elolvasva?" @@ -3080,7 +3194,7 @@ msgstr "Új {verbose_name}" 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:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "Készlet érkezett" @@ -3088,19 +3202,23 @@ msgstr "Készlet érkezett" msgid "Items have been received against a purchase order" msgstr "Készlet érkezett egy beszerzési megrendeléshez" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "Plugin hiba" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Fájl feltöltése" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3140,7 +3258,7 @@ msgstr "A cég leírása" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "Weboldal" @@ -3166,6 +3284,7 @@ msgstr "Kapcsolattartó telefonszáma" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "Email" @@ -3174,6 +3293,9 @@ msgid "Contact email address" msgstr "Kapcsolattartó email címe" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "Kapcsolattartó" @@ -3185,11 +3307,11 @@ msgstr "Kapcsolattartó" msgid "Link to external company information" msgstr "Link a külső céginformációhoz" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Kép" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "Cég megjegyzések" @@ -3223,209 +3345,215 @@ msgstr "Cég által használt alapértelmezett pénznem" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "Cég" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "Válassz alkatrészt" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Gyártó" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "MPN" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "Gyártói cikkszám" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "URL link a gyártói alkatrészhez" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "Érték" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "Mértékegység" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "Paraméter mértékegység" -#: company/models.py:475 +#: company/models.py:480 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:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Beszállító" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "SKU" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "Gyártói alkatrész kiválasztása" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "URL link a beszállítói alkatrészhez" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "alap költség" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "Csomagolás" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "Csomagolási mennyiség" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "Egy csomagban lévő mennyiség" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "többszörös" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "Többszörös rendelés" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "Elérhető" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "Beszállítónál elérhető mennyiség" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "Elérhetőség frissítve" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "Utolsó elérhetőségi adat frissítés" @@ -3434,7 +3562,7 @@ msgid "Default currency used for this supplier" msgstr "Beszállító által használt alapértelmezett pénznem" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "Beszerzési rendelés létrehozása" @@ -3447,7 +3575,7 @@ msgid "Edit company information" msgstr "Cég adatainak szerkesztése" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "Cég szerkesztése" @@ -3475,14 +3603,17 @@ 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:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Vevő" @@ -3495,7 +3626,7 @@ msgid "Phone" msgstr "Telefonszám" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "Kép eltávolítása" @@ -3504,72 +3635,72 @@ msgid "Remove associated image from this company" msgstr "Céghez rendelt kép eltávolítása" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Törlés" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "Kép feltöltése" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "Kép letöltése" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Beszállítói alkatrészek" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "Új beszállítói alkatrész létrehozása" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Új beszállítói alkatrész" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "Alkatrész rendelés" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "Alkatrész törlés" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "Alkatrész törlés" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Gyártói alkatrészek" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "Új gyártói alkatrész létrehozása" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Új gyártói alkatrész" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "Beszállítói készlet" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3583,44 +3714,74 @@ msgstr "Beszállítói készlet" msgid "Purchase Orders" msgstr "Beszerzési rendelések" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Beszerzési rendelés létrehozása" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Új beszerzési rendelés" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Vevői rendelések" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Vevői rendelés létrehozása" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Új vevői rendelés" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "Hozzárendelt készlet" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Beszállítók listája" @@ -3637,12 +3798,12 @@ msgid "Order part" msgstr "Alkatrész rendelés" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "Gyártói alkatrész szerkesztése" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "Gyártói alkatrész törlése" @@ -3670,9 +3831,9 @@ msgstr "Beszállítói alkatrész törlése" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "Törlés" @@ -3694,7 +3855,7 @@ msgstr "Új paraméter" msgid "Delete parameters" msgstr "Paraméterek törlése" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Paraméter hozzáadása" @@ -3711,15 +3872,20 @@ msgstr "Szállított alkatrészek" msgid "Supplied Stock Items" msgstr "Szállított készlet tételek" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "Hozzárendelt készlet tételek" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Beszállítói alkatrész" @@ -3740,8 +3906,8 @@ msgstr "QR kód megjelenítése" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "Vonalkód leválasztása" @@ -3770,13 +3936,13 @@ msgstr "Elérhetőség frissítése" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "Beszállítói alkatrész szerkesztése" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "Beszállítói alkatrész másolása" @@ -3810,7 +3976,7 @@ msgstr "Új készlet tétel létrehozása" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Új készlet tétel" @@ -3823,7 +3989,7 @@ msgid "Pricing Information" msgstr "Árinformációk" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Ársáv hozzáadása" @@ -3841,14 +4007,14 @@ msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Készlet tételek" @@ -3898,7 +4064,7 @@ msgstr "Címke" msgid "Label template file" msgstr "Címke sablon fájl" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "Engedélyezve" @@ -3922,7 +4088,7 @@ msgstr "Magasság [mm]" msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "Fájlnév minta" @@ -3935,7 +4101,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:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "Szűrők" @@ -3947,457 +4114,534 @@ msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "Ismeretlen" -#: order/models.py:86 -msgid "Order description" -msgstr "Rendelés leírása" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "Link külső weboldalra" - -#: order/models.py:96 -msgid "Created By" -msgstr "Készítette" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" - -#: order/models.py:108 -msgid "Order notes" -msgstr "Rendelés jegyzetek" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "Teljes ár" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" -msgstr "Rendelés azonosító" +#: order/models.py:177 +msgid "Contact does not match selected company" +msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" -msgstr "Beszerzési rendelés állapota" +#: order/models.py:199 +msgid "Order description" +msgstr "Rendelés leírása" -#: order/models.py:283 -msgid "Company from which the items are being ordered" -msgstr "Cég akitől a tételek beszerzésre kerülnek" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" +msgstr "Link külső weboldalra" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "Beszállítói azonosító" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "Beszállítói rendelés azonosító kód" - -#: order/models.py:293 -msgid "received by" -msgstr "érkeztette" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "Kiállítás dátuma" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "Kiállítás dátuma" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "Várható beérkezés" - -#: order/models.py:305 +#: order/models.py:206 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:311 +#: order/models.py:215 +msgid "Created By" +msgstr "Készítette" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "Rendelés jegyzetek" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "Rendelés azonosító" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "Beszerzési rendelés állapota" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "Cég akitől a tételek beszerzésre kerülnek" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "Beszállítói azonosító" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "Beszállítói rendelés azonosító kód" + +#: order/models.py:365 +msgid "received by" +msgstr "érkeztette" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "Kiállítás dátuma" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "Kiállítás dátuma" + +#: order/models.py:377 order/models.py:1699 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:350 +#: order/models.py:412 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:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:689 +#: order/models.py:737 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:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "Cél dátum a rendelés teljesítéséhez. Ez után számít majd késettnek." - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "szállította" -#: order/models.py:770 +#: order/models.py:814 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:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "Csak függő rendelés jelölhető késznek" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 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:780 +#: order/models.py:824 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:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:995 +#: order/models.py:1051 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:1012 +#: order/models.py:1068 msgid "Context" msgstr "Kontextus" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "törölve" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "Rendelés" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1114 +#: order/models.py:1170 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:1180 +#: order/models.py:1236 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:1185 +#: order/models.py:1241 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:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "Szállítmány megjegyzései" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1463 +#: order/models.py:1523 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:1465 +#: order/models.py:1525 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:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 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:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "Sor" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "Tétel" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 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:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:377 +#: order/serializers.py:408 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:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "Egyedi azonosító mező" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:513 +#: order/serializers.py:544 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:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Késésben lévő beszerzés" @@ -4421,22 +4665,26 @@ msgid "Print purchase order report" msgstr "Beszerzési rendelés nyomtatása" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "Rendelés exportálása fájlba" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "Rendelés műveletek" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "Rendelés szerkesztése" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "Rendelés törlése" @@ -4454,61 +4702,66 @@ msgid "Receive items" msgstr "Érkezett tételek bevételezése" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "Bevételezés" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "Rendelés teljesítettnek jelölése" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "Rendelés befejezése" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "Rendelési azonosító" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "Rendelés leírása" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "Rendelés állapota" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "Nincs elérhető beszállítói információ" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "Kész sortételek" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "Hiányos" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Kiküldve" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "Teljes költség" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "A teljes költség nem számolható" @@ -4561,11 +4814,13 @@ msgstr "Kijelöltek másolása" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Sor törlése" @@ -4607,9 +4862,11 @@ msgid "Step %(step)s of %(count)s" msgstr "%(step)s/%(count)s. lépés" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "Sortételek" @@ -4622,77 +4879,107 @@ msgid "Purchase Order Items" msgstr "Beszerzési rendelés tételei" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "Sortétel hozzáadása" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" -msgstr "Kiválasztott tételek bevételezése" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" +msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "Sortételek törlése" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "Egyéb tételek" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "Egyéb tétel hozzáadása" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "Érkezett tételek" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "Rendelés megjegyzések" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" -msgstr "Sortétel hozzáadása" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" +msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" -msgstr "Rendelés riportok nyomtatása" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "Csomagolási lista nyomtatása" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "Vevői azonosító" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "Teljes költség" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" +msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "Vevői rendelés nyomtatása" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" -msgstr "Csomagolási lista nyomtatása" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" +msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "Függő szállítmányok kiszállítása" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "Vevői rendelés befejezése, minden kiszállítva" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "Ehhez a vevői rendeléshez nincs minden alkatrész lefoglalva" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "Vevői azonosító" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4708,8 +4995,8 @@ msgid "Pending Shipments" msgstr "Függő szállítmányok" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "Műveletek" @@ -4717,34 +5004,34 @@ msgstr "Műveletek" msgid "New Shipment" msgstr "Új szállítmány" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "Beszállítói alkatrészek egyeztetése" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "Vevő rendelés nem találhtó" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "Nem található ár" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "A {part} egységára {price}-ra módosítva" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format 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:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "Alkatrész neve" @@ -4753,19 +5040,19 @@ msgstr "Alkatrész neve" msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Változat" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "Kulcsszavak" @@ -4786,20 +5073,20 @@ msgstr "Alapértelmezett készlethely ID" msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Minimális készlet" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "Készleten" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "Rendelve" @@ -4807,22 +5094,22 @@ msgstr "Rendelve" msgid "Used In" msgstr "Felhasználva ebben" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "Lefoglalva" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "Gyártásban" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "Maximum költség" @@ -4839,13 +5126,13 @@ msgstr "Szülő neve" msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Alkatrészek" @@ -4862,7 +5149,7 @@ msgstr "Alkatrészjegyzék tétel ID" msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "Alkatrész IPN" @@ -4876,35 +5163,35 @@ msgstr "Minimum ár" msgid "Maximum Price" msgstr "Maximum ár" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "Érvényes" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "Alapértelmezett hely" @@ -4914,7 +5201,7 @@ msgid "Total Stock" msgstr "Teljes készlet" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "Elérhető készlet" @@ -4922,664 +5209,665 @@ 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:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "Szerkezeti" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz." -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "Alapértelmezett kulcsszavak" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "Ikon" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "Ikon (opcionális)" -#: part/models.py:159 +#: part/models.py:158 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:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, 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:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN mezőnek egyeznie kell a '{pat}' mintával" -#: part/models.py:664 +#: part/models.py:663 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:795 +#: part/models.py:794 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:800 +#: part/models.py:799 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:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "Alkatrész leírása" -#: part/models.py:868 +#: part/models.py:867 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:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "Kategória" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:887 +#: part/models.py:886 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:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:967 +#: part/models.py:966 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:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:986 +#: part/models.py:985 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:992 +#: part/models.py:991 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:998 +#: part/models.py:997 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:1003 +#: part/models.py:1002 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:1008 +#: part/models.py:1007 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:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1018 +#: part/models.py:1017 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:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "Alkatrész megjegyzések" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "Felhasználó aki felelős ezért az alkatrészért" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Dátum" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "Riport" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3210 +#: part/models.py:3222 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:3227 +#: part/models.py:3239 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:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "Kötelező" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3266 +#: part/models.py:3278 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:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3272 +#: part/models.py:3284 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:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "Paraméter mértékegysége" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "Adat" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "Szint" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "Opcionális" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "Fogyóeszköz" -#: part/models.py:3582 +#: part/models.py:3594 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:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:3587 +#: part/models.py:3599 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:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:3609 +#: part/models.py:3621 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:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:3615 +#: part/models.py:3627 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:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 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:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:3849 +#: part/models.py:3861 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:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "1.rész" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "2.rész" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" @@ -5664,7 +5952,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "Alkatrész másolása" @@ -5672,7 +5960,7 @@ msgstr "Alkatrész másolása" msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "Kezdeti készlet" @@ -5817,9 +6105,9 @@ msgstr "Alacsony készlet értesítés" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "Teljes mennyiség" @@ -5902,7 +6190,7 @@ msgstr "Kategória törlése" msgid "Top level part category" msgstr "Legfelső szintű alkatrész kategória" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alkategóriák" @@ -5932,23 +6220,19 @@ msgstr "Kategória beállítása" msgid "Set Category" msgstr "Kategória beállítása" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "Címkék nyomtatása" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "Alkatrész paraméterek" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "Alkatrész kategória létrehozása" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "Új kategória" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "Alkatrész kategória létrehozása" @@ -5985,7 +6269,7 @@ msgid "Refresh scheduling data" msgstr "Ütemezési adatok frissítése" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "Frissítés" @@ -5996,7 +6280,7 @@ msgstr "Leltár információ hozzáadása" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "Leltár" @@ -6094,15 +6378,15 @@ msgstr "Alkatrész gyártók" msgid "Delete manufacturer parts" msgstr "Gyártói alkatrészek törlése" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "Kapcsolódó alkatrész" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "Kapcsolódó alkatrész hozzáadása" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "Teszt eredmény sablon hozzáadása" @@ -6137,13 +6421,13 @@ msgstr "Alkatrész import sablon letöltése" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "Formátum" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "Fájlfomátum kiválasztása" @@ -6233,15 +6517,15 @@ msgid "Part is virtual (not a physical part)" msgstr "Virtuális (nem kézzelfogható alkatrész)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "Inaktív" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "Alkatrész részletei" @@ -6260,7 +6544,7 @@ msgstr "Gyártáshoz lefoglalva" msgid "Allocated to Sales Orders" msgstr "Vevő rendeléshez lefoglalva" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "Gyártható" @@ -6268,8 +6552,8 @@ msgstr "Gyártható" msgid "Minimum stock level" msgstr "Minimális készlet" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6292,19 +6576,19 @@ msgstr "Alkatrész QR kódja" msgid "Link Barcode to Part" msgstr "Vonalkód hozzárendelése az alkatrészhez" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "Számítás" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "Alkatrészhez rendelt kép eltávolítása" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "Nincs egyező kép" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "Részletek elrejtése" @@ -6320,15 +6604,6 @@ msgstr "Beszállítói ár" msgid "Unit Cost" msgstr "Egység költség" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "Teljes költség" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "Nincs beszállítói árinfomáció" @@ -6371,9 +6646,9 @@ msgstr "Változatok" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -6404,9 +6679,9 @@ msgstr "Árazás frissítése" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -6469,8 +6744,8 @@ msgstr "Eladási ár" msgid "Add Sell Price Break" msgstr "Eladási ársáv hozzáadása" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "Nincs készlet" @@ -6796,87 +7071,91 @@ msgstr "A '{template}' sablon fájl hiányzik vagy nem érhető el" msgid "Test report" msgstr "Teszt riport" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "Sablon neve" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "Riport sablon fájl" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "Riport sablon leírása" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "Riport verziószáma (automatikusan nő)" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "Minta a riport fájlnevek előállításához" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "Riport sablon engedélyezve" -#: report/models.py:281 +#: report/models.py:286 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:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "Beépített tesztekkel együtt" -#: report/models.py:290 +#: report/models.py:295 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:337 +#: report/models.py:369 msgid "Build Filters" msgstr "Gyártás szűrők" -#: report/models.py:338 +#: report/models.py:370 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:377 +#: report/models.py:409 msgid "Part Filters" msgstr "Alkatrész szűrők" -#: report/models.py:378 +#: report/models.py:410 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:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "Megrendelés lekérdezés szűrők" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "Vevő rendelés lekérdezés szűrők" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "Részlet" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "Eszköz" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "Asset fájl leírása" @@ -6888,75 +7167,90 @@ msgstr "Szükséges alapanyagok" msgid "Required For" msgstr "Szükséges ehhez" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "Beszállító törölve lett" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "Egységár" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "Egyéb tételek" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 msgid "Total" msgstr "Összesen" +#: report/templates/report/inventree_return_order_report_base.html:25 +#: report/templates/report/inventree_test_report_base.html:88 +#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "Sorozatszám" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Készlet tétel teszt riport" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "Sorozatszám" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "Teszt eredmények" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "Teszt" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "Eredmény" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "Sikeres" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "Sikertelen" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Beépített tételek" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "Sorozatszám" @@ -6997,7 +7291,7 @@ msgstr "Beszállító neve" msgid "Customer ID" msgstr "Vevő ID" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "Beépítve ebbe" @@ -7022,29 +7316,29 @@ msgstr "Felülvizsgálat szükséges" msgid "Delete on Deplete" msgstr "Törlés ha kimerül" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "Lejárati dátum" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7056,12 +7350,12 @@ msgstr "Készlet hely" msgid "Stock Locations" msgstr "Készlethelyek" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "Tulajdonos" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "Tulajdonos kiválasztása" @@ -7069,8 +7363,8 @@ msgstr "Tulajdonos kiválasztása" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "Külső" @@ -7082,218 +7376,218 @@ msgstr "Ez egy külső készlethely" 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:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "A alkatrész típus ('{pf}') {pe} kell legyen" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 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:605 +#: stock/models.py:603 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:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "A tétel nem tartozhat saját magához" -#: stock/models.py:633 +#: stock/models.py:631 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:647 +#: stock/models.py:645 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:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "Szülő készlet tétel" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "Kiindulási alkatrész" -#: stock/models.py:679 +#: stock/models.py:677 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:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:696 +#: stock/models.py:694 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:705 +#: stock/models.py:703 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:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:776 +#: stock/models.py:774 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:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Készlet tétel megjegyzések" -#: stock/models.py:812 +#: stock/models.py:810 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:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1342 +#: stock/models.py:1349 #, 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:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Ezek a sorozatszámok már léteznek: {exists}" -#: stock/models.py:1425 +#: stock/models.py:1432 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:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1455 +#: stock/models.py:1462 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:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1628 +#: stock/models.py:1635 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:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "Teszt neve" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "Tesztek megjegyzései" @@ -7447,7 +7741,7 @@ msgstr "Teszt adatok" msgid "Test Report" msgstr "Teszt riport" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "Teszt adatok törlése" @@ -7459,15 +7753,15 @@ msgstr "Teszt adatok hozzáadása" msgid "Installed Stock Items" msgstr "Beépített készlet tételek" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "Készlet tétel összes teszt eredményének törlése" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" @@ -7489,15 +7783,15 @@ msgid "Stock adjustment actions" msgstr "Készlet módosítási műveletek" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "Leltározás" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "Készlet növelése" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "Készlet csökkentése" @@ -7506,11 +7800,11 @@ msgid "Serialize stock" msgstr "Sorozatszámok előállítása" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "Készlet áthelyezése" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "Vevőhöz rendelése" @@ -7612,7 +7906,7 @@ msgid "Available Quantity" msgstr "Elérhető mennyiség" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Nincs beállítva hely" @@ -7626,7 +7920,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "Lejárt" @@ -7636,7 +7930,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejár %(item.expiry_date)s-n" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "Állott" @@ -7644,35 +7938,35 @@ msgstr "Állott" msgid "No stocktake performed" msgstr "Még nem volt leltározva" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "Készlet állapot szerkesztése" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "Készlet tétel QR kódja" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "Vonalkód hozzárendelése a készlet tételhez" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "Válassz a lenti alkatrész változatok közül" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "Figyelem" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "Ez a művelet nem vonható vissza könnyen" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "Készlet tétel konvertálása" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "Visszavétel készletre" @@ -7746,15 +8040,15 @@ msgstr "Új készlet hely létrehozása" msgid "New Location" msgstr "Új hely" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "Készlet tároló bevételezve erre a helyre" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "Készlet hely QR kódja" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "Vonalkód hozzárendelése a készlet helyhez" @@ -7791,7 +8085,7 @@ msgid "You have been logged out from InvenTree." msgstr "Kijelentkeztél az InvenTreeből." #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "Bejelentkezés" @@ -7934,7 +8228,7 @@ msgstr "Nem található régebbi értesítés" msgid "Delete all read notifications" msgstr "Olvasott értesítések törlése" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "Értesítés törlése" @@ -7990,7 +8284,7 @@ msgid "Single Sign On" msgstr "Single Sign On (SSO)" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "Beállítások" @@ -8041,7 +8335,7 @@ msgid "Stocktake Reports" msgstr "Leltár riportok" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "Plugin beállítások" @@ -8050,7 +8344,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "Az alábbi beállítások módosításához a kiszolgáló azonnali újraindítása szükséges. Aktív használat közben ne változtass ezeken." #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "Pluginok" @@ -8194,6 +8488,10 @@ msgstr "Soha" msgid "Report Settings" msgstr "Riport beállítások" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "Nincsenek értékek" @@ -8258,15 +8556,15 @@ msgstr "Azonosító" msgid "Create Part Parameter Template" msgstr "Alkatrész paraméter sablon létrehozása" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "Alkatrész paraméter sablon módosítása" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "Az összes erre a sablonra hivatkozó paraméter is törlésre kerül" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "Alkatrész paraméter sablon törlése" @@ -8288,7 +8586,7 @@ msgid "Home Page" msgstr "Főoldal" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8334,7 +8632,7 @@ msgid "Change Password" msgstr "Jelszó módosítása" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "Szerkesztés" @@ -8792,11 +9090,11 @@ msgstr "Írd be az app által létrehozott tokent:" msgid "Verify" msgstr "Ellenőrzés" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "Link hozzáadása" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "Melléklet hozzáadása" @@ -8804,19 +9102,19 @@ msgstr "Melléklet hozzáadása" msgid "Delete selected attachments" msgstr "Kiválasztott mellékletek törlése" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "Mellékletek törlése" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Kiszolgáló újraindítása szükséges" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "Egy olyan konfigurációs opció megváltozott ami a kiszolgáló újraindítását igényli" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "Vedd fel a kapcsolatot a rendszergazdával további információkért" @@ -8826,6 +9124,7 @@ msgstr "Vedd fel a kapcsolatot a rendszergazdával további információkért" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "Klikk a következő linkre a rendelés megjelenítéséhez" @@ -8847,7 +9146,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:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Szükséges mennyiség" @@ -8861,75 +9160,75 @@ msgid "Click on the following link to view this part" msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "Minimum mennyiség" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Nincs válasz" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "Nincs válasz az InvenTree kiszolgálótól" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "Error 400: Rossz kérelem" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "Az API kérelem 400-as hibakódot adott vissza" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Error 401: Nincs hitelesítve" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "Hitelesítési adatok nem lettek megadva" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Error 403: Hozzáférés megtagadva" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Nincs meg a szükséges jogosultságod, hogy elérd ezt a funkciót" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Error 404: Erőforrás nem található" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "A kért erőforrás nem található a kiszolgálón" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "Error 405: Metódus nincs engedélyezve" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "HTTP metódus nincs engedélyezve ezen az URL-n" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Error 408: Időtúllépés" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "Időtúllépés a kiszolgálótól való adatlekérés közben" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "Nem kezelt hibakód" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "Hiba kód" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "Az összes kijelölt melléklet törlésre kerül" @@ -8945,126 +9244,126 @@ msgstr "Melléklet szerkesztése" msgid "Upload Date" msgstr "Feltöltés dátuma" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "Melléklet szerkesztése" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "Melléklet törlése" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "Vonalkód beolvasása ide a kódolvasó használatával" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "Add meg a vonalkódot" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "Vonalkód" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "Vonalkód beolvasása webkamerával" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "Megjegyzések a készlet áthelyezéshez" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "Írd be a megjegyzéseket" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "Kiszolgálóhiba" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "Ismeretlen válasz a kiszolgálótól" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Érvénytelen válasz a szervertől" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "Vonalkód beolvasása" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "Vonalkód beolvasása" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "Nincs URL a válaszban" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "Ez törli a vonalkód hozzárendelést" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "Leválasztás" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "Készlet tétel törlése" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "Készlet bevételezése adott helyre" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "Készlet tétel vonalkód beolvasása, amit bevételezzünk erre a helyre" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "Bevételezés" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "Nincs vonalkód beolvasva" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "Készlet tétel már beolvasva" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "Készlet tétel már ezen a helyen van" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "Hozzáadott készlet tétel" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "Vonalkód nem egyezik egy ismert készlet tétellel sem" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "Készlet tároló bevételezése adott helyre" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "Készlet tároló vonalkód beolvasása, amit bevételezzünk erre a helyre" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "A vonalkód nem egyezik egy ismert hellyel sem" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "Készlet áthelyezése a leolvasott helyre" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "A vonalkód nem egyezik egy ismert hellyel sem" @@ -9083,7 +9382,7 @@ msgstr "Sor adat" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Bezárás" @@ -9188,74 +9487,74 @@ msgstr "Az összes kijelölt alkatrészjegyzék tétel törlésre kerül" msgid "Delete selected BOM items?" msgstr "Töröljük a kiválasztott alkatrészjegyzék tételeket?" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "Alkatrészjegyzék betöltése az al-gyártmányhoz" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "Vannak helyettesítők" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "Helyettesítõk" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "Alkatrészjegyzék árazása teljes" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "Alkatrészjegyzék árazása nem teljes" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "Nincsenek árak" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "Fogyóeszköz tétel" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "Alkatrészjegyzék tétel jóváhagyása" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "Ez a sor jóvá lett hagyva" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "Helyettesítő alkatrészek szerkesztése" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "Alkatrészjegyzék tétel szerkesztése" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "Alkatrészjegyzék tétel törlése" @@ -9263,15 +9562,15 @@ msgstr "Alkatrészjegyzék tétel törlése" msgid "View BOM" msgstr "Alkatrészjegyzék megtekintése" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "Szükséges alkatrész" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "Örökölve a szülő alkatrészjegyzéktől" @@ -9315,13 +9614,13 @@ msgstr "Gyártási utasítás befejezetlen" msgid "Complete Build Order" msgstr "Gyártási utasítás befejezése" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "Következő szabad sorozatszám" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "Legutolsó sorozatszám" @@ -9357,373 +9656,430 @@ msgstr "Készlet felszabadítása a gyártási kimenetből" msgid "Complete build output" msgstr "Gyártási kimenet befejezése" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "Gyártási kimenet törlése" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "Biztosan szeretnéd a már lefoglalt készlet tételeket felszabadítani ebből a gyártási utasításból?" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "Készlet tételek felszabadítása" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "Gyártási kimenetek kiválasztása" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "Legalább egy gyártási kimenetet ki kell választani" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "Kimenet" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "Gyártási kimenetek befejezése" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "Gyártási kimenetek törlése" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "Nincs gyártási utasításhoz történő foglalás" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "Hely nincs megadva" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "Nem található aktív gyártási kimenet" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "Lefoglalt készlet" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "Nincsenek követett alkatrészjegyzék tételek ehhez a gyártáshoz" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "Befejezett tesztek" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "Nincsenek szükséges tesztek ehhez a gyártáshoz" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "Foglalás szerkesztése" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "Foglalás törlése" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "Vannak helyettesítő alkatrészek" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "Szükséges/db" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "Nincs elegendő" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "Van elegendő" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "Gyártási készlet" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "Készlet rendelés" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "Lefoglalt készlet" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "Kiválasztott alkatrészek" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "Legalább egy alkatrész választása szükséges a foglaláshoz" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "Minden alkatrész lefoglalva" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "Minden kiválasztott alkatrész teljesen lefoglalva" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "Készlet foglalása a gyártási utasításhoz" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "Nincs egyező készlethely" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "Nincs egyező készlet" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "Automatikus készlet foglalás" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "A készlet automatikusan lefoglalásra kerül ehhez a gyártási utasításhoz, a következő feltételek szerint" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Ha egy készlet hely meg van adva, akkor készlet csak arról a helyről lesz foglalva" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Ha a készlet helyettesíthetőnek minősül, akkor az első rendelkezésre álló helyről lesz lefoglalva" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Ha a helyettesítő készlet engedélyezve van, akkor ott az lesz használva ha az elsődleges alkatrésznek nincs készlete" -#: templates/js/translated/build.js:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "Készlet tételek foglalása" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "Kiválaszt" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "Gyártás késésben van" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "Haladás" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "Nincs felhasználói információ" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "csoport" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "Nincs lefoglalt alkatrész ehhez" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "Gyártó hozzáadása" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "Gyártói alkatrész hozzáadása" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "Gyártói alkatrész szerkesztése" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "Beszállító hozzáadása" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "Beszállítói alkatrész hozzáadása" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "Az összes kiválasztott beszállítói alkatrész törölve lesz" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "Beszállítói alkatrészek törlése" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "Új cég hozzáadása" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "Beszállított alkatrészek" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "Gyártott alkatrészek" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "Nem található céginformáció" -#: templates/js/translated/company.js:582 +#: templates/js/translated/company.js:587 +msgid "Create New Contact" +msgstr "" + +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" +msgstr "" + +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 msgid "All selected manufacturer parts will be deleted" msgstr "Az összes kijelölt gyártói alkatrész törlésre kerül" -#: templates/js/translated/company.js:597 +#: templates/js/translated/company.js:818 msgid "Delete Manufacturer Parts" msgstr "Gyártói alkatrészek törlése" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:852 msgid "All selected parameters will be deleted" msgstr "Az összes kijelölt paraméter törlésre kerül" -#: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "Paraméterek törlése" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "Nincs gyártói alkatrész" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "Sablon alkatrész" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "Gyártmány alkatrész" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "Nem található paraméter" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "Nincs beszállítói alkatrész" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "Elérhetőség" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "Beszállítói alkatrész szerkesztése" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "Beszállítói alkatrész törlése" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "Ársáv törlése" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "Ársáv szerkesztése" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "Nincs ársáv információ" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "Utoljára módosítva" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "Ársáv szerkesztése" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "Ársáv törlése" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "igaz" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "hamis" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "Szűrők kiválasztása" -#: templates/js/translated/filters.js:297 -msgid "Download data" -msgstr "Adatok letöltése" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" +msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" -msgstr "Adatok frissítése" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" +msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "Új szűrő hozzáadása" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "Összes szűrő törlése" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "Szűrő létrehozása" @@ -9756,105 +10112,83 @@ msgstr "Form nyitva tartása" msgid "Enter a valid number" msgstr "Adj meg egy érvényes számot" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Form hibák vannak" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "Nincs eredmény" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "Oszlopok kiválasztása" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "IGEN" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "NEM" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "Megjegyzések frissítve" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "Címkék nyomtatónak elküldve" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "Készlet tételek kiválasztása" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "Készlet tétel(eke)t ki kell választani a címkenyomtatás előtt" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "Nem található címke" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "Nem található címke a kiválasztott készlet tétel(ek)hez" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "Készlethely kiválasztása" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "Készlet hely(eke)t ki kell választani a címkenyomtatás előtt" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "Nem található címke a kiválasztott készlet hely(ek)hez" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "Alkatrész(eke)t ki kell választani a címkenyomtatás előtt" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "Nem található címke a kiválasztott alkatrész(ek)hez" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "Nyomtató kiválasztása" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "Exportálás PDF-be" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "kiválasztott készlet tételek" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "Címke sablon kiválasztása" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "Nem található címke" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "Címkék nyomtatónak elküldve" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9942,721 +10276,364 @@ msgstr "Nincs olvasatlan értesítés" msgid "Notifications will load here" msgstr "Az értesítések itt fognak megjelenni" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" -msgstr "Ehhez a szállítmányhoz nincs készlet hozzárendelve" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" +msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "A következő készlet tételek ki lesznek szállítva" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "Függő szállítmányok kiszállítása" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "Szállítmány megerősítése" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "Nincs függő szállítmány" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "A függő a szállítmányokhoz nincs készlet hozzárendelve" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "Kihagyás" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "Beszerzési rendelés befejezése" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "Rendelés befejezettnek jelölése?" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "Minden sortétel megérkezett" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem érkeztek be." - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "A rendelés befejezésével jelölésével annak adatai és sortételei a továbbiakban már nem lesznek szerkeszthetők." - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "Beszerzési rendelés törlése" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "Biztosan törölni szeretnéd ezt a beszerzési rendelést?" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "Ezt a beszerzési rendelést nem lehet törölni" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "Beszerzési rendelés kiküldése" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "A beszerzési rendelés kiküldése után annak sortételei a továbbiakban már nem lesznek szerkeszthetők." - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem teljesítettek." - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "Vevő rendelés törlése" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "A rendelés törlésével annak adatai a továbbiakban már nem lesznek szerkeszthetők." - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "Szállítmány létrehozása" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "Vevő hozzáadása" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "Vevői rendelés létrehozása" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "Vevői rendelés szerkesztése" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "Válaszd ki a lemásolandó beszerzési rendelést" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "Sortételek másolása" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "Összes sortétel másolása a kiválasztott rendelésből" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "Egyéb tételek másolása" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "Összes egyéb tétel másolása a kiválasztott rendelésből" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "Beszerzési rendelés szerkesztése" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "Másolási opciók" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "Rendelés exportálása" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "Legalább egy beszerezhető alkatrészt ki kell választani" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "Rendelendő mennyiség" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "Új beszállítói alkatrész" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "Új beszerzési rendelés" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "Hozzáadás beszerzési rendeléshez" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "Nincsenek egyező beszállítói alkatrészek" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "Nincsenek egyező beszerzési rendelések" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "Sortételek kiválasztása" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "Legalább egy sortételt ki kell választani" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "Batch kód hozzáadása" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "Sorozatszám hozzáadása" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "Beérkezett mennyiség" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "Érkező mennyiség" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "Készlet állapota" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "Rendelési kód" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "Megrendelve" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "Érkező mennyiség" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "Bevételezés megerősítése" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "Beszerzési rendelés tételeinek bevételezése" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "Nem található beszerzési rendelés" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "Rendelés késésben" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "Tételek" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "Az összes kijelölt sortétel törlésre kerül" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "Töröljük a kiválasztott sortételeket?" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "Sortétel másolása" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "Sortétel szerkesztése" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "Sortétel törlése" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "Nem találhatók sortételek" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "Ez a sortétel késésben van" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "Sortétel bevételezése" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "Sortétel másolása" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "Sortétel szerkesztése" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "Sortétel törlése" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "Sor másolása" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "Sor szerkesztése" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "Sor törlése" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "Sor másolása" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "Sor törlése" -#: templates/js/translated/order.js:2849 -msgid "No matching line" -msgstr "Nincs egyező sor" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" +msgstr "Nem találhatók sortételek" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" -msgstr "Nem található vevői rendelés" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" +msgstr "Sor másolása" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" -msgstr "Érvénytelen vevő" +#: templates/js/translated/order.js:333 +msgid "Edit line" +msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" -msgstr "Szállítmány szerkesztése" +#: templates/js/translated/order.js:337 +msgid "Delete line" +msgstr "Sor törlése" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "Szállítmány kiszállítása" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "Szállítmány törlése" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "Szállítmány szerkesztése" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "Szállítmány törlése" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "Nincs egyező szállímány" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "Szállítmány azonosító" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "Nincs kiszállítva" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "Nyomkövetés" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "Számla" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "Szállítmány hozzáadása" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "Készlet foglalás megerősítése" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "Készlet foglalása a vevői rendeléshez" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "Nincs vevői rendeléshez történő foglalás" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "Készlet foglalások szerkesztése" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "Törlési művelet megerősítése" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "Készlet foglalások törlése" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "Vevőnek kiszállítva" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "Készlethely nincs megadva" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "Sorozatszámok kiosztása" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "Készletrendelés" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "Árszámítás" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "Nem törölhető mivel a tételek ki lettek szállítva" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "Nem törölhető mivel tételek vannak lefoglalva" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "Sorozatszámok kiosztása" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "Egységár módosítása" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "Nincs egyező sortétel" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "Nincsenek egyező sorok" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "Alkatrész tulajdonságok" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "Alkatrész létrehozási opciók" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "Alkatrész másolási opciók" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "Alkatrész kategória hozzáadása" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "Ikon (opcionális) - Az összes ikon felfedezése itt" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "Alkatrész kategória szerkesztése" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "Biztos hogy törölni szeretnéd ezt az alkatrész kategóriát?" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "Áthelyezés fentebbi kategóriába" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "Alkatrész kategória törlése" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "A kategóriában lévő alkatrészek kezelése" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "Alkategóriák kezelése" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "Alkatrész létrehozása" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "Új alkatrész létrehozása ez után" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "Alkatrész sikeresen létrehozva" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "Alkatrész módosítva" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "Alkatrész változat létrehozása" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "Aktív alkatrész" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "Alkatrész nem törölhető mivel még aktív" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "Ezen alkatrész törlése nem vonható vissza" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "Ennek az alkatrésznek a teljes készlete törölve lesz" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "Ez az alkatrész minden alkatrészjegyzékből törölve lesz" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Ehhez az alkatrészhez rendelt minden beszállítói és gyártói információ törölve lesz" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "Alkatrész törlése" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "Értesítések kérése erre a tételre" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "Értesítések letiltva erre a tételre" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "Az alkatrészjegyzék jóváhagyása minden sortételt jóvá fog hagyni" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "Alkatrészjegyzék jóváhagyása" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "Alkatrészjegyzék jóvá lett hagyva" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "Alkatrészjegyzék másolása" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "Alacsony készlet" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "Nincs szabad" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "Igény" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "Me" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "Virtuális alkatrész" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "Értesítésre beállított alkatrész" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "Értékesíthető alkatrész" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "Új leltár riport ütemezése." -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "Amint elkészül, az új leltár riport letölthető lesz." -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "Leltár riport létrehozása" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "Leltár riport beütemezve" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "Nincs elérhető leltár előzmény" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "Leltár bejegyzés szerkesztése" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "Leltár bejegyzés törlése" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "Nincs több változat" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "Nem található beszerzési rendelés" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "Ez a sortétel késésben van" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "Sortétel bevételezése" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "Nincs alkatrész" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "Nincs kategória" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "Megjelenítés listaként" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "Megjelenítés rácsnézetként" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "Kategória beállítása a kiválasztott alkatrészekhez" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "Alkatrész kategória beállítása" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "Alkatrész kategória kiválasztása" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "Kategória megadása kötelező" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "Megjelenítés fában" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "Alkategóriák betöltése" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "Ez a teszt a szülő alkatrészhez lett felvéve" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "Nincs megadva dátum" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "A megadott dátum a múltban van" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "Spekulatív" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "Hiba az alkatrész ütemezési információinak betöltésekor" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "Minimum mennyiség" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "Minimális készlet" @@ -10714,803 +10691,1209 @@ msgstr "Nincs alkatrészváltozat infomáció" msgid "Variant Part" msgstr "Alkatrészváltozat" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "Válaszd ki a lemásolandó beszerzési rendelést" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "Sortételek másolása" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "Összes sortétel másolása a kiválasztott rendelésből" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "Egyéb tételek másolása" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "Összes egyéb tétel másolása a kiválasztott rendelésből" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "Beszerzési rendelés szerkesztése" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "Másolási opciók" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "Beszerzési rendelés befejezése" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "Rendelés befejezettnek jelölése?" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "Minden sortétel megérkezett" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem érkeztek be." + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "A rendelés befejezésével jelölésével annak adatai és sortételei a továbbiakban már nem lesznek szerkeszthetők." + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "Beszerzési rendelés törlése" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "Biztosan törölni szeretnéd ezt a beszerzési rendelést?" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "Ezt a beszerzési rendelést nem lehet törölni" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "Beszerzési rendelés kiküldése" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "Legalább egy beszerezhető alkatrészt ki kell választani" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "Rendelendő mennyiség" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "Új beszállítói alkatrész" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "Új beszerzési rendelés" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "Hozzáadás beszerzési rendeléshez" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "Nincsenek egyező beszállítói alkatrészek" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "Nincsenek egyező beszerzési rendelések" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "Sortételek kiválasztása" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "Legalább egy sortételt ki kell választani" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "Batch kód hozzáadása" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "Sorozatszám hozzáadása" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "Beérkezett mennyiség" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "Érkező mennyiség" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "Készlet állapota" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "Rendelési kód" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "Megrendelve" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "Érkező mennyiség" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "Bevételezés megerősítése" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "Beszerzési rendelés tételeinek bevételezése" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "Rendelés késésben" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "Tételek" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "Az összes kijelölt sortétel törlésre kerül" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "Töröljük a kiválasztott sortételeket?" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "Sortétel másolása" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "Sortétel szerkesztése" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "Sortétel törlése" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "Sortétel másolása" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "Sortétel szerkesztése" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "Sortétel törlése" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "kiválasztott tételek" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "Riport sablon kiválasztása" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "Teszt riport sablon kiválasztása" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "Készlet tétel(eke)t ki kell választani a riport nyomtatás előtt" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "Nem található riport" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "Nem található riport sablon a kiválasztott készlet tétel(ek)hez" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" +msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "Gyártások kiválasztása" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" +msgstr "Vevő hozzáadása" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "Gyártási utasítás(oka)t ki kell választani a riport nyomtatás előtt" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" +msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "Nem található riport sablon a kiválasztott gyártási utasítás(ok)hoz" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" +msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "Alkatrész(eke)t ki kell választani a riport nyomtatás előtt" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" +msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "Nem található riport sablon a kiválasztott alkatrész(ek)hez" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" +msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "Beszerzési rendelések kiválasztása" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" +msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "Beszerzési megrendelés(eke)t ki kell választani a riport nyomtatás előtt" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" +msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "Nem található riport sablon a kiválasztott megrendelés(ek)hez" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" +msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "Vevői rendelések kiválasztása" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" +msgstr "Érvénytelen vevő" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "Vevői rendelés(eke)t ki kell választani a riport nyomtatás előtt" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" +msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "Nincs egyező sortétel" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "Vevői rendelés létrehozása" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "Vevői rendelés szerkesztése" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "Ehhez a szállítmányhoz nincs készlet hozzárendelve" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "A következő készlet tételek ki lesznek szállítva" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "Függő szállítmányok kiszállítása" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "Szállítmány megerősítése" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "Nincs függő szállítmány" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "A függő a szállítmányokhoz nincs készlet hozzárendelve" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "Függő szállítmányok kiszállítása" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "Kihagyás" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem teljesítettek." + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "Vevő rendelés törlése" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "A rendelés törlésével annak adatai a továbbiakban már nem lesznek szerkeszthetők." + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "Szállítmány létrehozása" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "Nem található vevői rendelés" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "Szállítmány szerkesztése" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "Szállítmány kiszállítása" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "Szállítmány törlése" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "Szállítmány szerkesztése" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "Szállítmány törlése" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "Nincs egyező szállímány" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "Szállítmány azonosító" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "Nincs kiszállítva" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "Nyomkövetés" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "Számla" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "Szállítmány hozzáadása" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "Készlet foglalás megerősítése" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "Készlet foglalása a vevői rendeléshez" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "Nincs vevői rendeléshez történő foglalás" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "Készlet foglalások szerkesztése" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "Törlési művelet megerősítése" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "Készlet foglalások törlése" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "Vevőnek kiszállítva" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "Készlethely nincs megadva" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "Sorozatszámok kiosztása" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "Készletrendelés" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "Árszámítás" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "Nem törölhető mivel a tételek ki lettek szállítva" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "Nem törölhető mivel tételek vannak lefoglalva" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "Sorozatszámok kiosztása" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "Egységár módosítása" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "Eredmények összezárása" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "Eredmények eltávolítása" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "Készlet tétel sorszámozása" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "Készlet sorozatszámozás megerősítése" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "Felsőbb szintű készlet hely" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "Készlet hely szerkesztése" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "Új készlet hely" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "Biztosan törölni szeretnéd ezt a készlet helyet?" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "Szülő készlet helyre mozgatás" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "Készlethely törlése" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "Műveletek az ezen a helyen lévő tételekhez" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "Műveletek az al-helyekhez" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "Ezt az alkatrészt nem lehet sorozatszámozni" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "Készlet tétel lemásolva" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "Készlet tétel másolása" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "Biztosan törölni szeretnéd ezt a készlet tételt?" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "Készlet tétel törlése" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "Készlet tétel szerkesztése" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "Készlet tétel létrehozva" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "Több készlet tétel létre lett hozva" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "Sorozatszám keresése" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "Sorozatszám megadása" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "Adj meg egy sorozatszámot" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "Nincs egyező sorozatszám" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "Több egyező eredmény is van" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "Készlet hozzárendelés jóváhagyása" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "Készlet vevőhöz rendelése" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "Figyelem: az összevonási művelet nem vonható vissza" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "Némi információ elveszik a készlet összevonás során" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "A készlettörténet törölve lesz az összevont tételeknél" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "A beszállítói alkatrész információk törlődnek az összevont tételeknél" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "Készlet összevonás megerősítése" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "Készlet tételek összevonása" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "Készlet áthelyezése" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "Áthelyezés" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "Leltározás" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "Mennyiség" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "Készlet csökkentése" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "Kivesz" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "Készlet növelése" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "Hozzáad" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "Készlet törlése" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosítható" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "Készlet mennyiség megadása" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "Készlet tételek kiválasztása" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "Ki kell választanod legalább egy rendelkezésre álló készlet tételt" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "Készlet módosítás jóváhagyása" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "SIKER" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "SIKERTELEN" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "NINCS EREDMÉNY" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "Teszt sikeres" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "Teszt eredmény hozzáadása" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "Nincs teszt eredmény" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "Teszt dátuma" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "Gyártásban" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "Beépítve készlet tételbe" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "Vevő rendeléshez hozzárendelve" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "Nincs hely megadva" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "Készlet tétel gyártás alatt" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "Készlet tétel teljes egészében lefoglalva" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "Készlet tétel részben lefoglalva" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "Készlet tétel beépítve egy másikba" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "Készlet tétel lejárt" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "Készlet tétel hamarosan lejár" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "Készlet tétel elutasítva" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "Készlet tétel elveszett" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "Készlet tétel megsemmisült" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "Készletérték" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "Készlet állapot beállítása" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "Státuszkód kiválasztása" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "Státuszkódot ki kell választani" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "Alhelyek betöltése" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "Másik tétel beépítése ebbe a készlet tételbe" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "A készlet tétel jelenleg elérhető készleten" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "A készlet tétel még nem épült be egy másik tételbe" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "Követésre kötelezett" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "Gyártmány alkatrész" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "Van elérhető készlete" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "Készlet változatok engedélyezése" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "Van árazás" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "Alhelyekkel együtt" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "Helyekkel együtt" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "Alkategóriákkal együtt" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "Értesítés beállítva" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "Sorozatszámos" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "Sorozatszám >=" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "Sorozatszám nagyobb vagy egyenlő mint" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "Sorozatszám <=" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "Sorozatszám kisebb vagy egyenlő mint" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "Sorozatszám" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "Batch kód" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "Aktív alkatrész" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "Aktív alkatrészek készletének megjelenítése" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "Az alkatrész egy gyártmány" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "Lefoglalt" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "Az tétel lefoglalásra került" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "Felhasználható készlet" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "Alhelyeken lévő készlettel együtt" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "Kimerült készlet tételek megjelenítése" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "Készleten lévő tételek megjelenítése" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "Gyártásban" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "Gyártásban lévő tételek megjelenítése" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "Változatokkal együtt" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "Alkatrészváltozatok készletével együtt" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "Beépítve" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "Másik tételbe beépült tételek mutatása" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "Készlet tételek melyek hozzá vannak rendelve egy vevőhöz" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "Készlet állapota" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "Van batch kódja" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "Követett" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "Követett készlet tétel sorozatszámmal vagy batch kóddal" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "Van beszerzési ára" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "Beszerzési árral rendelkező készlet tételek megjelenítése" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "Lejárat előtt" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "Lejárat után" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "Lejárt készlet tételek megjelenítése" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "Hamarosan lejáró készlet tételek megjelenítése" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "Teszten megfelelt" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "Beépített tételekkel együtt" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "Gyártási állapot" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "Hozzám rendelt" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "Rendelés állapota" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "Kintlévő" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "Hozzám rendelt" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "Követésre kötelezett" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "Gyártmány alkatrész" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "Van elérhető készlete" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "Készlet változatok engedélyezése" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "Van árazás" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "Alhelyekkel együtt" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "Helyekkel együtt" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "Alkategóriákkal együtt" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "Értesítés beállítva" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "Sorozatszámos" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "Sorozatszám >=" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "Sorozatszám nagyobb vagy egyenlő mint" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "Sorozatszám <=" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "Sorozatszám kisebb vagy egyenlő mint" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "Sorozatszám" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "Batch kód" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "Aktív alkatrész" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "Aktív alkatrészek készletének megjelenítése" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "Az alkatrész egy gyártmány" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "Lefoglalt" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "Az tétel lefoglalásra került" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "Felhasználható készlet" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "Alhelyeken lévő készlettel együtt" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "Kimerült készlet tételek megjelenítése" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "Készleten lévő tételek megjelenítése" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "Gyártásban" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "Gyártásban lévő tételek megjelenítése" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "Változatokkal együtt" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "Alkatrészváltozatok készletével együtt" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "Beépítve" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "Másik tételbe beépült tételek mutatása" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "Készlet tételek melyek hozzá vannak rendelve egy vevőhöz" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "Készlet állapota" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "Van batch kódja" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "Követett" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "Követett készlet tétel sorozatszámmal vagy batch kóddal" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "Van beszerzési ára" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "Beszerzési árral rendelkező készlet tételek megjelenítése" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "Lejárat előtt" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "Lejárat után" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "Lejárt készlet tételek megjelenítése" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "Hamarosan lejáró készlet tételek megjelenítése" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "Teszten megfelelt" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "Beépített tételekkel együtt" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "Gyártási állapot" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "Alkategóriákkal együtt" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "Aktív alkatrészek megjelenítése" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "Elérhető" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "Van IPN-je" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "Van belső cikkszáma" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "Készleten" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "Beszerezhető" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "Volt leltár" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "Naptár nézet megjelenítése" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "Lista nézet megjenítése" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "Fa nézet megjelenítése" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "Sorok kinyitása" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "Sorok becsukása" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "Táblázat exportálása" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "Fájlfomátum kiválasztása" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "Adatok betöltése" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "sor oldalanként" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "Összes sor mutatása" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "Látható" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "-" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "a" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "sorból," -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "Nincs egyező eredmény" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "Lapozó elrejtése/megjelenítése" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "Átváltás" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "Oszlopok" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "Összes" @@ -11522,19 +11905,19 @@ msgstr "Beszerzés" msgid "Sell" msgstr "Értékesítés" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "Értesítések megjelenítése" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "Új értesítések" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "Admin" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "Kijelentkezés" @@ -11680,55 +12063,51 @@ msgstr "Email beállítások hiányoznak" msgid "Barcode Actions" msgstr "Vonalkód műveletek" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "Teszt riportok nyomtatása" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "Készlet opciók" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "Kiválasztott tételek mennyiségének növelése" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "Kiválasztott tételek mennyiségének csökkentése" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "Kiválasztott készlet tételek leltározása" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "Kiválasztott tételek áthelyezése" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "Kiválasztott tételek összevonása" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "Készlet összevonása" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "Kiválasztott tételek megrendelése" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "Állapot módosítása" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "Készlet állapot módosítása" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "Kiválasztott tételek törlése" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "Készlet törlése" @@ -11748,51 +12127,51 @@ msgstr "Felhasználók" msgid "Select which users are assigned to this group" msgstr "Válaszd ki mely felhasználók tartoznak ehhez a csoporthoz" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "A kövekező felhasználók több csoportnak is tagjai:" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "Személyes adatok" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "Jogosultságok" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "Fontos dátumok" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "Jogosultságok" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "Csoport" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "Nézet" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "Jogosultság tételek megtekintéséhez" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "Jogosultság tételek hozzáadásához" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "Módosítás" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "Jogosultság tételek szerkesztéséhez" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 4cced6cf7b..527a575c46 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:29\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:39\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Masukkan tanggal" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Catatan" @@ -134,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "URL yang diberikan bukan file gambar yang valid" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" @@ -206,8 +209,8 @@ msgstr "File tidak ditemukan" msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Lampiran" @@ -216,24 +219,24 @@ msgstr "Lampiran" msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Komentar" @@ -242,13 +245,13 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Pengguna" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Nama" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Keterangan" @@ -343,7 +350,7 @@ msgid "parent" msgstr "induk" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Direktori" @@ -355,7 +362,7 @@ msgstr "Data Barcode" msgid "Third party barcode data" msgstr "Data barcode pihak ketiga" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Barcode Hash" @@ -375,12 +382,12 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -568,157 +575,191 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Diletakkan" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Selesai" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Dibatalkan" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Hilang" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Dikembalikan" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Dikirim" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Butuh perhatian" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Rusak" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Hancur" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Ditolak" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Item stok dibuat" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Item stok diubah" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Nomor seri yang ditetapkan" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Stok terhitung" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Stok yang ditambahkan manual" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Stok yang dikurangi manual" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Lokasi berubah" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Dirakit ke" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Diambil dari" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Komponen terpasang" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Komponen terlepas" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Dipisah dari item induk" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Pisah item dari barang induk" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Stok item digabungkan" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Dikonversi ke variasi" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Terkirim ke pelanggan" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Dikembalikan pelanggan" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Output order produksi dibuat" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Order output produksi selesai" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Terpakai oleh order produksi" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Diterima dari order pembelian" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Produksi" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Bukan kode mata uang yang valid" @@ -751,28 +792,28 @@ msgstr "Bidang kata sandi tidak cocok" msgid "Wrong password provided" msgstr "Kata sandi yang salah" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Informasi Sistem" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Tentang InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Order Produksi" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Order Produksi" msgid "Build Orders" msgstr "Order Produksi" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Pilihan produksi induk tidak valid" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Referensi" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Deskripsi singkat produksi" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produksi Induk" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Produksi induk dari produksi ini" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Bagian" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Pilih bagian untuk diproduksi" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Referensi Order Penjualan" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Lokasi Sumber" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Pilih dari lokasi mana stok akan diambil untuk produksi ini (kosongkan untuk mengambil stok dari mana pun)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Lokasi Tujuan" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Pilih lokasi di mana item selesai akan disimpan" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Jumlah Produksi" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Jumlah item stok yang akan dibuat" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Item selesai" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Jumlah stok item yang telah diselesaikan" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Status pembuatan" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Tanggal Pembuatan" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Target tanggal selesai" -#: build/models.py:259 +#: build/models.py:260 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:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Tanggal selesai" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "diselesaikan oleh" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Diserahkan oleh" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Penanggung Jawab" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Catatan tambahan produksi" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:1189 +#: build/models.py:1190 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:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Item stok yang dipilih tidak ditemukan dalam daftar barang order" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Produksi" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Tujuan stok item" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Hasil Produksi" @@ -1139,9 +1205,9 @@ msgstr "Hasil produksi tidak dialokasikan sepenuhnya" msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" @@ -1154,9 +1220,9 @@ msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Nomor Seri" @@ -1172,7 +1238,7 @@ msgstr "Alokasikan nomor seri secara otomatis" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Lokasi" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" @@ -1266,7 +1338,7 @@ msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini" msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" @@ -1282,8 +1354,8 @@ msgstr "Jumlah produksi yang diperlukan masih belum cukup" msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "Item tagihan material" @@ -1303,7 +1375,7 @@ msgstr "bom_item.part harus mengarah ke bagian yang sesuai dengan order produksi msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" @@ -1320,7 +1392,7 @@ msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak te msgid "This stock item has already been allocated to this build output" msgstr "Stok item ini telah dialokasikan ke hasil produksi ini" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Cetak aksi" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3165,6 +3283,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN harus sesuai dengan pola regex {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 9da463fcab..594339a8ad 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Inserisci la data" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Note" @@ -134,7 +137,7 @@ msgstr "Il server remoto ha restituito una risposta vuota" msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" @@ -206,8 +209,8 @@ msgstr "File mancante" msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Allegato" @@ -216,24 +219,24 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Link a URL esterno" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Commento" @@ -242,13 +245,13 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Utente" @@ -289,48 +292,52 @@ msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Descrizione" @@ -343,7 +350,7 @@ msgid "parent" msgstr "genitore" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Percorso" @@ -355,7 +362,7 @@ msgstr "Dati del Codice a Barre" msgid "Third party barcode data" msgstr "Dati Codice a Barre applicazioni di terze parti" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Codice a Barre" @@ -375,12 +382,12 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Deve essere un numero valido" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Valuta" @@ -568,157 +575,191 @@ msgstr "Server di posta non configurato" msgid "InvenTree system health checks failed" msgstr "Controlli di sistema InvenTree falliti" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "In attesa" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Inviato" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Completo" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Annullato" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Perso" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Reso" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Spedito" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Attenzione necessaria" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Danneggiato" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Distrutto" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Respinto" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "In quarantena" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Voce di tracciamento stock preesistente" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Elemento stock creato" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Elemento stock modificato" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Numero di serie assegnato" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Stock contato" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Stock aggiunto manualmente" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Stock rimosso manualmente" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Posizione cambiata" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Installato nell'assemblaggio" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Rimosso dall'assemblaggio" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Componente installato" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Elemento componente rimosso" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Diviso dall'elemento genitore" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Elemento stock raggruppato" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Convertito in variante" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Inviato al cliente" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Restituito dal cliente" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Genera l'output dell'ordine creato" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Build order output completato" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Impegnato dall'ordine di costruzione" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Ricevuto contro l'ordine di acquisto" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Produzione" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Non è un codice valuta valido" @@ -751,28 +792,28 @@ msgstr "Le password devono coincidere" msgid "Wrong password provided" msgstr "Password inserita non corretta" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Informazioni sistema" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Informazioni Su InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Ordine di Produzione" msgid "Build Orders" msgstr "Ordini di Produzione" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Scelta non valida per la produzione genitore" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Riferimento" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Breve descrizione della produzione" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produzione Genitore" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Articolo" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Selezionare parte da produrre" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Numero di riferimento ordine di vendita" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Posizione Di Origine" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleziona la posizione da cui prelevare la giacenza (lasciare vuoto per prelevare da qualsiasi posizione di magazzino)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Posizione Della Destinazione" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Quantità Produzione" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Numero di articoli da costruire" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Articoli completati" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Numero di articoli di magazzino che sono stati completati" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Stato Produzione" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Data completamento obiettivo" -#: build/models.py:259 +#: build/models.py:260 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:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Data di completamento" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "Completato da" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Rilasciato da" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Responsabile" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "Utente o gruppo responsabile di questo ordine di produzione" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Note aggiuntive" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "Priorità di produzione" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "L'ordine di produzione {build} è stato completato" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:1189 +#: build/models.py:1190 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:1198 +#: build/models.py:1199 #, 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:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Articolo in giacenza selezionato non trovato nel BOM" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Produzione" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "Costruisci per allocare gli articoli" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Quantità" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Installa in" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Genera Output" @@ -1139,9 +1205,9 @@ msgstr "Questo output non è stato completamente assegnato" msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1154,9 +1220,9 @@ msgstr "Quantità totale richiesta per articoli rintracciabili" 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:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Codice Seriale" @@ -1172,7 +1238,7 @@ msgstr "Numeri di Serie Assegnazione automatica" msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" @@ -1180,18 +1246,21 @@ msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Posizione" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Stato" @@ -1266,7 +1338,7 @@ msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegn msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "Accetta Incompleta" @@ -1282,8 +1354,8 @@ msgstr "La quantità di produzione richiesta non è stata completata" msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "Distinta base (Bom)" @@ -1303,7 +1375,7 @@ msgstr "gli elementi degli articoli della distinta base devono puntare alla stes msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" @@ -1320,7 +1392,7 @@ msgstr "L'output di produzione non deve essere specificato per l'ubicazione dell 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:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" @@ -1375,6 +1447,7 @@ msgstr "L'ordine di produzione {bo} è in ritardo" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Azioni di stampa" @@ -1443,13 +1516,18 @@ 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:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Data scadenza" @@ -1460,31 +1538,35 @@ msgstr "Questa produzione era in scadenza il %(target)s" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "In ritardo" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Completato" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Ordini di Vendita" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "Inviato da" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Priorità" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "Elimina Ordine Build" @@ -1515,8 +1597,9 @@ 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:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "Destinazione" @@ -1530,19 +1613,20 @@ msgstr "Articoli Assegnati" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "Lotto" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Creato" @@ -1562,7 +1646,7 @@ msgstr "Ordine di Produzione Subordinato" msgid "Allocate Stock to Build" msgstr "Assegna Scorte alla Produzione" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "Scorte Non Assegnate" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "Ordina articoli richiesti" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Ordine Articoli" @@ -1645,27 +1730,19 @@ msgstr "Cancella la produzione selezionata" msgid "Delete outputs" msgstr "Cancella l'output" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "Azioni di stampa" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "Stampa etichette" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "Produzioni Completate" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "Produzioni Completate" msgid "Attachments" msgstr "Allegati" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "Genera Note" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "Assegnazione Completa" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "Tutte le giacenze non tracciate sono state assegnate" @@ -1689,10 +1766,6 @@ msgstr "Tutte le giacenze non tracciate sono state assegnate" msgid "New Build Order" msgstr "Nuovo Ordine di Produzione" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "Stampa gli Ordini di Produzione" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "Dettagli Ordine di Produzione" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "giorni" @@ -2025,9 +2098,9 @@ msgstr "Copia Template Parametri Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "Modello" @@ -2035,10 +2108,10 @@ msgstr "Modello" msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "Assemblaggio" @@ -2046,8 +2119,8 @@ msgstr "Assemblaggio" msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "Componente" @@ -2055,7 +2128,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "Acquistabile" @@ -2063,8 +2136,8 @@ msgstr "Acquistabile" msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "Vendibile" @@ -2072,10 +2145,10 @@ msgstr "Vendibile" msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "Tracciabile" @@ -2083,10 +2156,10 @@ msgstr "Tracciabile" msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "Virtuale" @@ -2118,7 +2191,7 @@ msgstr "Dati iniziali dello stock" 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:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" #: common/models.py:1445 +msgid "Enable Return Orders" +msgstr "" + +#: common/models.py:1446 +msgid "Enable return order functionality in the user interface" +msgstr "" + +#: common/models.py:1452 +msgid "Return Order Reference Pattern" +msgstr "" + +#: common/models.py:1453 +msgid "Required pattern for generating Return Order reference field" +msgstr "" + +#: common/models.py:1459 +msgid "Edit Completed Return Orders" +msgstr "" + +#: common/models.py:1460 +msgid "Allow editing of return orders after they have been completed" +msgstr "" + +#: common/models.py:1466 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1446 +#: common/models.py:1467 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1452 +#: common/models.py:1473 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1453 +#: common/models.py:1474 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1459 +#: common/models.py:1480 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1460 +#: common/models.py:1481 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:1466 +#: common/models.py:1487 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1467 +#: common/models.py:1488 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1473 +#: common/models.py:1494 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1474 +#: common/models.py:1495 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:1481 +#: common/models.py:1502 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1482 +#: common/models.py:1503 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1488 +#: common/models.py:1509 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1489 +#: common/models.py:1510 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1495 +#: common/models.py:1516 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1496 +#: common/models.py:1517 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1502 +#: common/models.py:1523 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1503 +#: common/models.py:1524 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:1509 +#: common/models.py:1530 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1510 +#: common/models.py:1531 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1516 +#: common/models.py:1537 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1517 +#: common/models.py:1538 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:1523 +#: common/models.py:1544 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:1524 +#: common/models.py:1545 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:1530 +#: common/models.py:1551 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:1531 +#: common/models.py:1552 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:1537 +#: common/models.py:1558 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:1538 +#: common/models.py:1559 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Limita la registrazione a determinati domini (separati da virgola, che cominciano con @)" -#: common/models.py:1544 +#: common/models.py:1565 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:1545 +#: common/models.py:1566 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:1551 +#: common/models.py:1572 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:1552 +#: common/models.py:1573 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:1558 +#: common/models.py:1579 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:1559 +#: common/models.py:1580 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:1566 +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "Controlla le firme del plugin" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "Controlla e mostra le firme per i plugin" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "Funzionalità Dell'Inventario" -#: common/models.py:1615 +#: common/models.py:1636 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:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "Inventario periodico automatico" -#: common/models.py:1622 +#: common/models.py:1643 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:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 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:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "Nessuna stampante (Esporta in PDF)" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "Conteggio Ultimi Articoli" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "Numero di articoli da visualizzare sulla pagina indice" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "Mostra distinta base non convalidata" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "Recente Conteggio Giacenze" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "Numero di giacenze recenti da visualizzare sulla pagina indice" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:1753 +#: common/models.py:1774 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:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1823 +#: common/models.py:1844 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:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:1830 +#: common/models.py:1851 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:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1837 +#: common/models.py:1858 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:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:1886 +#: common/models.py:1907 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:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:1941 +#: common/models.py:1962 +msgid "Search Return Orders" +msgstr "" + +#: common/models.py:1963 +msgid "Display return orders in search preview window" +msgstr "" + +#: common/models.py:1969 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:1970 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:1976 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:1942 +#: common/models.py:1977 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:1948 +#: common/models.py:1983 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:1949 +#: common/models.py:1984 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:1955 +#: common/models.py:1990 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:1956 +#: common/models.py:1991 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:1962 +#: common/models.py:1997 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:1963 +#: common/models.py:1998 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:1969 +#: common/models.py:2004 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:1970 +#: common/models.py:2005 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:1984 part/templates/part/detail.html:41 +#: common/models.py:2019 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:1985 +#: common/models.py:2020 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:1991 part/templates/part/detail.html:62 +#: common/models.py:2026 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:1992 +#: common/models.py:2027 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:1998 +#: common/models.py:2033 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:1999 +#: common/models.py:2034 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:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "Prezzo" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "Attivo" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "Token" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "Segreto" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "Host" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "Intestazione" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "Contenuto" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "Id" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "Titolo" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "Pubblicato" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autore" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "Letto" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" @@ -3079,7 +3193,7 @@ msgstr "Nuovo {verbose_name}" msgid "A new order has been created and assigned to you" msgstr "Un nuovo ordine è stato creato e assegnato a te" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "Elemento ricevuto" @@ -3087,19 +3201,23 @@ msgstr "Elemento ricevuto" 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:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "Errore generato dal plugin" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Carica file" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "Descrizione dell'azienda" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "Sito Web" @@ -3165,6 +3283,7 @@ msgstr "Numero di telefono di contatto" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "Email" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "Indirizzo email" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "Contatto" @@ -3184,11 +3306,11 @@ msgstr "Punto di contatto" msgid "Link to external company information" msgstr "Collegamento alle informazioni aziendali esterne" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Immagine" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "Note Dell'Azienda" @@ -3222,209 +3344,215 @@ msgstr "Valuta predefinita utilizzata per questa azienda" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "Azienda" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Articolo di base" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Produttore" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "Codice articolo produttore" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "Valore" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "Unità" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "Unità parametri" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Fornitore" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "SKU" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "Selezionare un produttore" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "Nota" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "costo base" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "Confezionamento" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "Quantità Confezione" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "Quantità unitaria contenuta in una singola confezione" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "multiplo" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "Ordine multiplo" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "Disponibile" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "Quantità disponibile dal fornitore" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "Disponibilità Aggiornata" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "Valuta predefinita utilizzata per questo fornitore" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "Crea ordine d'acquisto" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "Modifica le informazioni dell'azienda" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "Modifica azienda" @@ -3474,14 +3602,17 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Cliente" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "Telefono" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "Rimuovi immagine" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "Rimuovi l'immagine associata a questa azienda" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Rimuovi" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "Carica immagine" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "Download Immagine" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Articoli fornitore" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "Crea nuovo fornitore" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Nuovo fornitore articolo" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "Articoli ordinati" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "Cancella articoli" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "Cancella articoli" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Articoli Produttore" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "Crea nuovo articolo produttore" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nuovo Produttore Articoli" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "Giacenza Fornitore" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "Giacenza Fornitore" msgid "Purchase Orders" msgstr "Ordine di acquisto" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Crea nuovo ordine di acquisto" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Nuovo Ordine di Acquisto" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Ordini di Vendita" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Crea nuovo ordine di vendita" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Nuovo Ordine di Vendita" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "Assegna Giacenza" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Elenco dei fornitori" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "Articoli ordinati" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "Modifica articolo produttore" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "Cancella articolo produttore" @@ -3669,9 +3830,9 @@ msgstr "Elimina articolo fornitore" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "Elimina" @@ -3693,7 +3854,7 @@ msgstr "Nuovo Parametro" msgid "Delete parameters" msgstr "Elimina il parametro" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Aggiungi parametro" @@ -3710,15 +3871,20 @@ msgstr "Articoli Forniti" msgid "Supplied Stock Items" msgstr "Elementi in Giacenza Forniti" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "Elementi in Giacenza Impegnati" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Articolo Fornitore" @@ -3739,8 +3905,8 @@ msgstr "Mostra QR Code" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "Scollega Codice a Barre" @@ -3769,13 +3935,13 @@ msgstr "Aggiorna Disponibilità" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "Modifica fornitore articolo" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "Duplica Articoli Fornitore" @@ -3809,7 +3975,7 @@ msgstr "Crea nuova allocazione magazzino" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "Informazioni Prezzi" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Aggiungi riduzione prezzo" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "Aggiorna Disponibilità Articolo" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -3897,7 +4063,7 @@ msgstr "Etichetta" msgid "Label template file" msgstr "File modello etichetta" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "Abilitato" @@ -3921,7 +4087,7 @@ msgstr "Altezza [mm]" msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "Formato del nome file" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori)," #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "Filtri" @@ -3946,457 +4113,534 @@ msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Articolo Filtri di ricerca (elenco separato da virgole key=coppia di valori)" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "Sconosciuto" -#: order/models.py:86 -msgid "Order description" -msgstr "Descrizione ordine" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "Collegamento a un sito web esterno" - -#: order/models.py:96 -msgid "Created By" -msgstr "Creato Da" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "Utente o gruppo responsabile di questo ordine" - -#: order/models.py:108 -msgid "Order notes" -msgstr "Note ordine" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "Prezzo Totale" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" -msgstr "Riferimento ordine" +#: order/models.py:177 +msgid "Contact does not match selected company" +msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" -msgstr "Stato ordine d'acquisto" +#: order/models.py:199 +msgid "Order description" +msgstr "Descrizione ordine" -#: order/models.py:283 -msgid "Company from which the items are being ordered" -msgstr "Azienda da cui sono stati ordinati gli articoli" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" +msgstr "Collegamento a un sito web esterno" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "Riferimento fornitore" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "Codice di riferimento ordine fornitore" - -#: order/models.py:293 -msgid "received by" -msgstr "ricevuto da" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "Data di emissione" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "Data di emissione ordine" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "Data di consegna programmata" - -#: order/models.py:305 +#: order/models.py:206 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:311 +#: order/models.py:215 +msgid "Created By" +msgstr "Creato Da" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "Utente o gruppo responsabile di questo ordine" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "Note ordine" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "Riferimento ordine" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "Stato ordine d'acquisto" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "Azienda da cui sono stati ordinati gli articoli" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "Riferimento fornitore" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "Codice di riferimento ordine fornitore" + +#: order/models.py:365 +msgid "received by" +msgstr "ricevuto da" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "Data di emissione" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "Data di emissione ordine" + +#: order/models.py:377 order/models.py:1699 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:350 +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "Data di completamento dell'ordine. Dopo tale data l'ordine sarà in ritardo." - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "spedito da" -#: order/models.py:770 +#: order/models.py:814 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:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "Solo un ordine in sospeso può essere contrassegnato come completato" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 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:780 +#: order/models.py:824 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:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:995 +#: order/models.py:1051 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:1012 +#: order/models.py:1068 msgid "Context" msgstr "Contesto" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "eliminato" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "Ordine" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Ricevuto" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1180 +#: order/models.py:1236 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:1185 +#: order/models.py:1241 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:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "Note di spedizione" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1463 +#: order/models.py:1523 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:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "Linea" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "Elemento" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "L'ordine non è aperto" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "Campo identificativo univoco" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "I seguenti numeri di serie sono già assegnati" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Ordine D'Acquisto in ritardo" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "Stampa report ordine acquisto" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "Esportare File Ordine" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "Azioni Ordine" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "Modifica ordine" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "Annulla l'ordine" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "Ricevere articoli" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "Ricevi elementi" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "Contrassegna ordine come completato" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "Completa l'ordine" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "Riferimento ordine" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "Descrizione Dell'Ordine" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "Stato dell'ordine" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "Nessuna informazione sul fornitore disponibile" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "Elementi della linea completati" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "Incompleto" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Emesso" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "Costo totale" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "Il costo totale non può essere calcolato" @@ -4560,11 +4813,13 @@ msgstr "Duplica selezionati" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Elimina riga" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "Passo %(step)s di %(count)s" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "Elementi Riga" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "Elementi D'Ordine D'Acquisto" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "Aggiungi Elemento Riga" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" -msgstr "Ricevi gli elementi selezionati" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" +msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "Linee Extra" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "Aggiungi Linea Extra" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "Elementi Ricevuti" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "Note dell'Ordine" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" -msgstr "Aggiungi Linea all'Ordine" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" +msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" -msgstr "Stampa i rapporti dell'ordine" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "Stampa lista d'imballaggio" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "Riferimento Cliente" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "Costo Totale" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" +msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "Stampa il rapporto dell'ordine delle vendite" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" -msgstr "Stampa lista d'imballaggio" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" +msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "Spedizioni Completate" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "Completa Ordine Di Vendita" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "Questo Ordine di Vendita non è stato assegnato completamente" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "Riferimento Cliente" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "Spedizione in sospeso" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "Azioni" @@ -4716,34 +5003,34 @@ msgstr "Azioni" msgid "New Shipment" msgstr "Nuova spedizione" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "Corrispondenza Articoli del Fornitore" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "Ordine di Vendita non trovato" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "Prezzo non trovato" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "Aggiornato {part} prezzo unitario a {price}" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format 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:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome Articolo" @@ -4752,19 +5039,19 @@ msgstr "Nome Articolo" msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Revisione" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "Parole Chiave" @@ -4785,20 +5072,20 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Scorta Minima" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "In magazzino" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "Ordinato" @@ -4806,22 +5093,22 @@ msgstr "Ordinato" msgid "Used In" msgstr "Utilizzato In" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "Allocato" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "In Costruzione" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "Costo Massimo" @@ -4838,13 +5125,13 @@ msgstr "Nome Principale" msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Articoli" @@ -4861,7 +5148,7 @@ msgstr "ID Elemento Distinta Base" msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "IPN Articolo" @@ -4875,35 +5162,35 @@ msgstr "Prezzo Minimo" msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "Ordine D'Acquisto In Arrivo" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "Ordine di Vendita in Uscita" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "Giacenza prodotta dall'Ordine di Costruzione" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "Giacenza richiesta per l'Ordine di Produzione" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "Valido" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "Posizione Predefinita" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "Giacenze Totali" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "Disponibilità in magazzino" @@ -4921,664 +5208,665 @@ msgstr "Disponibilità in magazzino" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "Strutturale" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate." -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "Keywords predefinite" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "Icona" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "Icona (facoltativa)" -#: part/models.py:159 +#: part/models.py:158 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:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, 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:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN deve corrispondere al modello regex {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "È Template" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "Variante Di" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "Descrizione articolo" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "Categoria" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:967 +#: part/models.py:966 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:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1018 +#: part/models.py:1017 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:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "Note Articolo" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "Utente responsabile di questo articolo" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Data" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "Report" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3210 +#: part/models.py:3222 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:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "Una prova con questo nome esiste già per questo articolo" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "Richiesto" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3266 +#: part/models.py:3278 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:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3272 +#: part/models.py:3284 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:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "Unità Parametri" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "Dati" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "Livello" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "Opzionale" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "Consumabile" -#: part/models.py:3582 +#: part/models.py:3594 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:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "Convalidato" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 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:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:3615 +#: part/models.py:3627 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:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:3849 +#: part/models.py:3861 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:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:3907 +#: part/models.py:3919 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:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "Duplica articolo" @@ -5671,7 +5959,7 @@ msgstr "Duplica articolo" msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "Stock iniziale" @@ -5816,9 +6104,9 @@ msgstr "Notifica di magazzino bassa" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo configurato" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "Quantità Totale" @@ -5901,7 +6189,7 @@ msgstr "Cancella categoria" msgid "Top level part category" msgstr "Categoria articolo di livello superiore" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Sottocategorie" @@ -5931,23 +6219,19 @@ msgstr "Imposta categoria" msgid "Set Category" msgstr "Imposta Categoria" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "Stampa Etichette" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "Parametri articolo" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "Crea nuova categoria articoli" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "Nuova categoria" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "Crea Categoria Articolo" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "Aggiorna i dati di pianificazione" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "Aggiorna" @@ -5995,7 +6279,7 @@ msgstr "Aggiungi informazioni inventario" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "Inventario" @@ -6093,15 +6377,15 @@ msgstr "Componenti Produttori" msgid "Delete manufacturer parts" msgstr "Elimina articoli produttore" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "Articoli correlati" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "Aggiungi articolo correlato" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "Aggiungi risultato modello test" @@ -6136,13 +6420,13 @@ msgstr "Scarica il Modello Articolo Importato" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "Formato" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "Seleziona il formato del file" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "L'Articolo è virtuale (non è un articolo fisico)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "Inattivo" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "Mostra i Dettagli Articolo" @@ -6259,7 +6543,7 @@ msgstr "Assegnato agli Ordini di Produzione" msgid "Allocated to Sales Orders" msgstr "Assegnato agli Ordini di Vendita" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "Puoi produrre" @@ -6267,8 +6551,8 @@ msgstr "Puoi produrre" msgid "Minimum stock level" msgstr "Livello minimo di giacenza" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "QR Code Articolo" msgid "Link Barcode to Part" msgstr "Collega il codice a barre all'Articolo" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "Calcola" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "Rimuovi l'immagine associata all'articolo" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "Nessuna immagine corrispondente trovata" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "Nascondi Dettagli dell'Articolo" @@ -6319,15 +6603,6 @@ msgstr "Prezzo del Fornitore" msgid "Unit Cost" msgstr "Costo Unitario" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "Costo Totale" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "Nessun prezzo del fornitore disponibile" @@ -6370,9 +6645,9 @@ msgstr "Varianti" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -6403,9 +6678,9 @@ msgstr "Aggiorna prezzo articolo" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -6468,8 +6743,8 @@ msgstr "Prezzo di Vendita" msgid "Add Sell Price Break" msgstr "Aggiungi Prezzo Ribassato di Vendita" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "Nessuna giacenza" @@ -6795,87 +7070,91 @@ msgstr "Il file del modello '{template}' è mancante o non esiste" msgid "Test report" msgstr "Report test" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "Nome modello" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "File modello di report" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "Descrizione del modello report" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "Numero di revisione del rapporto (auto-incrementi)" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "Sequenza per generare i nomi dei file report" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "Modello report abilitato" -#: report/models.py:281 +#: report/models.py:286 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:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "Includi Test Installati" -#: report/models.py:290 +#: report/models.py:295 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:337 +#: report/models.py:369 msgid "Build Filters" msgstr "Filtri di produzione" -#: report/models.py:338 +#: report/models.py:370 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:377 +#: report/models.py:409 msgid "Part Filters" msgstr "Filtri Articolo" -#: report/models.py:378 +#: report/models.py:410 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:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "Ordine di Acquisto filtra la ricerca" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "Ordine di Vendita filtra la ricerca" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "Snippet" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "Risorsa" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "File risorsa descrizione" @@ -6887,75 +7166,90 @@ msgstr "Materiali necessari" msgid "Required For" msgstr "Richiesto Per" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "Il fornitore è stato eliminato" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "Prezzo Unitario" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 msgid "Total" msgstr "Totale" +#: report/templates/report/inventree_return_order_report_base.html:25 +#: report/templates/report/inventree_test_report_base.html:88 +#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "Numero Seriale" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Test Report Elemento Stock" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "Numero Seriale" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "Risultati Test" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "Test" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "Risultato" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "Passaggio" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "Fallito" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Elementi installati" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "Seriale" @@ -6996,7 +7290,7 @@ msgstr "Nome Fornitore" msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "Installato In" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "Data di Scadenza" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "Ubicazione magazzino" msgid "Stock Locations" msgstr "Posizioni magazzino" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "Proprietario" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "Seleziona Owner" @@ -7068,8 +7362,8 @@ msgstr "Seleziona Owner" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "Esterno" @@ -7081,218 +7375,218 @@ msgstr "Si tratta di una posizione esterna al magazzino" 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:551 +#: stock/models.py:549 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:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Il tipo di articolo ('{pf}') deve essere {pe}" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 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:605 +#: stock/models.py:603 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:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "L'elemento non può appartenere a se stesso" -#: stock/models.py:633 +#: stock/models.py:631 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:647 +#: stock/models.py:645 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:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "Elemento di magazzino principale" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "Dove si trova questo articolo di magazzino?" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "Questo elemento è stato installato su un altro elemento?" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "Numero di serie per questo elemento" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "Genera Costruzione" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "Costruisci per questo elemento di magazzino" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "Origina Ordine di Acquisto" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "Ordine d'acquisto per questo articolo in magazzino" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "Destinazione Ordine di Vendita" -#: stock/models.py:776 +#: stock/models.py:774 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:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Note Elemento di magazzino" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "Prezzo di acquisto unitario al momento dell’acquisto" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "Convertito in articolo" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "L'articolo non è impostato come tracciabile" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "La quantità deve essere un numero intero" -#: stock/models.py:1342 +#: stock/models.py:1349 #, 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:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "I numeri di serie devono essere numeri interi" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Numeri di serie già esistenti: {exists}" -#: stock/models.py:1425 +#: stock/models.py:1432 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:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "L'elemento di magazzino è installato in un altro elemento" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "L'elemento di magazzino contiene altri elementi" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "L'elemento di magazzino è stato assegnato a un cliente" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "L'elemento di magazzino è attualmente in produzione" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "I codici di stato dello stock devono corrispondere" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "Nome Test" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "Note del test" @@ -7446,7 +7740,7 @@ msgstr "Dati di Test" msgid "Test Report" msgstr "Rapporto del Test" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "Elimina Dati di Test" @@ -7458,15 +7752,15 @@ msgstr "Aggiungi Dati Di Test" msgid "Installed Stock Items" msgstr "Elementi di magazzino installati" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "Installa Elemento Magazzino" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "Elimina tutti i risultati del test per questo elemento di magazzino" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "Aggiungi Risultato Test" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "Azioni adeguamento giacenza" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "Conta giacenza" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "Aggiungi giacenza" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "Rimuovi giacenza" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "Serializza magazzino" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "Trasferisci giacenza" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "Assegna al cliente" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "Quantità Disponibile" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Nessuna posizione impostata" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Questo Elemento Stock è scaduto il %(item.expiry_date)s" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "Scaduto" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Questo Elemento Stock scade il %(item.expiry_date)s" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "Obsoleto" @@ -7643,35 +7937,35 @@ msgstr "Obsoleto" msgid "No stocktake performed" msgstr "Nessun inventario eseguito" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "Modifica Stato Magazzino" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "Stock Item QR Code" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "Collega il codice a barre all'Elemento Stock" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "Selezionare una delle varianti dell'articolo elencate sotto." -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "Attenzione" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "Questa azione non può essere facilmente annullata" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "Converti Elemento Stock" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "Torna al Magazzino" @@ -7745,15 +8039,15 @@ msgstr "Crea nuova posizione di magazzino" msgid "New Location" msgstr "Nuova Posizione" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "Container magazzino scansionato in questa posizione" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "Codice QR Ubicazione Magazzino" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "Collega il Codice a Barre alla Posizione Magazzino" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "Sei stato disconnesso da InvenTree." #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "Accedi" @@ -7933,7 +8227,7 @@ msgstr "Nessuna cronologia notifiche trovata" msgid "Delete all read notifications" msgstr "Elimina tutte le notifiche lette" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "Elimina notifica" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "Accesso singolo" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "Impostazioni" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "Report Inventario" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "Impostazioni Plugin" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "Cambiando le impostazioni qui sotto, si richiede di riavviare immediatamente il server. Non cambiare le impostazioni durante l'utilizzo." #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "Plugin" @@ -8193,6 +8487,10 @@ msgstr "Mai" msgid "Report Settings" msgstr "Impostazioni Report" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "Nessun valore impostato" @@ -8257,15 +8555,15 @@ msgstr "ID" msgid "Create Part Parameter Template" msgstr "Crea Parametro Articolo Template" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "Modifica Parametro Articolo Template" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "Ogni parametro che fa riferimento a questo modello verrà eliminato" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "Elimina Parametro Articolo Template" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "Home Page" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "Modifica Password" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "Modifica" @@ -8791,11 +9089,11 @@ msgstr "Inserisci un token generato dall'app:" msgid "Verify" msgstr "Verifica" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "Aggiungi Collegamento" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "Aggiungi allegato" @@ -8803,19 +9101,19 @@ msgstr "Aggiungi allegato" msgid "Delete selected attachments" msgstr "Elimina allegati selezionati" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "Elimina Allegati" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "È necessario riavviare il server" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "Contatta l'amministratore per maggiori informazioni" @@ -8825,6 +9123,7 @@ msgstr "Contatta l'amministratore per maggiori informazioni" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "Clicca il seguente link per visualizzare quest'ordine" @@ -8846,7 +9145,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:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Quantità richiesta" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "Clicca il seguente link per visualizzare questo articolo" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "Quantità minima" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Nessuna Risposta" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "Nessuna risposta dal server InvenTree" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "Errore 400: Richiesta Errata" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "Richiesta API restituito codice di errore 400" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Errore 401: Non Autenticato" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "Credenziali di autenticazione non fornite" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Errore 403 - Permesso negato" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Non hai i permessi necessari per accedere a questa funzione" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Errore 404: Risorsa Non Trovata" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "La risorsa richiesta non può essere localizzata sul server" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "Errore 405: Metodo Non Consentito" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "Metodo HTTP non consentito all'URL" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Errore 408: Timeout" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "Timeout connessione durante la richiesta di dati dal server" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "Codice Di Errore Non Gestito" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "Codice errore" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "Tutti gli allegati selezionati saranno eliminati" @@ -8944,126 +9243,126 @@ msgstr "Modifica allegato" msgid "Upload Date" msgstr "Data di Upload" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "Modifica allegato" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "Cancella allegato" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "Scansiona il codice a barre usando uno scanner" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "Inserire il codice a barre" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "Codice a Barre" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "Scansiona il codice a barre usando la webcam" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "Inserire le note facoltative per il trasferimento delle scorte" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "Inserire le note" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "Problemi con il server" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "Risposta sconosciuta dal server" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Risposta del server non valida" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "Scansione del codice a barre" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "Scansiona codice a barre" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "Nessuna risposta dall'URL" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "Questo rimuoverà il collegamento al codice a barre associato" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "Scollega" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "Rimuovere l'articolo in magazzino" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "Scansione articoli di magazzino in sede" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "Scansione del codice a barre dell'articolo di magazzino per effettuare il check-in in questa sede" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "Check In" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "Non c'è un codice a barre" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "Articolo di magazzino già scansionato" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "Elemento in giacenza già in questa posizione" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "Aggiunta di un articolo di magazzino" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "Il codice a barre non corrisponde a un articolo di magazzino valido" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "Scansione delle scorte contenute in sede" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "Scansionare il codice a barre di scorta contenuta per effettuare il check-in in questa sede" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "Il codice a barre non corrisponde a una posizione di magazzino valida" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "Controlla Nella Posizione" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "Il codice a barre non corrisponde a una posizione valida" @@ -9082,7 +9381,7 @@ msgstr "Dati" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Chiudi" @@ -9187,74 +9486,74 @@ msgstr "Tutti gli elementi selezionati della Distinta Base saranno eliminati" msgid "Delete selected BOM items?" msgstr "Elimina gli Elementi selezionati della Distinta Base?" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "Carica la Distinta Base per il sotto assemblaggio" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "Sostituti Disponibili" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "Variante stock consentita" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "Sostituti" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "I prezzi Distinta Base sono completi" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "I prezzi Distinta Base sono incompleti" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "Nessun prezzo disponibile" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "Nessuna Scorta Disponibile" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "Include variante e scorte sostitutive" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "Comprende varianti magazzino" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "Comprende le scorte sostitutive" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "Elementi consumabili" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "Convalida elemento Distinta Base" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "Questa linea è stata convalidata" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "Modifica articoli sostitutivi" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "Modifica elemento Distinta Base" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "Cancella elemento Distinta Base" @@ -9262,15 +9561,15 @@ msgstr "Cancella elemento Distinta Base" msgid "View BOM" msgstr "Visualizza Distinta Base" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "Nessun elemento trovato in Distinta Base" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "Articolo richiesto" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "Ereditato dalla Distinta Base principale" @@ -9314,13 +9613,13 @@ msgstr "L'Ordine di Produzione è incompleto" msgid "Complete Build Order" msgstr "Completa l'Ordine di Produzione" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "Il prossimo numero di serie disponibile è" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "Ultimo Numero Di Serie" @@ -9356,373 +9655,430 @@ msgstr "Non assegnare stock all'output di produzione" msgid "Complete build output" msgstr "Completa output di produzione" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "Cancella output di produzione" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "Sei sicuro di voler annullare l'allocazione degli elementi stock da questa produzione?" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "Non assegnare Elementi Stock" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "Seleziona Output di produzione" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "Almeno un output di produzione deve essere selezionato" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "Output" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "Completa l'output di produzione" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "Cancella l'output di produzione" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "Nessuna allocazione per l'ordine di produzione trovato" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "Posizione non specificata" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "Nessun output di produzione attivo trovato" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "Scorte Assegnate" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "Nessun elemento Distinta Base tracciato per questa produzione" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "Test Completati" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "Nessun test richiesto per questa produzione" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "Modifica allocazione magazzino" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "Elimina posizione giacenza" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "Modifica Posizione" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "Rimuovi Posizione" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "Articoli sostitutivi disponibili" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "Quantità Per" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "Scorte insufficienti disponibili" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "Scorte sufficienti disponibili" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "Produci scorta" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "Ordina scorta" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "Assegna scorta" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "Seleziona Articoli" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "È necessario selezionare almeno un articolo da assegnare" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "Specificare il quantitativo assegnato allo stock" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "Tutti gli articoli assegnati" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "Tutti gli articoli selezionati sono stati completamente assegnati" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "Seleziona la posizione di origine (lascia vuoto per prendere da tutte le posizioni)" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "Assegna gli Elementi Stock all'Ordine di Produzione" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "Nessuna posizione di magazzino corrispondente" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "Nessun elemento corrispondente trovato" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "Assegna Automaticamente Scorte" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Gli elementi in magazzino saranno automaticamente assegnati a questo ordine di produzione, secondo le linee guida fornite" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Se viene specificata una posizione, le scorte saranno assegnate solo da quella ubicazione" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Se lo stock è considerato intercambiabile, sarà assegnato dal primo luogo in cui viene trovato" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Se lo stock sostitutivo è ammesso, sarà utilizzato nel caso in cui lo stock dell'articolo primario non possa essere trovato" -#: templates/js/translated/build.js:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "Assegna Elementi di Magazzino" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "Nessuna produzione corrispondente alla ricerca" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "Seleziona" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "L'ordine di produzione è in ritardo" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "Avanzamento" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "Nessuna informazione utente" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "Nessun articolo assegnato per" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "Aggiungi Produttore" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "Aggiungi Articolo Produttore" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "Modifica Articolo Produttore" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "Aggiungi fornitore" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "Aggiungi fornitore articolo" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "Tutte gli articoli del fornitore selezionati saranno eliminati" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "Cancella Articoli Fornitore" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "Aggiungi nuova Azienda" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "Fornitori articoli" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "Articoli prodotti" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "Nessuna informazione azienda trovata" -#: templates/js/translated/company.js:582 +#: templates/js/translated/company.js:587 +msgid "Create New Contact" +msgstr "" + +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" +msgstr "" + +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 msgid "All selected manufacturer parts will be deleted" msgstr "Tutti gli articoli del produttore selezionati saranno eliminati" -#: templates/js/translated/company.js:597 +#: templates/js/translated/company.js:818 msgid "Delete Manufacturer Parts" msgstr "Elimina Articoli Produttore" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:852 msgid "All selected parameters will be deleted" msgstr "Tutti i parametri selezionati saranno cancellati" -#: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "Elimina Parametri" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "Nessun articolo produttore trovato" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "Modello Articolo" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "Articolo assemblato" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "Nessun parametro trovato" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "Elimina il parametro" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "Elimina Parametri" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "Nessun fornitore trovato" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "Disponibilità" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "Modifica articolo fornitore" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "Elimina articolo fornitore" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "Elimina riduzione di prezzo" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "Modifica Prezzo Limite" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "Nessuna informazione di riduzione di prezzo trovata" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "Ultimo aggiornamento" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "Modifica riduzione di prezzo" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "Cancella riduzione di prezzo" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "vero" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "falso" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "Seleziona filtro" -#: templates/js/translated/filters.js:297 -msgid "Download data" -msgstr "Scarica dati" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" +msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" -msgstr "Ricarica dati" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" +msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "Aggiungi nuovo filtro" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "Cancella tutti i filtri" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "Crea filtro" @@ -9755,105 +10111,83 @@ msgstr "Mantieni aperto questo modulo" msgid "Enter a valid number" msgstr "Inserisci un numero valido" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Esistono errori nel modulo" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "Nessun risultato trovato" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "Ricerca" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "Cancella input" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "Colonna File" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "Nome del campo" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "Seleziona Colonne" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "SÌ" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "NO" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "Note aggiornate" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "Etichette inviate alla stampante" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "Seleziona Elementi Magazzino" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "Gli elementi disponibili devono essere selezionati prima di stampare le etichette" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "Nessuna etichetta trovata" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "Nessuna etichetta trovata che corrisponde agli elementi stock selezionati" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "Seleziona Posizioni Giacenza" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "Le allocazioni delle giacenze devono essere selezionate prima di stampare le etichette" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "Nessuna etichetta trovata che corrisponde alle posizioni di magazzino selezionate" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "Gli elementi disponibili devono essere selezionati prima di stampare le etichette" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "Nessuna etichetta trovata che corrisponde agli elementi stock selezionati" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "Seleziona Stampante" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "Esporta in PDF" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "elemento stock creato" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "Seleziona Modello Etichetta" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "Nessuna etichetta trovata" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "Etichette inviate alla stampante" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "Nessuna notifica non letta" msgid "Notifications will load here" msgstr "Le notifiche verranno caricate qui" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" -msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" +msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "I seguenti elementi in magazzino saranno spediti" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "Completa Spedizione" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "Conferma Spedizione" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "Nessuna spedizione in sospeso trovata" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "Salta" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "Completa Ordine D'Acquisto" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "Contrassegnare questo ordine come completato?" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "Tutti gli elementi della riga sono stati ricevuti" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "Questo ordine ha elementi di riga che non sono stati contrassegnati come ricevuti." - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "Completare questo ordine significa che l'ordine e gli elementi della riga non saranno più modificabili." - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "Annulla Ordine di Acquisto" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "Sei sicuro di voler annullare questo ordine di acquisto?" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "Questo ordine d'acquisto non può essere cancellato" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "Problema Ordine di Acquisto" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "Dopo aver effettuato questo ordine d'acquisto, gli elementi di riga non saranno più modificabili." - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "Questo ordine ha elementi di riga che non sono stati completati." - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "Annulla Ordine di Vendita" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "Cancellando questo ordine, l'ordine non sarà più modificabile." - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "Crea Nuova Spedizione" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "Aggiungi cliente" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "Crea Ordine di Vendita" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "Modifica Ordine di Vendita" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "Selezione l'ordine di acquisto da duplicare" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "Duplica linee degli elementi" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "Duplica tutte le linee elementi dall'ordine selezionato" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "Duplica Linee Extra" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "Duplica elementi linee extra dall'ordine selezionato" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "Modifica ordine d'acquisto" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "Opzioni Duplicazione" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "Esporta Ordine" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "Deve essere selezionata almeno un articolo acquistabile" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "Quantità da ordinare" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "Nuovo articolo fornitore" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "Nuovo ordine d'acquisto" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "Aggiungi ordine d'acquisto" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "Nessun fornitore articolo corrispondente" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "Nessun ordine di acquisto corrispondente trovato" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "Seleziona Linee Elementi" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "È necessario selezionare almeno una linea elemento" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "Aggiungi codice lotto" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "Aggiungi numeri seriali" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "Quantità Ricevuta" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "Quantità da ricevere" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "Stato giacenza" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "Codice ordine" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "Ordinato" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "Quantità da Ricevere" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "Conferma la ricezione degli elementi" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "Ricevi Elementi Ordine D'Acquisto" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "Nessun ordine d'acquisto trovato" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "L'Ordine è in ritardo" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "Elementi" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "Duplica Linee Elementi" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "Modifica Linee Elementi" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "Cancella Linea Elemento" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "Nessuna linea elementi trovata" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "Questo elemento è in ritardo" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "Ricevi linea elemento" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "Duplica linea elemento" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "Modifica linea elemento" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "Cancella linea elemento" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "Duplica linea" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "Modifica linea" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "Cancella linea" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "Duplica Linea" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "Modifica Linea" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "Cancella Linea" -#: templates/js/translated/order.js:2849 -msgid "No matching line" -msgstr "Nessuna linea corrispondente" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" +msgstr "Nessuna linea elementi trovata" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" -msgstr "Non sono state trovati ordini di vendita" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" +msgstr "Duplica linea" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" -msgstr "Cliente non valido" +#: templates/js/translated/order.js:333 +msgid "Edit line" +msgstr "Modifica linea" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" -msgstr "Modifica spedizione" +#: templates/js/translated/order.js:337 +msgid "Delete line" +msgstr "Cancella linea" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "Completa spedizione" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "Elimina spedizione" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "Modifica spedizione" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "Elimina Spedizione" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "Nessuna spedizione corrispondente trovata" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "Riferimento della spedizione" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "Non spedito" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "Tracciamento" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "Fattura" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "Aggiungi Spedizione" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "Conferma l'assegnazione della giacenza" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "Assegna Elementi di Magazzino all'Ordine di Vendita" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "Nessun ordine di vendita trovato" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "Modifica posizione giacenza" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "Conferma Operazione Eliminazione" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "Elimina posizione giacenza" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "Spedito al cliente" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "Nessun posizione specificata" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "Assegna Numeri di Serie" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "Prezzo d'acquisto" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "Calcola il prezzo" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "Non può essere eliminato perché gli elementi sono stati spediti" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "Non può essere eliminato perché gli elementi sono stati assegnati" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "Assegna Numeri di Serie" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "Aggiorna Prezzo Unitario" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "Nessun elemento di riga corrispondente" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "Nessuna linea corrispondente" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "Attributi Articolo" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "Opzioni Creazione Articolo" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "Opzioni Duplicazione Articolo" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "Aggiungi Categoria Articolo" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "Categoria articolo principale" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "Icona (opzionale) - Esplora tutte le icone disponibili su" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "Modifica Categoria Articoli" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "Sei sicuro di voler eliminare questa categoria articolo?" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "Sposta nella categoria superiore" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "Elimina categoria" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "Azione articoli in questa categoria" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "Azione per categorie secondarie" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "Crea Articolo" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "Crea un altro articolo dopo questo" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "Articolo creato con successo" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "Modifica l'articolo" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "Articolo modificato" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "Crea Varianti Articolo" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "Articolo Attivo" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "L'articolo non può essere eliminato poiché è attualmente attivo" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "L'eliminazione di questo articolo non è reversibile" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "Tutte le giacenze per questo articolo verranno eliminate" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "Questo articolo verrà eliminato da qualsiasi Fattura dei Materiali" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Tutte le informazioni del produttore e del fornitore per questo articolo verranno eliminate" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "Cancella Articolo" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "Sei iscritto alle notifiche per questo elemento" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "Hai sottoscritto le notifiche per questo elemento" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "Sottoscrivi le notifiche per questo elemento" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "Hai annullato l'iscrizione alle notifiche per questo elemento" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "La convalida della Distinta Base segnerà ogni voce di riga come valida" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "Convalida la distinta dei materiali" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "Valida Fattura dei Materiali" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "Copia Fattura dei Materiali" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "In esaurimento" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "Nessuno stock disponibile" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "Unità" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "Parte tracciabile" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "Parte virtuale" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "Parte sottoscritta" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "Parte vendibile" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "Programmare la generazione di un nuovo report inventario." -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "Una volta completato, il report inventario sarà disponibile per il download." -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "Genera Report Inventario" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "Programma report inventario" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "Nessuna informazione sull'inventario disponibile" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "Modifica Voce Inventario" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "Elimina Voce Inventario" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "Nessuna variante trovata" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "Nessun ordine d'acquisto trovato" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "Questo elemento è in ritardo" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "Ricevi linea elemento" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "Elimina relazione tra i componenti" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "Elimina Relazione Articolo" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "Nessun articolo trovato" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "Nessuna categoria" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "Visualizza come elenco" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "Visualizza come griglia" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "Imposta la categoria prodotto per i prodotti selezionati" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "Imposta categoria articolo" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "Seleziona Categoria Articolo" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "Carica Sotto Categorie" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "Carica Sotto Categorie" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "Categoria sottoscritta" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "Nessun modello di test corrispondente" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "Modificare il risultato del test" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "Cancellare il risultato del test" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "Questo test è definito per un articolo principale" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "Modifica Modello Risultato Test" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "Elimina Modello Risultato Test" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "Nessuna data specificata" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "La data specificata è nel passato" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "Speculativo" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "Nessuna informazione di pianificazione disponibile per questo prodotto" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "Errore nel recupero delle informazioni di programmazione per questo articolo" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "Quantità Di Scorte Programmate" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "Quantità Massima" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "Livello Minimo Stock" @@ -10713,803 +10690,1209 @@ msgstr "Non sono disponibili dati varianti" msgid "Variant Part" msgstr "Variante Articolo" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "Selezione l'ordine di acquisto da duplicare" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "Duplica linee degli elementi" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "Duplica tutte le linee elementi dall'ordine selezionato" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "Duplica Linee Extra" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "Duplica elementi linee extra dall'ordine selezionato" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "Modifica ordine d'acquisto" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "Opzioni Duplicazione" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "Completa Ordine D'Acquisto" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "Contrassegnare questo ordine come completato?" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "Tutti gli elementi della riga sono stati ricevuti" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "Questo ordine ha elementi di riga che non sono stati contrassegnati come ricevuti." + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "Completare questo ordine significa che l'ordine e gli elementi della riga non saranno più modificabili." + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "Annulla Ordine di Acquisto" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "Sei sicuro di voler annullare questo ordine di acquisto?" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "Questo ordine d'acquisto non può essere cancellato" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "Problema Ordine di Acquisto" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "Deve essere selezionata almeno un articolo acquistabile" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "Quantità da ordinare" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "Nuovo articolo fornitore" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "Nuovo ordine d'acquisto" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "Aggiungi ordine d'acquisto" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "Nessun fornitore articolo corrispondente" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "Nessun ordine di acquisto corrispondente trovato" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "Seleziona Linee Elementi" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "È necessario selezionare almeno una linea elemento" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "Aggiungi codice lotto" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "Aggiungi numeri seriali" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "Quantità Ricevuta" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "Quantità da ricevere" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "Stato giacenza" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "Codice ordine" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "Ordinato" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "Quantità da Ricevere" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "Conferma la ricezione degli elementi" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "Ricevi Elementi Ordine D'Acquisto" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "L'Ordine è in ritardo" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "Elementi" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "Duplica Linee Elementi" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "Modifica Linee Elementi" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "Cancella Linea Elemento" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "Duplica linea elemento" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "Modifica linea elemento" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "Cancella linea elemento" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "elementi selezionati" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "Seleziona Modello Report" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "Seleziona Modello Test Report" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "Gli elementi(s) disponibili devono essere selezionati prima di stampare le etichette" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "Nessun Report Trovato" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "Nessun modello di report trovato che corrisponde agli elementi stock selezionati(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" +msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" -msgstr "Seleziona Produzioni" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" +msgstr "Aggiungi cliente" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "Le produzioni devono essere selezionate prima di stampare i report" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" +msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "Nessun modello di report trovato che corrisponda alle produzioni selezionate(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" +msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "L'Articolo deve essere selezionato prima di stampare i report" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" +msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "Nessun modello di report trovato che corrisponda agli articoli selezionati(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" +msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "Seleziona Ordini D'Acquisto" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" +msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "Gli Ordini di Acquisto devono essere selezionati prima di stampare il report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" +msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "Nessun modello di report trovato che corrisponde agli ordini selezionati" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" +msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "Seleziona Ordini Di Vendita" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" +msgstr "Cliente non valido" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "Gli ordini di vendita devono essere selezionati prima di stampare il report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" +msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "Nessun elemento di riga corrispondente" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "Crea Ordine di Vendita" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "Modifica Ordine di Vendita" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "I seguenti elementi in magazzino saranno spediti" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "Completa Spedizione" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "Conferma Spedizione" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "Nessuna spedizione in sospeso trovata" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "Spedizioni Completate" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "Salta" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "Questo ordine ha elementi di riga che non sono stati completati." + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "Annulla Ordine di Vendita" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "Cancellando questo ordine, l'ordine non sarà più modificabile." + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "Crea Nuova Spedizione" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "Non sono state trovati ordini di vendita" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "Modifica spedizione" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "Completa spedizione" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "Elimina spedizione" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "Modifica spedizione" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "Elimina Spedizione" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "Nessuna spedizione corrispondente trovata" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "Riferimento della spedizione" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "Non spedito" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "Tracciamento" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "Fattura" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "Aggiungi Spedizione" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "Conferma l'assegnazione della giacenza" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "Assegna Elementi di Magazzino all'Ordine di Vendita" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "Nessun ordine di vendita trovato" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "Modifica posizione giacenza" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "Conferma Operazione Eliminazione" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "Elimina posizione giacenza" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "Spedito al cliente" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "Nessun posizione specificata" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "Assegna Numeri di Serie" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "Prezzo d'acquisto" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "Calcola il prezzo" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "Non può essere eliminato perché gli elementi sono stati spediti" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "Non può essere eliminato perché gli elementi sono stati assegnati" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "Assegna Numeri di Serie" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "Aggiorna Prezzo Unitario" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "Minimizza risultati" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "Rimuovi risultati" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "Serializza Elementi di Magazzino" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "Conferma Serializzazione Magazzino" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "Posizione giacenza principale" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "Modifica Posizione Giacenza" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "Nuova posizione giacenza" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "Sei sicuro di voler eliminare questa posizione?" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "Sposta nella posizione principale magazzino" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "Elimina Posizione di Giacenza" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "Azione per gli elementi stock in questa posizione magazzino" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "Azione per sotto-ubicazioni" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "Questo articolo non può essere serializzato" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "Inserisci quantità iniziale per questo articolo in giacenza" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Inserire i numeri di serie per la nuova giacenza (o lasciare vuoto)" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "Elemento di magazzino duplicato" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "Duplica elemento di magazzino" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "Sei sicuro di voler rimuovere questo elemento di magazzino?" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "Cancella Elemento di Magazzino" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "Modifica elemento magazzino" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "Crea nuova allocazione magazzino" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "Creato più elementi stock" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "Trova Numero Di Serie" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "Inserisci numero di serie" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "Inserisci un numero di serie" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "Nessun numero di serie corrispondente" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "Trovati più di un risultato corrispondente" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "Conferma l'assegnazione delle scorte" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "Assegnare la scorta al cliente" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "Attenzione: L'operazione di unione non può essere annullata" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "Alcune informazioni andranno perse durante la fusione degli articoli di magazzino" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "La cronologia delle transazioni di magazzino verrà eliminata per gli articoli uniti" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "Le informazioni sulle parti del fornitore verranno eliminate per gli articoli uniti" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "Confermare l'unione degli articoli di magazzino" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "Unire gli articoli di magazzino" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "Trasferisci giacenza" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "Sposta" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "Conta giacenza" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "Conta" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "Rimuovi giacenza" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "Prendi" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "Aggiungi giacenza" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "Aggiungi" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "Elimina Stock" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "La quantità non può essere regolata per le scorte serializzate" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "Specificare la quantità di magazzino" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "Seleziona Elementi Magazzino" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "Devi selezionare almeno un articolo disponibile" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "Confermare l'adeguamento delle scorte" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "OK" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "FALLITO" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "NESSUN RISULTATO" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "Test OK" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "Aggiungi risultato test" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "Nessun risultato di prova trovato" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "Data del test" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "Modifica del risultato del test" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "Cancellare il risultato del test" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "In produzione" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "Installato nell'elemento stock" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "Assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "Nessuna giacenza impostata" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "L'articolo di magazzino è in produzione" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "Articolo di magazzino assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "Articolo stock assegnato al cliente" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "L'articolo di magazzino serializzato è stato assegnato" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "La voce di magazzino è stata completamente assegnata" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "La voce di magazzino è stata parzialmente allocata" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "L'elemento stock è stato installato in un altro articolo" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "L'articolo stock è scaduto" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "Articolo in giacenza prossimo alla scadenza" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "L'articolo stock è stato rifiutato" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "L'articolo di magazzino è andato perso" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "Articolo di magazzino distrutto" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "Esaurito" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "Fornitore dell'articolo non specificato" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "Nessun articolo in magazzino corrispondente alla richiesta" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "Impostare lo stato delle scorte" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "Selezionare il codice di stato" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "Il codice di stato deve essere selezionato" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "Caricare sublocazioni" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "Dettagli" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "Informazioni sull'articolo non disponibili" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "La posizione non esiste più" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "L'ordine di acquisto non esiste più" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "Il cliente non esiste più" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "L'articolo in magazzino non esiste più" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "Aggiunto" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "Rimosso" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "Nessun elemento installato" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "Disinstallare l'articolo di magazzino" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "Selezionare l'articolo di magazzino da disinstallare" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "Installare un altro articolo di magazzino in questo articolo" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Gli articoli in magazzino possono essere installati solo se soddisfano i seguenti criteri" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "L'articolo di magazzino si collega a un'articolo che è la distinta base di questo articolo di magazzino" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "L'articolo in stock è attualmente disponibile in magazzino" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "L'articolo di magazzino non è già installato in un altro articolo" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "L'articolo di magazzino è tracciato da un codice di lotto o da un numero di serie" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "Selezionare la parte da installare" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "Articolo tracciabile" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "Articolo assemblato" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "Ha scorte disponibili" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "Varianti consentite" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "Prezzo" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "Includi sottoallocazioni/posizioni" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "Includi posizioni" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "Includi sottocategorie" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "Sottoscritto" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "E' Serializzato" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "Numero di serie GTE" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "Numero di serie maggiore di o uguale a" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "Numero di serie LTE" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "Numero di serie inferiore di o uguale a" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "Numero di serie" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "Codice Lotto" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "Elementi attivi" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "Mostra stock per gli articoli attivi" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "L'articolo è un assemblato" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "È assegnato" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "L'elemento è stato posizionato" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "Stock disponibile per l'utilizzo" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "Includi elementi in giacenza nelle sottoallocazioni" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "Mostra gli elementi di magazzino che sono esauriti" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "Mostra gli elementi che sono in giacenza" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "In Produzione" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "Mostra gli elementi in produzione" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "Includi Varianti" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "Includi gli articoli stock per le varianti degli articoli" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "Installato" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "Mostra gli elementi stock che sono installati in un altro elemento" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "Mostra elementi che sono stati assegnati a un cliente" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "Stato magazzino" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "Ha codice lotto" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "Monitorato" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "L'articolo stock è monitorato dal codice lotto o dal numero di serie" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "Ha il prezzo d'acquisto" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "Mostra gli articoli di magazzino che hanno un prezzo di acquisto impostato" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "Data di scadenza precedente" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "Data di scadenza successiva" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "Mostra gli elementi in giacenza scaduti" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "Mostra giacenza prossima alla scadenza" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "Test superato" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "Includi Elementi Installati" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "Stato Build" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "Assegnato a me" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "Stato dell'ordine" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "In Sospeso" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "Assegnato a me" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "Articolo tracciabile" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "Articolo assemblato" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "Ha scorte disponibili" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "Varianti consentite" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "Prezzo" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "Includi sottoallocazioni/posizioni" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "Includi posizioni" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "Includi sottocategorie" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "Sottoscritto" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "E' Serializzato" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "Numero di serie GTE" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "Numero di serie maggiore di o uguale a" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "Numero di serie LTE" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "Numero di serie inferiore di o uguale a" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "Numero di serie" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "Codice Lotto" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "Elementi attivi" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "Mostra stock per gli articoli attivi" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "L'articolo è un assemblato" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "È assegnato" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "L'elemento è stato posizionato" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "Stock disponibile per l'utilizzo" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "Includi elementi in giacenza nelle sottoallocazioni" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "Mostra gli elementi di magazzino che sono esauriti" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "Mostra gli elementi che sono in giacenza" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "In Produzione" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "Mostra gli elementi in produzione" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "Includi Varianti" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "Includi gli articoli stock per le varianti degli articoli" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "Installato" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "Mostra gli elementi stock che sono installati in un altro elemento" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "Mostra elementi che sono stati assegnati a un cliente" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "Stato magazzino" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "Ha codice lotto" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "Monitorato" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "L'articolo stock è monitorato dal codice lotto o dal numero di serie" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "Ha il prezzo d'acquisto" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "Mostra gli articoli di magazzino che hanno un prezzo di acquisto impostato" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "Data di scadenza precedente" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "Data di scadenza successiva" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "Mostra gli elementi in giacenza scaduti" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "Mostra giacenza prossima alla scadenza" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "Test superato" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "Includi Elementi Installati" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "Stato Build" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "Includi articoli nelle sottocategorie" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "Visualizza articoli attivi" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "Stock disponibile" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "Ha IPN" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "L'articolo possiede un part number interno" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "In giacenza" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "Acquistabile" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "Ha voci d'inventario" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "Visualizzazione calendario" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "Visualizzazione elenco" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "Visualizza vista albero" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "Espandi tutte le righe" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "Comprimi tutte le righe" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "Esporta Dati Tabella" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "Seleziona Formato File" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "Caricamento dati" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "righe per pagina" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "Mostra tutte le righe" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "Visualizzo" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "a" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "di" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "righe" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "Nessun risultato corrispondente" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "Mostra/nascondi la paginazione" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "Attiva/disattiva" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "Colonne" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "Tutti" @@ -11521,19 +11904,19 @@ msgstr "Acquista" msgid "Sell" msgstr "Vendi" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "Mostra Notifiche" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "Nuove Notifiche" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "Amministratore" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "Esci" @@ -11680,55 +12063,51 @@ msgstr "Impostazioni dell'email non configurate" msgid "Barcode Actions" msgstr "Azioni Barcode" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "Stampa report di prova" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "Opzioni Magazzino" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "Aggiungi alle voci stock selezionate" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "Rimuovi dagli elementi stock selezionati" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "Inventario articoli di magazzino selezionati" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "Sposta gli elementi stock selezionati" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "Unisce gli articoli di magazzino selezionati" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "Unisce la giacenza" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "Ordina articolo selezionato" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "Modifica stato" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "Modifica stato stock" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "Elimina articoli selezionati" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "Elimina Stock" @@ -11748,51 +12127,51 @@ msgstr "Utenti" msgid "Select which users are assigned to this group" msgstr "Selezionare quali utenti sono assegnati a questo gruppo" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "Gli utenti seguenti sono membri di più gruppi:" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "Informazioni personali" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "Permessi" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "Date Importanti" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "Impostazione autorizzazioni" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "Gruppo" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "Visualizza" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "Autorizzazione a visualizzare gli articoli" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "Autorizzazione ad aggiungere elementi" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "Modificare" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "Permessi per modificare gli elementi" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index df7be4f271..bd0fddb171 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "日付を入力する" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "メモ" @@ -134,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -206,8 +209,8 @@ msgstr "ファイルがありません" msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "添付ファイル" @@ -216,24 +219,24 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "リンク" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "外部 サイト へのリンク" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "コメント:" @@ -242,13 +245,13 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "ユーザー" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "説明" @@ -343,7 +350,7 @@ msgid "parent" msgstr "親" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "" @@ -355,7 +362,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -375,12 +382,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -568,157 +575,191 @@ msgstr "メールアドレスが未設定です" msgid "InvenTree system health checks failed" msgstr "InvenTree システムのヘルスチェックに失敗しました" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "処理待ち" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "設置済" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "完了" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "キャンセル済" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "紛失" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "返品済" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "発送済み" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "注意が必要です" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "破損" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "破壊されました" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "却下済み" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "在庫商品を作成しました" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "在庫商品編集済み" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "割り当てられたシリアル番号" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "在庫数" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "手動在庫追加が完了しました" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "手動在庫削除が完了しました" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "ロケーションが変更されました" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "アセンブリへインストールしました" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "アセンブリから削除しました" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "インストール済みのコンポーネント項目" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "コンポーネント項目を削除しました" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "親アイテムから分割する" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "子項目を分割" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "商品在庫をマージしました" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "顧客に送信されました" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "顧客からの返品" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "組立注文の出力が作成されました" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "組立注文の出力が完了しました" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "生産" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" @@ -751,28 +792,28 @@ msgstr "" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "システム情報" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "InvenTree について" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "パーツ" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "数量" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "ステータス" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "注文必須パーツ" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "パーツの注文" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "テンプレート" @@ -2035,10 +2108,10 @@ msgstr "テンプレート" msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "アセンブリ" @@ -2046,8 +2119,8 @@ msgstr "アセンブリ" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "コンポーネント" @@ -2055,7 +2128,7 @@ msgstr "コンポーネント" msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "購入可能" @@ -2063,8 +2136,8 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "追跡可能" @@ -2083,10 +2156,10 @@ msgstr "追跡可能" msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3165,6 +3283,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "サプライヤー・パーツ" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "新しいサプライヤー・パーツを作成" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "新しいサプライヤー・パーツ" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "パーツの注文" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "パーツを削除" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "パーツを削除" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "メーカー・パーツ" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "新しいメーカー・パーツを作成" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "新しいメーカ―・パーツ" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "パーツの注文" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "メーカー・パーツの編集" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "メーカー・パーツを削除" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "パーツ" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "カテゴリ" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "新規カテゴリ" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "在庫切れ" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "期限切れ" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "メーカー・パーツの編集" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "続けて別のパーツを作る" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index 105bbbfef8..982ef8b2af 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "" @@ -134,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "" @@ -206,8 +209,8 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "첨부파일" @@ -216,24 +219,24 @@ msgstr "첨부파일" msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "링크" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "외부 URL로 링크" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "" @@ -242,13 +245,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "사용자" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "이름" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "설명" @@ -343,7 +350,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "" @@ -355,7 +362,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "바코드 해시" @@ -375,12 +382,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -568,157 +575,191 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "취소됨" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "파손됨" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "파괴됨" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" @@ -751,28 +792,28 @@ msgstr "비밀번호가 일치해야 합니다" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "시스템 정보" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "외부 링크" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "수량" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "일련번호" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "위치" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "상태" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "구입 가능" @@ -2063,8 +2136,8 @@ msgstr "구입 가능" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "판매 가능" @@ -2072,10 +2145,10 @@ msgstr "판매 가능" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "SSO 활성화" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" -msgstr "로그인 페이지에서 SSO 활성화" +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" -msgstr "이메일 필요" +msgid "Enable registration" +msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" -msgstr "" +msgid "Enable SSO" +msgstr "SSO 활성화" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" -msgstr "" +msgid "Enable SSO on the login pages" +msgstr "로그인 페이지에서 SSO 활성화" #: common/models.py:1523 -msgid "Mail twice" -msgstr "두 번 보내기" +msgid "Enable SSO registration" +msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" -msgstr "" +msgid "Email required" +msgstr "이메일 필요" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" -msgstr "" +msgid "Mail twice" +msgstr "두 번 보내기" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "작성자" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "파일 업로드" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "웹사이트" @@ -3165,6 +3283,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "이메일" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "이미지" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "회사" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "회사 정보 수정" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "회사 수정" @@ -3474,14 +3602,17 @@ msgstr "URL에서 이미지 다운로드" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "고객" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "전화번호" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "이미지 업로드" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "이미지 다운로드" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "삭제" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "QR 코드 보기" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "높이 [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "이미 사용 중인 바코드입니다" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "데이터" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "단가" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "일련번호" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "일련번호" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "경고" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "설정" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "홈페이지" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "비밀번호 변경" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "링크 추가" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "첨부파일 추가" @@ -8803,19 +9101,19 @@ msgstr "첨부파일 추가" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "서버 재시작 필요" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "오류 408: 시간 초과" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "바코드" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "서버 오류" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "선택" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "예" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "아니오" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "부품 명세서 복사" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "일련번호 찾기" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "일련번호를 입력하세요" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "일련번호를 입력하세요" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "일치하는 일련번호가 없습니다" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "일련번호" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "일련번호" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "관리자" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index f3eb095de1..8de5a1fddf 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Voer datum in" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Opmerkingen" @@ -134,7 +137,7 @@ msgstr "Externe server heeft lege reactie teruggegeven" msgid "Supplied URL is not a valid image file" msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" @@ -206,8 +209,8 @@ msgstr "Ontbrekend bestand" msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Bijlage" @@ -216,24 +219,24 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Link" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Link naar externe URL" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Opmerking" @@ -242,13 +245,13 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Gebruiker" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Omschrijving" @@ -343,7 +350,7 @@ msgid "parent" msgstr "bovenliggende" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Pad" @@ -355,7 +362,7 @@ msgstr "Streepjescode gegevens" msgid "Third party barcode data" msgstr "Streepjescode van derden" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Hash van Streepjescode" @@ -375,12 +382,12 @@ msgstr "Serverfout" msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Valuta" @@ -568,157 +575,191 @@ msgstr "E-mailbackend niet geconfigureerd" msgid "InvenTree system health checks failed" msgstr "InvenTree gezondsheidschecks mislukt" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Bezig" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Geplaatst" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Voltooid" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Geannuleerd" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Kwijt" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Retour" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Verzonden" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Aandacht nodig" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Beschadigd" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Verwoest" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Afgewezen" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "In quarantaine geplaatst" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Verouderde volgcode" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Voorraaditem gemaakt" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Bewerken voorraadartikel" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Serienummer toegewezen" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Voorraad geteld" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Voorraad handmatig toegevoegd" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Voorraad handmatig verwijderd" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Locatie veranderd" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Gemonteerd" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Gedemonteerd" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Geïnstalleerd componentartikel" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Verwijderd componentartikel" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Splits van bovenliggend item" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Geconverteerd naar variant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Naar klant verzonden" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Geretourneerd door klant" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Product aangemaakt" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Product voltooid" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Verbruikt door productieorder" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Ontvangen tegen inkooporder" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Productie" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Geen geldige valutacode" @@ -751,28 +792,28 @@ msgstr "Wachtwoordvelden komen niet overeen" msgid "Wrong password provided" msgstr "Onjuist wachtwoord opgegeven" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Systeeminformatie" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Over InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Productieorder" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Productieorder" msgid "Build Orders" msgstr "Productieorders" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Referentie" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Korte beschrijving van de productie" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Onderdeel" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Selecteer onderdeel om te produceren" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Verkooporder Referentie" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Bronlocatie" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecteer de locatie waar de voorraad van de productie vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Productiehoeveelheid" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Aantal voorraaditems om te produceren" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Productiestatus" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" -#: build/models.py:259 +#: build/models.py:260 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:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Opleveringsdatum" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "voltooid door" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Uitgegeven door" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Externe Link" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Opmerkingen over de productie" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "Bouw prioriteit" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Productieorder {build} is voltooid" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:1189 +#: build/models.py:1190 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:1198 +#: build/models.py:1199 #, 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:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Product" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "Product om onderdelen toe te wijzen" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Productieuitvoer" @@ -1139,9 +1205,9 @@ msgstr "Deze productieuitvoer is niet volledig toegewezen" msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -1154,9 +1220,9 @@ msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Serienummers" @@ -1172,7 +1238,7 @@ msgstr "Serienummers automatisch toewijzen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" @@ -1180,18 +1246,21 @@ msgstr "De volgende serienummers bestaan al of zijn ongeldig" msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Locatie" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" @@ -1266,7 +1338,7 @@ msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze p msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" @@ -1282,8 +1354,8 @@ msgstr "Vereiste productiehoeveelheid is voltooid" msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "Stuklijstartikel" @@ -1303,7 +1375,7 @@ msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" @@ -1320,7 +1392,7 @@ msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van n msgid "This stock item has already been allocated to this build output" msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" @@ -1375,6 +1447,7 @@ msgstr "Productieorder {bo} is nu achterstallig" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Afdruk acties" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Streefdatum" @@ -1460,31 +1538,35 @@ msgstr "Deze productie was verwacht op %(target)s" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "Achterstallig" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Voltooid" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Verkooporder" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "Uitgegeven door" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Prioriteit" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "Verwijder Productieorder" @@ -1515,8 +1597,9 @@ 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:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "Bestemming" @@ -1530,19 +1613,20 @@ msgstr "Toegewezen Onderdelen" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "Batch" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Gecreëerd" @@ -1562,7 +1646,7 @@ msgstr "Onderliggende Productieorders" msgid "Allocate Stock to Build" msgstr "Voorraad toewijzen aan Product" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "Voorraadtoewijzing ongedaan maken" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "Vereiste onderdelen bestellen" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Onderdelen bestellen" @@ -1645,27 +1730,19 @@ msgstr "Voltooi geselecteerde productieuitvoeren" msgid "Delete outputs" msgstr "Verwijder uitvoeren" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "Afdrukacties" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "Labels afdrukken" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "Voltooide Productieuitvoeren" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "Voltooide Productieuitvoeren" msgid "Attachments" msgstr "Bijlagen" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "Productie notities" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "Toewijzing Voltooid" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "Alle niet gevolgde voorraadartikelen zijn toegewezen" @@ -1689,10 +1766,6 @@ msgstr "Alle niet gevolgde voorraadartikelen zijn toegewezen" msgid "New Build Order" msgstr "Nieuwe Productieorder" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "Print Productieorders" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "Productieorderdetails" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "dagen" @@ -2025,9 +2098,9 @@ msgstr "Kopiëer Categorieparameter Sjablonen" msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "Sjabloon" @@ -2035,10 +2108,10 @@ msgstr "Sjabloon" msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "Samenstelling" @@ -2046,8 +2119,8 @@ msgstr "Samenstelling" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "Component" @@ -2055,7 +2128,7 @@ msgstr "Component" msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "Koopbaar" @@ -2063,8 +2136,8 @@ msgstr "Koopbaar" msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "Verkoopbaar" @@ -2072,10 +2145,10 @@ msgstr "Verkoopbaar" msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "Volgbaar" @@ -2083,10 +2156,10 @@ msgstr "Volgbaar" msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "Virtueel" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" -msgstr "Verkooporderreferentiepatroon" +msgid "Enable Return Orders" +msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" -msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" +msgid "Enable return order functionality in the user interface" +msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" -msgstr "Standaard Verzending Verkooporder" +msgid "Return Order Reference Pattern" +msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" -msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" +msgid "Required pattern for generating Return Order reference field" +msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" -msgstr "Inkooporderreferentiepatroon" +msgid "Sales Order Reference Pattern" +msgstr "Verkooporderreferentiepatroon" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" -msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" +msgid "Required pattern for generating Sales Order reference field" +msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" -msgstr "" +msgid "Sales Order Default Shipment" +msgstr "Standaard Verzending Verkooporder" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" +msgstr "Inkooporderreferentiepatroon" + +#: common/models.py:1488 +msgid "Required pattern for generating Purchase Order reference field" +msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" + +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1495 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1502 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1482 +#: common/models.py:1503 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1488 +#: common/models.py:1509 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1489 +#: common/models.py:1510 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1495 +#: common/models.py:1516 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1496 +#: common/models.py:1517 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1502 +#: common/models.py:1523 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1503 +#: common/models.py:1524 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1509 +#: common/models.py:1530 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1510 +#: common/models.py:1531 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1516 +#: common/models.py:1537 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1517 +#: common/models.py:1538 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1523 +#: common/models.py:1544 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1524 +#: common/models.py:1545 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1530 +#: common/models.py:1551 msgid "Password twice" msgstr "" -#: common/models.py:1531 +#: common/models.py:1552 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1537 +#: common/models.py:1558 msgid "Allowed domains" msgstr "" -#: common/models.py:1538 +#: common/models.py:1559 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1544 +#: common/models.py:1565 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:1545 +#: common/models.py:1566 msgid "Group to which new users are assigned on registration" msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1551 +#: common/models.py:1572 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:1552 +#: common/models.py:1573 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1558 +#: common/models.py:1579 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1559 +#: common/models.py:1580 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1566 +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "Recente Voorraadtelling" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "Recente Voorraadtelling" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "Prijs" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "Actief" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "Token" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "Geheim" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "Host" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "Koptekst" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "Een nieuwe order is aangemaakt en aan u toegewezen" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "Artikelen zijn ontvangen tegen een inkooporder" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Upload Bestand" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "Website" @@ -3165,6 +3283,7 @@ msgstr "Telefoonnummer voor contact" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "Email" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "Contact e-mailadres" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "Contact" @@ -3184,11 +3306,11 @@ msgstr "Contactpunt" msgid "Link to external company information" msgstr "Link naar externe bedrijfsinformatie" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Afbeelding" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "Opmerkingen Bedrijf" @@ -3222,209 +3344,215 @@ msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "Bedrijf" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Basis onderdeel" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "Onderdeel selecteren" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Fabrikant" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "MPN" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "Fabrikant artikel nummer (MPN)" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "URL voor externe link van het fabrikant onderdeel" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "Parameternaam" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "Waarde" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "Eenheden" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "Parameter eenheden" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Leverancier" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "SKU" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "Selecteer fabrikant onderdeel" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "Opmerking" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "basisprijs" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "meerdere" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "Order meerdere" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "Beschikbaar" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "Inkooporder aanmaken" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "Bedrijfsinformatie bewerken" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "Bedrijf bewerken" @@ -3474,14 +3602,17 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Klant" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "Telefoon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "Afbeelding Uploaden" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "Afbeelding Downloaden" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "Bestel onderdelen" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "Verwijder onderdelen" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "Verwijder Onderdelen" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Fabrikant onderdelen" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "Maak nieuw fabrikant onderdeel" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nieuw fabrikant onderdeel" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "Inkooporders" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Nieuwe inkooporder aanmaken" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Nieuwe Inkooporder" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Verkooporders" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Nieuwe inkooporder aanmaken" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Nieuwe Verkooporder" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Leverancierslijst" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "Order onderdeel" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "Fabrikant onderdeel bewerken" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "Fabrikant onderdeel verwijderen" @@ -3669,9 +3830,9 @@ msgstr "Verwijder leveranciersonderdelen" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "Verwijderen" @@ -3693,7 +3854,7 @@ msgstr "Nieuwe Parameter" msgid "Delete parameters" msgstr "Parameter verwijderen" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Parameter toevoegen" @@ -3710,15 +3871,20 @@ msgstr "Geleverde Onderdelen" msgid "Supplied Stock Items" msgstr "Geleverde Voorraadartikelen" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "Toegewezen Voorraadartikelen" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Leveranciersonderdeel" @@ -3739,8 +3905,8 @@ msgstr "QR-code weergeven" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "Nieuw voorraadartikel aanmaken" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Nieuw Voorraadartikel" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "Prijsinformatie" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Voorraadartikelen" @@ -3897,7 +4063,7 @@ msgstr "Label" msgid "Label template file" msgstr "Label template bestand" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "Ingeschakeld" @@ -3921,7 +4087,7 @@ msgstr "Hoogte [mm]" msgid "Label height, specified in mm" msgstr "Label hoogte, gespecificeerd in mm" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "Bestandsnaam Patroon" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "Filters" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "Order beschrijving" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "Link naar externe pagina" - -#: order/models.py:96 -msgid "Created By" -msgstr "Aangemaakt Door" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "Gebruiker of groep verantwoordelijk voor deze order" - -#: order/models.py:108 -msgid "Order notes" -msgstr "Ordernotities" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "Totaalprijs" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" -msgstr "Orderreferentie" +#: order/models.py:177 +msgid "Contact does not match selected company" +msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" -msgstr "Inkooporder status" +#: order/models.py:199 +msgid "Order description" +msgstr "Order beschrijving" -#: order/models.py:283 -msgid "Company from which the items are being ordered" -msgstr "Bedrijf waar de artikelen van worden besteld" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" +msgstr "Link naar externe pagina" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "Leveranciersreferentie" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "Order referentiecode van leverancier" - -#: order/models.py:293 -msgid "received by" -msgstr "ontvangen door" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "Datum van uitgifte" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "Order uitgegeven op datum" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "Streefdatum Levering" - -#: order/models.py:305 +#: order/models.py:206 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:311 +#: order/models.py:215 +msgid "Created By" +msgstr "Aangemaakt Door" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "Gebruiker of groep verantwoordelijk voor deze order" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "Ordernotities" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "Orderreferentie" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "Inkooporder status" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "Bedrijf waar de artikelen van worden besteld" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "Leveranciersreferentie" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "Order referentiecode van leverancier" + +#: order/models.py:365 +msgid "received by" +msgstr "ontvangen door" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "Datum van uitgifte" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "Order uitgegeven op datum" + +#: order/models.py:377 order/models.py:1699 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:350 +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "Streefdatum voor voltooien order. De order is na deze datum achterstallig." - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:770 +#: order/models.py:814 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:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "Alleen orders in afwachting kunnen als voltooid worden gemarkeerd" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 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:780 +#: order/models.py:824 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:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "Context" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "Order" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Ontvangen" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Zending" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "Zendingnotities" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1463 +#: order/models.py:1523 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:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "Regel" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "Artikel" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "Uniek identificatieveld" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Achterstallige inkooporder" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "Print rapport inkooporder" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "Exporteer order naar bestand" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "Order acties" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "Order bewerken" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "Order annuleren" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "Ontvang artikelen" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "Ontvang Artikelen" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "Order markeren als voltooid" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "Order Voltooien" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "Order Referentie" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "Order Beschrijving" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "Order Status" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "Geen leveranciersinformatie beschikbaar" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "Afgeronde artikelen" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "Incompleet" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Uitgegeven" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "Totale kosten" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "Totale kosten konden niet worden berekend" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Rij verwijderen" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "Artikelen" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "Inkooporder Artikelen" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "Artikel toevoegen" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" -msgstr "Geselecteerde artikelen ontvangen" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" +msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "Extra Regels" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "Extra Regel Toevoegen" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "Ontvangen Artikelen" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "Ordernotities" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" -msgstr "Voeg Orderregel toe" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" +msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" -msgstr "Print Rapporten Order" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "Pakbon afdrukken" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "Klantreferentie" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" +msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "Print verkooporderrapport" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" -msgstr "Pakbon afdrukken" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" +msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "Verzendingen Voltooien" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "Voltooi Verkooporder" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "Deze Verkooporder is niet volledig toegewezen" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "Klantreferentie" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "Verzendingen in behandeling" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "Acties" @@ -4716,34 +5003,34 @@ msgstr "Acties" msgid "New Shipment" msgstr "Nieuwe Verzending" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "Leveranciersonderdelen Vergelijken" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "Verkooporder niet gevonden" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "Prijs niet gevonden" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "{part} stukprijs bijgewerkt naar {price}" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format 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:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "In bestelling" @@ -4806,22 +5093,22 @@ msgstr "In bestelling" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "Toegewezen" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "Binnenkomende Inkooporder" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "Uitgaande Verkooporder" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "Geproduceerde voorraad door Productieorder" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "Voorraad vereist voor Productieorder" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "Standaard locatie" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "Totale Voorraad" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "Beschikbare Voorraad" @@ -4921,664 +5208,665 @@ msgstr "Beschikbare Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN moet overeenkomen met regex-patroon {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Datum" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "Parameter Eenheden" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Parameter Template" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "Categorie verwijderen" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "Onderdeel Parameters" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "Nieuwe Categorie" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "Onderdeelfabrikanten" msgid "Delete manufacturer parts" msgstr "Fabrikantonderdeel verwijderen" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "Formaat" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "Selecteer bestandsindeling" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "Toegewezen aan Productieorder" msgid "Allocated to Sales Orders" msgstr "Toegewezen aan verkooporders" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "Geen overeenkomende afbeeldingen gevonden" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "Filters inkooporder" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "Verkooporder zoekopdracht filters" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "Vereist Voor" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "Stukprijs" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 msgid "Total" msgstr "Totaal" +#: report/templates/report/inventree_return_order_report_base.html:25 +#: report/templates/report/inventree_test_report_base.html:88 +#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "Serienummer" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "Serienummer" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "Voorraadlocatie" msgid "Stock Locations" msgstr "Voorraadlocaties" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "Inkooporder Bron" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "Bestemming Verkooporder" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "Voorraad tellen" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "Voorraad overzetten" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Geen locatie ingesteld" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "Maak nieuwe voorraadlocatie" msgid "New Location" msgstr "Nieuwe Locatie" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "Startpagina" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "Klik op de volgende link om deze order te bekijken" @@ -8846,7 +9145,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:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Vereiste Hoeveelheid" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Sluit" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "Geen Voorraad Aanwezig" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "Productieorder is onvolledig" msgid "Complete Build Order" msgstr "Voltooi Productieoorder" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "Selecteer Productieuitvoeren" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "Voltooi Productieuitvoeren" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "Verwijder Productieuitvoeren" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "Geen productieordertoewijzingen gevonden" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "Locatie is niet opgegeven" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "Geen actieve productieuitvoeren gevonden" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "Voorraadtoewijzing bewerken" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "Voorraadtoewijzing verwijderen" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "Genoeg voorraad beschikbaar" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "Productie voorraad" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "Voorraad order" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "Voorraad toewijzen" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "Onderdelen selecteren" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "Er moet op zijn minst één onderdeel toegewezen worden" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "Specificeer voorraadtoewijzingshoeveelheid" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruiken)" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "Voorraadartikelen toewijzen aan Productieorder" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "Geen overeenkomende voorraadlocaties" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "Geen overeenkomende voorraadartikelen" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Voorraadartikelen zullen automatisch worden toegewezen aan de productieorder volgens de aangegeven richtlijnen" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "Productieorder is achterstallig" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "Fabrikant toevoegen" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "Fabrikantonderdeel toevoegen" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "Fabrikantonderdeel bewerken" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "Leverancier Toevoegen" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "Leveranciersonderdeel Toevoegen" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "Gefabriceerde Onderdelen" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" -msgstr "Verwijder Fabrikantenonderdelen" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" +msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "Verwijder Fabrikantenonderdelen" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "Geen fabrikantenonderdelen gevonden" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "Samengesteld onderdeel" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "Geen parameters gevonden" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "Parameter bewerken" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "Parameter bewerken" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "Laatst bijgewerkt" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" -msgstr "Geen voorraadartikelen toegewezen aan deze zending" - -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "De volgende voorraadartikelen worden verzonden" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "Verzending Voltooien" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "Verzending Bevestigen" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "Geen verzendingen in behandeling gevonden" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "Voltooi Inkooporder" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "Order markeren als voltooid?" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "Alle artikelen zijn ontvangen" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "Deze order heeft artikelen die niet zijn gemarkeerd als ontvangen." - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "Na het voltooien van de order zijn de order en de artikelen langer bewerkbaar." - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "Inkooporder annuleren" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "Weet u zeker dat u deze inkooporder wilt annuleren?" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "Deze inkooporder kan niet geannuleerd worden" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "Geef inkooporder uit" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "Na het plaatsen van de inkooporder zijn de artikelen niet meer bewerkbaar." - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "Verkooporder annuleren" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "Na annulering van de order kan de order niet meer bewerkt worden." - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "Verkooporder aanmaken" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "Verkooporder bewerken" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "Bewerk Inkooporder" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "Export Order" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "Te bestellen aantal" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "Nieuwe inkooporder" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "Toevoegen aan inkooporder" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "Geen overeenkomende inkooporders" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "Selecteer artikelen" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "Ten minste één artikel moet worden geselecteerd" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "Order Code" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "Besteld" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "Ontvang Artikelen Inkooporder" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "Geen inkooporder gevonden" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "Order is achterstallig" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "Artikelen" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "Artikel dupliceren" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "Artikel wijzigen" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "Artikel verwijderen" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "Geen artikelen gevonden" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "Dit artikel is achterstallig" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "Artikel ontvangen" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "Artikel dupliceren" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "Artikel bewerken" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "Artikel verwijderen" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "Kopieer regel" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "Bewerk regel" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "Verwijder regel" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "Kopieer Regel" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "Bewerk Regel" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "Verwijder Regel" -#: templates/js/translated/order.js:2849 -msgid "No matching line" -msgstr "Geen overeenkomende regel" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" +msgstr "Geen artikelen gevonden" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" -msgstr "Geen verkooporder gevonden" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" +msgstr "Kopieer regel" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" -msgstr "Ongeldige Klant" +#: templates/js/translated/order.js:333 +msgid "Edit line" +msgstr "Bewerk regel" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" -msgstr "Verzending bewerken" +#: templates/js/translated/order.js:337 +msgid "Delete line" +msgstr "Verwijder regel" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "Verzending Voltooien" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "Verzending verwijderen" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "Verzending bewerken" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "Verzending verwijderen" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "Geen overeenkomende verzending gevonden" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "Verzendingsreferentie" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "Niet verzonden" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "Volgen" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "Factuur" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "Voeg Verzending toe" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "Bevestig de voorraadtoewijzing" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "Voorraadartikel toewijzen aan Verkooporder" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "Geen verkooporder toewijzingen gevonden" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "Bewerk Voorraadtoewijzing" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "Bevestig Verwijderen" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "Verwijder Voorraadtoewijzing" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "Verzonden aan klant" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "Voorraadlocatie niet gespecificeerd" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "Wijs serienummers toe" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "Koop voorraad" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "Bereken prijs" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "Kan niet worden verwijderd omdat artikelen verzonden zijn" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "Kan niet worden verwijderd omdat artikelen toegewezen zijn" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "Wijs Serienummers Toe" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "Werk Stukprijs Bij" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "Geen overeenkomende artikelen" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "Geen overeenkomende regels" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "Validatie van de BOM markeert ieder artikel als geldig" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "Geen inkooporder gevonden" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "Dit artikel is achterstallig" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "Artikel ontvangen" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "Bewerk Inkooporder" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "Voltooi Inkooporder" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "Order markeren als voltooid?" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "Alle artikelen zijn ontvangen" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "Deze order heeft artikelen die niet zijn gemarkeerd als ontvangen." + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "Na het voltooien van de order zijn de order en de artikelen langer bewerkbaar." + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "Inkooporder annuleren" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "Weet u zeker dat u deze inkooporder wilt annuleren?" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "Deze inkooporder kan niet geannuleerd worden" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "Geef inkooporder uit" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "Te bestellen aantal" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "Nieuwe inkooporder" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "Toevoegen aan inkooporder" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "Geen overeenkomende inkooporders" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "Selecteer artikelen" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "Ten minste één artikel moet worden geselecteerd" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "Order Code" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "Besteld" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "Ontvang Artikelen Inkooporder" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "Order is achterstallig" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "Artikelen" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "Artikel dupliceren" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "Artikel wijzigen" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "Artikel verwijderen" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "Artikel dupliceren" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "Artikel bewerken" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "Artikel verwijderen" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" -msgstr "Selecteer Inkooporders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" +msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" -msgstr "Inkooporder(s) moeten geselecteerd zijn voordat u rapport afdrukt" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" +msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "Geen rapportsjablonen gevonden die overeenkomen met geselecteerde orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" +msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "Selecteer Verkooporders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" +msgstr "Ongeldige Klant" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" -msgstr "Verkooporder(s) moeten geselecteerd zijn voordat u rapport afdrukt" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" +msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "Geen overeenkomende artikelen" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "Verkooporder aanmaken" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "Verkooporder bewerken" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "Geen voorraadartikelen toegewezen aan deze zending" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "De volgende voorraadartikelen worden verzonden" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "Verzending Voltooien" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "Verzending Bevestigen" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "Geen verzendingen in behandeling gevonden" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "Verzendingen Voltooien" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "Verkooporder annuleren" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "Na annulering van de order kan de order niet meer bewerkt worden." + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "Geen verkooporder gevonden" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "Verzending bewerken" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "Verzending Voltooien" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "Verzending verwijderen" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "Verzending bewerken" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "Verzending verwijderen" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "Geen overeenkomende verzending gevonden" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "Verzendingsreferentie" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "Niet verzonden" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "Volgen" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "Factuur" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "Voeg Verzending toe" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "Bevestig de voorraadtoewijzing" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "Voorraadartikel toewijzen aan Verkooporder" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "Geen verkooporder toewijzingen gevonden" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "Bewerk Voorraadtoewijzing" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "Bevestig Verwijderen" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "Verwijder Voorraadtoewijzing" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "Verzonden aan klant" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "Voorraadlocatie niet gespecificeerd" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "Wijs serienummers toe" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "Koop voorraad" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "Bereken prijs" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "Kan niet worden verwijderd omdat artikelen verzonden zijn" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "Kan niet worden verwijderd omdat artikelen toegewezen zijn" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "Wijs Serienummers Toe" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "Werk Stukprijs Bij" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "Bewerk Voorraadlocatie" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "Verwijder Voorraadlocatie" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "Toegewezen aan Verkooporder" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "Geen voorraadlocatie ingesteld" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "Voorraadartikel toegewezen aan verkooporder" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "Inkooporder bestaat niet meer" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "Samengesteld onderdeel" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "Onderdeel is een assemblage" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "Order status" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "Samengesteld onderdeel" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "Onderdeel is een assemblage" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "Toon Kalenderweergave" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "Toon Lijstweergave" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "rijen per pagina" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "Inkoop" msgid "Sell" msgstr "Verkoop" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "Geselecteerde artikelen bestellen" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 0f076edb9e..a70c93cdd6 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API endepunkt ikke funnet" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Oppgi dato" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Notater" @@ -134,7 +137,7 @@ msgstr "Ekstern server returnerte tomt svar" msgid "Supplied URL is not a valid image file" msgstr "Angitt URL er ikke en gyldig bildefil" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -206,8 +209,8 @@ msgstr "Fil mangler" msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Vedlegg" @@ -216,24 +219,24 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Lenke til ekstern URL" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Kommenter" @@ -242,13 +245,13 @@ msgstr "Kommenter" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Bruker" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Beskrivelse" @@ -343,7 +350,7 @@ msgid "parent" msgstr "overkategori" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Sti" @@ -355,7 +362,7 @@ msgstr "Strekkode data" msgid "Third party barcode data" msgstr "Tredjeparts strekkode-data" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Strekkode hash" @@ -375,12 +382,12 @@ msgstr "Serverfeil" msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Nummer må være gyldig" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Valuta" @@ -568,157 +575,191 @@ msgstr "E-post backend ikke konfigurert" msgid "InvenTree system health checks failed" msgstr "Helsekontroll av IvenTree system mislyktes" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Ventende" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Plassert" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Fullført" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Kansellert" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Tapt" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Returnert" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Sendt" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Merknad nødvendig" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Skadet" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Ødelagt" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Avvist" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "Karantene" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Legacy stock sporingsoppføring" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Lagevare opprettet" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Redigerte lagervare" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Tildelt serienummer" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Lager tellet" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Lager manuelt lagt til" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Lager manuelt fjernet" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Posisjon endret" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Installert i montering" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Fjernet fra montering" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Installert komponentelement" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Fjernet komponentelement" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Delt fra overordnet element" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Delt fra underelement" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Sammenslått lagervare" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Konvertert til variant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Sendt til kunde" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Returnert av kunde" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Build ordreutgang opprettet" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Build ordreutg fullført" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Antatt som byggeordre" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Mottatt mot innkjøpsordre" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Produksjon" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Ikke en gyldig valutanr" @@ -751,28 +792,28 @@ msgstr "Passordfeltene må samsvare" msgid "Wrong password provided" msgstr "Feil passord angitt" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformasjon" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "Bygningen må avbrytes før den kan slettes" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Build ordre" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Build ordre" msgid "Build Orders" msgstr "Build Ordre" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Ugylding valg for overordnet build" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Referanse" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Kort beskrivelse av build" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet build" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Build order som denne build er tildelt til" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Build order som denne build er tildelt til" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Del" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Valg del å bygge" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Salg order referanse" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Salgorder som denne build er tildelt til" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Kilde plassering" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Valg sted for å ta lagervare fra for dette prosjektet (la stå tomt for a ta fra hvilken som helst sted)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Sted for destinasjon" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Velg sted hvor fulførte elementer vil bli lagret" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Prosjekt mengde" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Antall lagervare til prosjektet" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Fullførte elementer" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Antall lagervarer som er fullført" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Byggstatus" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Byggstatuskode" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Batch kode" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch kode for denne build output" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Forventet sluttdato" -#: build/models.py:259 +#: build/models.py:260 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:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Fullført dato" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "fullført av" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Utstedt av" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Brukeren som utstede denne prosjekt order" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Ekstern link" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Ekstra prosjekt notater" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "Bygg prioritet" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "Prioritet for denne byggeordren" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggeordre {build} er fullført" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "Byggeordre er fullført" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Ingen prosjekt utgang" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Prosjekt utdata er allerede utfylt" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" -#: build/models.py:1189 +#: build/models.py:1190 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:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelige lager mengde ({a})" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "Lagervare er overtildelt" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Tildeling antallet må være større enn null" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må væew 1 for serialisert lagervare" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Valgt lagevare ikke funnet i BOM" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Prosjekt" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "Bygge for å tildele deler" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Kilde lagervare" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Antall" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å allokere til bygging" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Installerings informasjon" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Målets lagervare" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Byggresultat" @@ -1139,9 +1205,9 @@ msgstr "Denne produksjonen er ikke fullt tildelt" msgid "Enter quantity for build output" msgstr "Angi antall for build utgang" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -1154,9 +1220,9 @@ msgstr "Heltallsverdi kreves for sporbare deler" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, materialene inneholder sporbare deler" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Serienummer" @@ -1172,7 +1238,7 @@ msgstr "Automatisk tildeling av serienummere" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk allokering av nødvendige elementer med tilsvarende serienummer" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienumre finnes allerede eller er ugyldige" @@ -1180,18 +1246,21 @@ msgstr "Følgende serienumre finnes allerede eller er ugyldige" msgid "A list of build outputs must be provided" msgstr "En liste over byggeresultater må oppgis" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Beliggenhet" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "Sted for ferdige byggeresultater" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" @@ -1266,7 +1338,7 @@ msgstr "Godta at lagervarer ikke er fullt tildelt til denne byggeordren" msgid "Required stock has not been fully allocated" msgstr "Påkrevd varer er ikke fullt tildelt" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "Godta ufullstendig" @@ -1282,8 +1354,8 @@ msgstr "Antall nødvendige bygg er ikke fullført" msgid "Build order has incomplete outputs" msgstr "Bestillingen har ufullstendige resultater" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "BOM varer" @@ -1303,7 +1375,7 @@ msgstr "bom_item.part må peke på den samme delen som byggeordren" msgid "Item must be in stock" msgstr "Varen må være på lager" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig mengde ({q}) overskredet" @@ -1320,7 +1392,7 @@ msgstr "Bygge utdage kan ikke spesifiseres for allokering av usporede deler" msgid "This stock item has already been allocated to this build output" msgstr "Denne lagervaren er allerede tildelt til denne byggeproduksjonen" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "Allokeringselementer må oppgis" @@ -1375,6 +1447,7 @@ msgstr "Bygge ordre {bo} er nå forfalt" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Skriv ut handlinger" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lager er ikke fullt tildelt til denne byggordren" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Måldato" @@ -1460,31 +1538,35 @@ msgstr "Forfall for denne builden var %(target)s" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "Forfallt" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Fullført" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Salgsorder" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "Utstedt av" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Prioritet" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "Slett denne byggeordren" @@ -1515,8 +1597,9 @@ msgstr "Lager kilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige steder." -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "Destinasjon" @@ -1530,19 +1613,20 @@ msgstr "Tildelte deler" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "Parti" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Opprettet" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "Tildel lagervarer til bygg" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "Fjern lager allokering" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "Bestill nødvendige deler" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Bestill deler" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "Slett resultat" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "Utskrifts handlinger" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "Skriv ut etiketter" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "Fullførte byggeresultater" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "Fullførte byggeresultater" msgid "Attachments" msgstr "Vedlegg" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "Bygg notater" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "Tildeling fullført" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "Alle usporbar lagervarer har tildelt" @@ -1689,10 +1766,6 @@ msgstr "Alle usporbar lagervarer har tildelt" msgid "New Build Order" msgstr "Ny byggeordre" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "Skriv ut byggeordre" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "Byggordre detaljer" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "Kopier designmaler for kategoriparametere" msgid "Copy category parameter templates when creating a part" msgstr "Kopier kategori parametermaler ved oppretting av en del" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "Mal" @@ -2035,10 +2108,10 @@ msgstr "Mal" msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "Montering" @@ -2046,8 +2119,8 @@ msgstr "Montering" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "Komponent" @@ -2055,7 +2128,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "Kjøpbar" @@ -2063,8 +2136,8 @@ msgstr "Kjøpbar" msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "Salgbar" @@ -2072,10 +2145,10 @@ msgstr "Salgbar" msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "Sporbar" @@ -2083,10 +2156,10 @@ msgstr "Sporbar" msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "Virtuelle" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 +msgid "Required pattern for generating Return Order reference field" +msgstr "" + +#: common/models.py:1459 +msgid "Edit Completed Return Orders" +msgstr "" + +#: common/models.py:1460 +msgid "Allow editing of return orders after they have been completed" +msgstr "" + +#: common/models.py:1466 +msgid "Sales Order Reference Pattern" +msgstr "" + +#: common/models.py:1467 +msgid "Required pattern for generating Sales Order reference field" +msgstr "" + +#: common/models.py:1473 +msgid "Sales Order Default Shipment" +msgstr "" + +#: common/models.py:1474 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1459 +#: common/models.py:1480 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1460 +#: common/models.py:1481 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:1466 +#: common/models.py:1487 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1467 +#: common/models.py:1488 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1473 +#: common/models.py:1494 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1474 +#: common/models.py:1495 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:1481 +#: common/models.py:1502 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1482 +#: common/models.py:1503 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1488 +#: common/models.py:1509 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1489 +#: common/models.py:1510 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1495 +#: common/models.py:1516 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1496 +#: common/models.py:1517 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1502 +#: common/models.py:1523 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1503 +#: common/models.py:1524 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1509 +#: common/models.py:1530 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1510 +#: common/models.py:1531 msgid "Require user to supply mail on signup" msgstr "Krevt at brukeren angi e-post ved registrering" -#: common/models.py:1516 +#: common/models.py:1537 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO brukere" -#: common/models.py:1517 +#: common/models.py:1538 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata" -#: common/models.py:1523 +#: common/models.py:1544 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1524 +#: common/models.py:1545 msgid "On signup ask users twice for their mail" msgstr "Ved registrering spør brukere to ganger for e-posten" -#: common/models.py:1530 +#: common/models.py:1551 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1531 +#: common/models.py:1552 msgid "On signup ask users twice for their password" msgstr "Ved registrerting, spør brukere to ganger for passord" -#: common/models.py:1537 +#: common/models.py:1558 msgid "Allowed domains" msgstr "" -#: common/models.py:1538 +#: common/models.py:1559 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1544 +#: common/models.py:1565 msgid "Group on signup" msgstr "Gruppe på registrering" -#: common/models.py:1545 +#: common/models.py:1566 msgid "Group to which new users are assigned on registration" msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering" -#: common/models.py:1551 +#: common/models.py:1572 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:1552 +#: common/models.py:1573 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1558 +#: common/models.py:1579 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:1559 +#: common/models.py:1580 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Sjekk at alle programtillegg er installert ved oppstart - aktiver i containermiljøer" -#: common/models.py:1566 +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "Sjekk plugin signaturer" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "Kontroller og vis signaturer for plugins" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "Aktiver URL integrering" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "Aktiver tillegg for å legge til URL" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrering" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "Aktiver plugins for å integrere inn i navigasjon" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "Aktiver app integrasjon" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "Aktiver plugins for å legge til apper" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "Aktiver integrering av tidsplan" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "Aktiver utvidelser for å kjøre planlagte oppgaver" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrering" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "Aktiver plugins til å svare på interne hendelser" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 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:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "Vis abbonerte deler" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "Vis abbonerte deler på hjemmesiden" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "Vis abbonerte kategorier" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "Vis abbonerte delkatekorier på hjemmesiden" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på hjemmesiden" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "Antall nylig deler" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "Antall nylige deler som skal vises på indeks-side" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte BOMs" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "Vis BOMs som venter validering på hjemmesiden" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endret lagervarer på hjemmesiden" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "Siste lagertelling" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "Antall nylige lagervarer som skal vises på indeksside" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "Vis lav lager" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "Vis lav lagervarer på hjemmesiden" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "Vis tom lagervarer" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "Vis lav lagerbeholdning på hjemmesiden" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "Vis nødvendig lagervare" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for å bygge på hjemmesiden" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "Vis utløpt lager" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagerbeholdninger på hjemmesiden" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" -msgstr "Del planlegging" - -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1983 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "Del planlegging" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "Aktiv" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "Sjetong" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "Vert" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "Tittel" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Last opp fil" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "Beskrivelse av firmaet" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "Nettside" @@ -3165,6 +3283,7 @@ msgstr "Kontakt-telefonnummer" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "E-post" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "Kontakt e-post" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "Kontakt" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "Link til ekstern bedriftsinformasjon" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Bilde" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "Notater til firma" @@ -3222,209 +3344,215 @@ msgstr "Standardvaluta brukt for dette firmaet" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "Produsentens varenummer" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "Produsentdeler" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Kunde" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "Last opp bilde" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Leverandør deler" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "Oprett ny leverandørdel" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Ny leverandørdel" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "Bestill deler" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "Slett deler" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "Slett deler" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Produsentdeler" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "Opprett ny produsentdeler" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Ny produsentdel" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "Leverandør lager" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "Leverandør lager" msgid "Purchase Orders" msgstr "Bestillingsorder" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Opprett ny bestillingsorder" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Ny bestillingsorder" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Salgsordre" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Opprett ny salgsordre" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Ny salgsorder" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "Tildelt lagervare" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Leverandørliste" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "Bestill del" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "Endre produsent del" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "Slett produsentdel" @@ -3669,9 +3830,9 @@ msgstr "Slett leverandørdeler" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "Slett" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "Tildelt lagervarer" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Leverandør deler" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "Rediger Leverandørdel" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "Dupliser leverandørdelen" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "Oppdater tilgjengelighet" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Spørrefilter (kommaseparert liste over nøkkel=verdiparer)," #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "Filtre" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN må matche regex-mønster {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "Alle valgte leverandørdeler vil slettes" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "Vis kalender" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "Vis liste" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index cfed423885..802d3e5b9a 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Wprowadź dane" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Uwagi" @@ -134,7 +137,7 @@ msgstr "Zdalny serwer zwrócił pustą odpowiedź" msgid "Supplied URL is not a valid image file" msgstr "Podany adres URL nie jest poprawnym plikiem obrazu" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -206,8 +209,8 @@ msgstr "Brak pliku" msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Załącznik" @@ -216,24 +219,24 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Komentarz" @@ -242,13 +245,13 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Użytkownik" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Opis" @@ -343,7 +350,7 @@ msgid "parent" msgstr "nadrzędny" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Ścieżka" @@ -355,7 +362,7 @@ msgstr "Dane kodu kreskowego" msgid "Third party barcode data" msgstr "Dane kodu kreskowego stron trzecich" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Hasz kodu kreskowego" @@ -375,12 +382,12 @@ msgstr "Błąd serwera" msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Waluta" @@ -568,157 +575,191 @@ msgstr "Nie skonfigurowano backendu e-mail" msgid "InvenTree system health checks failed" msgstr "Sprawdzanie poziomu zdrowia InvenTree nie powiodło się" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "W toku" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Umieszczony" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Zakończono" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Anulowano" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Zagubiono" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Zwrócone" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Wysłane" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Wymaga uwagi" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Uszkodzone" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Zniszczone" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Odrzucone" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "Poddany kwarantannie" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Starsze śledzenie wpisów stanu magazynowego" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Utworzono element magazynowy" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Edytuj pozycję magazynową" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Przypisano numer seryjny" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Zapas policzony" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Zapas dodany ręcznie" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Zapas usunięty ręcznie" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Lokalizacja zmieniona" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Zainstalowano do montażu" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Usunięto z montażu" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Zainstalowano element komponentu" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Usunięto element komponentu" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Podziel z pozycji nadrzędnej" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Podziel element podrzędny" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Scalone przedmioty magazynowe" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Przekonwertowano na wariant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Wyślij do klienta" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Zwrócony od klienta" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Dane wyjściowe kolejności kompilacji utworzone" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Dane wyjściowe kolejności kompilacji ukończone" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Zużyte przez kolejność kompilacji" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Otrzymane na podstawie zlecenia zakupu" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Produkcja" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Nieprawidłowy kod waluty" @@ -751,28 +792,28 @@ msgstr "Hasła muszą być zgodne" msgid "Wrong password provided" msgstr "Podano nieprawidłowe hasło" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Informacja systemowa" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Zlecenie Budowy" msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Referencja" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Krótki opis budowy" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Komponent" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:259 +#: build/models.py:260 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:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Dodatkowe notatki do budowy" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Kolejność kompilacji {build} została zakończona" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Nie znaleziono wybranego elementu magazynowego w BOM" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Budowa" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Ilość" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Numer seryjny" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Lokalizacja" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "Element BOM" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Akcje drukowania" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Data docelowa" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "Zaległe" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Zakończone" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "Dodane przez" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "Przeznaczenie" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "Partia" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Utworzony" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "Przydziel zapasy do budowy" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "Cofnij przydział zapasów" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "Zamów wymagane komponenty" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Zamów komponent" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "Drukuj etykiety" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "Załączniki" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "Notatki tworzenia" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "Nowe zlecenie budowy" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "Wydrukuj zlecenia budowy" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "dni" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "Szablon" @@ -2035,10 +2108,10 @@ msgstr "Szablon" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "Złożenie" @@ -2046,8 +2119,8 @@ msgstr "Złożenie" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "Komponent" @@ -2055,7 +2128,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -2063,8 +2136,8 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -2072,10 +2145,10 @@ msgstr "Możliwość sprzedaży" msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "Możliwość śledzenia" @@ -2083,10 +2156,10 @@ msgstr "Możliwość śledzenia" msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "Wirtualny" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" +msgstr "" + +#: common/models.py:1488 +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1495 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1502 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1482 +#: common/models.py:1503 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1488 +#: common/models.py:1509 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1489 +#: common/models.py:1510 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:1495 +#: common/models.py:1516 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1496 +#: common/models.py:1517 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1502 +#: common/models.py:1523 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1503 +#: common/models.py:1524 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1509 +#: common/models.py:1530 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1510 +#: common/models.py:1531 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1516 +#: common/models.py:1537 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1517 +#: common/models.py:1538 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1523 +#: common/models.py:1544 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1524 +#: common/models.py:1545 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:1530 +#: common/models.py:1551 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1531 +#: common/models.py:1552 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1537 +#: common/models.py:1558 msgid "Allowed domains" msgstr "" -#: common/models.py:1538 +#: common/models.py:1559 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1544 +#: common/models.py:1565 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1545 +#: common/models.py:1566 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1551 +#: common/models.py:1572 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1552 +#: common/models.py:1573 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1558 +#: common/models.py:1579 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:1559 +#: common/models.py:1580 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1566 +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "Pokaż ilość w formularzach" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" -msgstr "Stały pasek nawigacyjny" +msgid "Search Return Orders" +msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:1970 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:1976 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1983 +msgid "Show Quantity in Forms" +msgstr "Pokaż ilość w formularzach" + +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" +msgstr "Stały pasek nawigacyjny" + +#: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 msgid "Date Format" msgstr "Format daty" -#: common/models.py:1970 +#: common/models.py:2005 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:1984 part/templates/part/detail.html:41 +#: common/models.py:2019 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:1985 +#: common/models.py:2020 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 +#: common/models.py:2026 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1992 +#: common/models.py:2027 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1998 +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "Cena" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "Aktywny" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "Sekret" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "Zawartość" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Wyślij plik" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "Opis firmy" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "Strona WWW" @@ -3165,6 +3283,7 @@ msgstr "Numer telefonu kontaktowego" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "Adres E-Mail" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "Kontaktowy adres e-mail" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "Kontakt" @@ -3184,11 +3306,11 @@ msgstr "Punkt kontaktowy" msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Obraz" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "Notatki firmy" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "Firma" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Producent" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "Numer producenta komponentu" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "Komponent producenta" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "Wartość" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "Jednostki" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "Jednostki parametru" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Dostawca" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "Uwaga" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "Dostępne" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "Domyślna waluta używana dla tego dostawcy" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "Utwórz zamówienie zakupu" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "Edytuj firmę" @@ -3474,14 +3602,17 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Klient" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "Załaduj obrazek" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "Pobierz obraz" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Komponenty dostawcy" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "Utwórz nowego dostawcę części" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Nowy dostawca części" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "Zamów komponenty" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "Usuń części" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "Usuń części" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Części producenta" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "Utwórz nową część producenta" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nowa część producenta" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "Zapasy dostawcy" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "Zapasy dostawcy" msgid "Purchase Orders" msgstr "Zamówienia zakupu" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Utwórz nowe zamówienie zakupu" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Nowe zamówienie zakupu" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Utwórz nowe zlecenie sprzedaży" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Lista dostawców" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "Zamów komponent" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "Edytuj komponent producenta" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "Usuń komponent producenta" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "Usuń" @@ -3693,7 +3854,7 @@ msgstr "Nowy parametr" msgid "Delete parameters" msgstr "Usuń parametry" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Dodaj parametr" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "Pokaż Kod QR" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "Utwórz nowy towar" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Nowy towar" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "Informacja cenowa" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Towary" @@ -3897,7 +4063,7 @@ msgstr "Etykieta" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "Aktywne" @@ -3921,7 +4087,7 @@ msgstr "Wysokość [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "Filtry" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "Opis Zamówienia" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "Link do zewnętrznej witryny" - -#: order/models.py:96 -msgid "Created By" -msgstr "Utworzony przez" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" - -#: order/models.py:108 -msgid "Order notes" -msgstr "Notatki do zamówienia" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "Cena całkowita" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" -msgstr "Odniesienie zamówienia" - -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" -msgstr "Status zamówienia zakupu" - -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" +#: order/models.py:199 +msgid "Order description" +msgstr "Opis Zamówienia" -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" +msgstr "Link do zewnętrznej witryny" -#: order/models.py:293 -msgid "received by" -msgstr "odebrane przez" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "Data wydania" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "Data wystawienia zamówienia" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "Data Dostawy Towaru" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 +#: order/models.py:215 +msgid "Created By" +msgstr "Utworzony przez" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "Notatki do zamówienia" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "Odniesienie zamówienia" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "Status zamówienia zakupu" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "odebrane przez" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "Data wydania" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "Data wystawienia zamówienia" + +#: order/models.py:377 order/models.py:1699 msgid "Date order was completed" msgstr "" -#: order/models.py:350 +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "Zamówienie" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Odebrane" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "Notatki do przesyłki" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "Linia" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "Komponent" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "Eksportuj zamówienie do pliku" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "Edytuj zamówienie" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "Anuluj zamówienie" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "Oznacz zamówienie jako zakończone" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "Kompletne zamówienie" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "Numer zamówienia" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "Opis zamówienia" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "Status zamówienia" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "Niekompletny" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Wydany" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "Duplikuj wybrane" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Usuń wiersz" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "Dodaj element zamówienia" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "Otrzymane elementy" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "Notatki zamówień" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" -msgstr "Wydrukuj raporty zamówienia" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "Całkowity Koszt" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" +msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "Oczekujące przesyłki" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "Akcje" @@ -4716,34 +5003,34 @@ msgstr "Akcje" msgid "New Shipment" msgstr "Nowa wysyłka" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "Nie znaleziono ceny" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "Nazwa komponentu" @@ -4752,19 +5039,19 @@ msgstr "Nazwa komponentu" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Wersja" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "Słowa kluczowe" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "Na stanie" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "W Zamówieniu" @@ -4806,22 +5093,22 @@ msgstr "W Zamówieniu" msgid "Used In" msgstr "Użyte w" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "Przydzielono" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Części" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "IPN komponentu" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "Ważny" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "Dostępna ilość" @@ -4921,664 +5208,665 @@ msgstr "Dostępna ilość" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, 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:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN musi być zgodny z wyrażeniem regularnym {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "Wariant" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "Opis komponentu" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "Kategoria" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:992 +#: part/models.py:991 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:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1018 +#: part/models.py:1017 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:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Data" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "Wymagane" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "Dane" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "Poziom" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "Opcjonalne" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "Część 1" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "Część 2" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "Duplikuj część" @@ -5671,7 +5959,7 @@ msgstr "Duplikuj część" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "Usuń kategorię" msgid "Top level part category" msgstr "Kategoria najwyższego poziomu" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Podkategorie" @@ -5931,23 +6219,19 @@ msgstr "Ustaw kategorię" msgid "Set Category" msgstr "Ustaw kategorię" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "Drukuj etykiety" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "Parametry części" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "Stwórz nową kategorię komponentów" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "Nowa kategoria" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "Utwórz nową kategorię części" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "Odśwież" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "Producenci części" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "Powiązane części" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "Dodaj powiązaną część" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "Wybierz format pliku" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "Część jest wirtualna (nie fizyczna)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "Nieaktywny" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "Przypisane do zamówień sprzedaży" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "Minimalny poziom stanu magazynowego" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "Kod QR części" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "Oblicz" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "Nie znaleziono pasujących obrazów" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "Ukryj szczegóły części" @@ -6319,15 +6603,6 @@ msgstr "Cennik dostawcy" msgid "Unit Cost" msgstr "Cena jednostkowa" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "Całkowity Koszt" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "Brak dostępnych cen dostawców" @@ -6370,9 +6645,9 @@ msgstr "Warianty" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "Brak w magazynie" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "Nazwa szablonu" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "Filtr części" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "Cena jednostkowa" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 msgid "Total" msgstr "Razem" +#: report/templates/report/inventree_return_order_report_base.html:25 +#: report/templates/report/inventree_test_report_base.html:88 +#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "Numer Seryjny" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "Numer Seryjny" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "Wynik" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "Zaliczone" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "Niezaliczone" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Zainstalowane elementy" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "Numer seryjny" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "Zainstalowane w" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "Data ważności" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "Właściciel" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "Wybierz właściciela" @@ -7068,8 +7362,8 @@ msgstr "Wybierz właściciela" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "Nadrzędny towar" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "Wybierz pasującą część dostawcy dla tego towaru" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1342 +#: stock/models.py:1349 #, 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:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "Nazwa testu" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "Przelicz stan magazynowy" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "Usuń stan magazynowy" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "Przenieś stan magazynowy" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Lokacje nie są ustawione" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "Termin minął" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "Ostrzeżenie" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "Wróć do stanu magazynowego" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "Nowa lokalizacja" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "Zaloguj się" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "Ustawienia" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "Wtyczki" @@ -8193,6 +8487,10 @@ msgstr "Nigdy" msgid "Report Settings" msgstr "Ustawienia raportu" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "Nie ustawiono wartości" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "Strona główna" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "Wprowadź token wygenerowany przez aplikację:" msgid "Verify" msgstr "Zweryfikuj" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "Dodaj link" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "Dodaj załącznik" @@ -8803,19 +9101,19 @@ msgstr "Dodaj załącznik" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Wymagane ponowne uruchomienie serwera" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "Zmieniono opcję konfiguracji, która wymaga ponownego uruchomienia serwera" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "Skontaktuj się z administratorem systemu w celu uzyskania dalszych informacji" @@ -8825,6 +9123,7 @@ msgstr "Skontaktuj się z administratorem systemu w celu uzyskania dalszych info #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Wymagana ilość" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "Minimalna ilość" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Brak odpowiedzi" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "Brak odpowiedzi z serwera InvenTree" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "Błąd 400: Błędne żądanie" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "Żądanie interfejsu API zwróciło kod błędu 400" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Błąd 401: Nieuwierzytelniony" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "Dane uwierzytelniające nie zostały dostarczone" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Błąd 403: Odmowa dostępu" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Nie masz uprawnień wymaganych do dostępu do tej funkcji" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Błąd 404: Nie znaleziono zasobu" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "Żądany zasób nie mógł być zlokalizowany na serwerze" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "Błąd 405: Metoda nie jest dozwolona" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "Metoda HTTP nie jest dozwolona pod tym adresem URL" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Błąd 408: Przekroczony limit czasu" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "Limit czasu połączenia podczas żądania danych z serwera" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "Nieobsługiwany kod błędu" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "Kod błędu" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "Edytuj załącznik" msgid "Upload Date" msgstr "Data przesłania" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "Edytuj załącznik" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "Usuń załącznik" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "Wprowadź dane kodu kreskowego" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "Kod kreskowy" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "Wprowadź notatki" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "Błąd serwera" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "Nieznana odpowiedź serwera" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Niepoprawna odpowiedź serwera" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "Zeskanuj kod kreskowy" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "Brak adresu URL w odpowiedzi" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "Rozłącz" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "Sprawdź" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "Dane wiersza" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Zamknij" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "Zobacz BOM" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "Ostatni numer seryjny" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "Wyjście" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "Ilość za" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "Wybierz części" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "Wybierz" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "Brak informacji o użytkowniku" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "Dodaj producenta" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "Dodaj część producenta" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "Dodaj dostawcę" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "Wszystkie wybrane komponenty dostawcy zostaną usunięte" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "Dodaj nową firmę" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "Usuń parametry" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "Nie znaleziono parametrów" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "Usuń parametr" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "Usuń parametr" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "Edytuj przedział cenowy" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "Ostatnio aktualizowane" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "Edytuj przedział cenowy" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "prawda" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "fałsz" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "Wybierz filtr" -#: templates/js/translated/filters.js:297 -msgid "Download data" -msgstr "Pobierz dane" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" +msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" -msgstr "Przeładuj dane" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" +msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "Dodaj nowy filtr" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "Wyczyść wszystkie filtry" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "Utwórz filtr" @@ -9755,105 +10111,83 @@ msgstr "Pozostaw ten formularz otwarty" msgid "Enter a valid number" msgstr "Wprowadź poprawny numer" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Istnieją błędy formularza" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "Nie znaleziono wyników" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "Wyszukiwanie" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "Wyczyść wejście" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "Kolumna pliku" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "Nazwa pola" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "Wybór Kolumn" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "TAK" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "Nie" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "Wybierz przedmioty magazynowe" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "Nie znaleziono etykiet" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "Wybierz szablon etykiety" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "Nie znaleziono etykiet" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "Oznacz zamówienie jako zakończone?" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "Edytuj zamówienie zakupu" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "Kod zamówienia" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "Zamówione" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "Ilość do otrzymania" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "Potwierdź odbiór elementów" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "Przedmioty" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" -msgstr "Nie znaleziono zamówień sprzedaży" - -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" -msgstr "Nieprawidłowy klient" - -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" -msgstr "Edytuj wysyłkę" - -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "Kompletna wysyłka" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "Usuń wysyłkę" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "Edytuj wysyłkę" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "Usuń wysyłkę" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "Nie odnaleziono pasujących przesyłek" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "Numer referencyjny przesyłki" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "Nie wysłano" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "Śledzenie" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "Potwierdź przydział zapasów" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "Cena zakupu" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "Oblicz cenę" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "Zaktualizuj cenę jednostkową" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "Atrybuty części" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "Edytuj kategorię części" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "Czy na pewno chcesz usunąć tę kategorię części?" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "Utwórz część" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "Utwórz kolejną część po tej" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "Część utworzona pomyślnie" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "Edytuj część" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "Część zmodyfikowana" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "Utwórz wariant części" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "Włącz powiadomienia dla tej części" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "Zostałeś wypisany z powiadomień dla tej części" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "Obserwowane części" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "Nie znaleziono wariantów" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "Nie znaleziono części" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "Brak kategorii" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "Wyświetl jako listę" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "Wyświetl jako siatkę" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "Ustaw kategorię części" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "Wyświetl jako drzewo" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "Obserwowana kategoria" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "Edytuj zamówienie zakupu" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "Oznacz zamówienie jako zakończone?" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "Kod zamówienia" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "Zamówione" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "Ilość do otrzymania" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "Potwierdź odbiór elementów" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "Przedmioty" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" +msgstr "Nieprawidłowy klient" + +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "Nie znaleziono zamówień sprzedaży" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "Edytuj wysyłkę" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "Kompletna wysyłka" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "Usuń wysyłkę" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "Edytuj wysyłkę" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "Usuń wysyłkę" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "Nie odnaleziono pasujących przesyłek" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "Numer referencyjny przesyłki" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "Nie wysłano" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "Śledzenie" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "Potwierdź przydział zapasów" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "Cena zakupu" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "Oblicz cenę" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "Zaktualizuj cenę jednostkową" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "Czy na pewno chcesz skasować tą lokację?" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "Czy na pewno chcesz usunąć tą część?" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "Przenieś" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "Weź" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "Dodaj" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "Usuń stan magazynowy" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "Wybierz przedmioty magazynowe" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "BRAK WYNIKÓW" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "Dodaj wynik testu" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "W produkcji" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "Kod statusu musi być wybrany" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "Szczegóły" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "Lokalizacja już nie istnieje" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "Zamówienie zakupu już nie istnieje" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "Klient już nie istnieje" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "Element magazynowy już nie istnieje" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "Usunięto" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "Uwzględnij podlokalizacje" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "Obesrwowane" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "Numer seryjny" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "Kod partii" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "Aktywne części" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "Część jest zespołem" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "Jest przydzielony" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "Przedmiot został przydzielony" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "W produkcji" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "Obejmuje warianty" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "Zainstalowane" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "Posiada cenę zakupu" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "Test pomyślny" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "Przypisane do mnie" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "Status zamówienia" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "Przypisane do mnie" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "Uwzględnij podlokalizacje" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "Obesrwowane" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "Numer seryjny" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "Kod partii" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "Aktywne części" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "Część jest zespołem" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "Jest przydzielony" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "Przedmiot został przydzielony" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "W produkcji" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "Obejmuje warianty" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "Zainstalowane" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "Posiada cenę zakupu" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "Test pomyślny" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "Pokaż aktywne części" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "Posiada IPN" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "Część posiada wewnętrzny numer części" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "Możliwość zakupu" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "Pokaż widok kalendarza" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "Pokaż widok listy" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "Eksportuj dane tabeli" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "Wybierz format pliku" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "Wczytywanie danych" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "wierszy na stronę" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "Pokaż wszystkie wiersze" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "Pokazywane" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "do" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "z" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "wierszy" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "Brak pasujących wyników" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "Ukryj/Pokaż stronicowanie" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "Przełącz" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "Kolumny" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "Wszystkie" @@ -11521,19 +11904,19 @@ msgstr "Kup" msgid "Sell" msgstr "Sprzedaj" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "Pokaż powiadomienia" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "Nowe powiadomienia" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "Wyloguj się" @@ -11679,55 +12062,51 @@ msgstr "Ustawienia e-mail nie zostały skonfigurowane" msgid "Barcode Actions" msgstr "Akcje kodów kreskowych" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "Drukuj raporty testowe" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "Opcje magazynowe" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "Dodaj do wybranych produktów magazynowych" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "Usuń z wybranych przedmiotów magazynowych" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "Przenieś wybrane przedmioty magazynowe" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "Połącz wybrane przedmioty magazynowe" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "Scal stany magazynowe" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "Zamów wybrane elementy" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "Zmień status" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "Zmień status stanu magazynowego" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "Usuń zaznaczone elementy" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "Usuń stan magazynowy" @@ -11747,51 +12126,51 @@ msgstr "Użytkownicy" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "Informacje osobiste" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "Uprawnienia" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "Ważne daty" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "Grupa" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "Widok" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "Zmień" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index e23c0c40df..d896303a82 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:29\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:39\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "Usuário não tem permissão para ver este modelo" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Insira uma Data" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Anotações" @@ -134,7 +137,7 @@ msgstr "O servidor remoto retornou resposta vazia" msgid "Supplied URL is not a valid image file" msgstr "A URL fornecida não é um arquivo de imagem válido" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Quantidade invalida" @@ -206,8 +209,8 @@ msgstr "Arquivo nao encontrado" msgid "Missing external link" msgstr "Link externo nao encontrado" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Anexo" @@ -216,24 +219,24 @@ msgstr "Anexo" msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Link" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Link para URL externa" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Comentario" @@ -242,13 +245,13 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario sobre arquivo" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Usuario" @@ -289,48 +292,52 @@ msgstr "Nomes duplicados não podem existir sob o mesmo parental" msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Descricao" @@ -343,7 +350,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Caminho" @@ -355,7 +362,7 @@ msgstr "Dados de código de barras" msgid "Third party barcode data" msgstr "Dados de código de barras de terceiros" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Hash de código de barras" @@ -375,12 +382,12 @@ msgstr "Erro de servidor" msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Moeda" @@ -568,157 +575,191 @@ msgstr "Serviço de fundo do e-mail não foi configurado" msgid "InvenTree system health checks failed" msgstr "Verificação de saúde do sistema InvenTree falhou" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Pendente" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Colocado" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Completado" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Cancelado" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Perdido" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Retornado" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "Em Progresso" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Enviado" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Necessita de atenção" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Danificado" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Destruído" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Rejeitado" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "Em quarentena" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Entrada de rastreamento de estoque antiga" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Item de estoque criado" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Item de estoque editado" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Número de série atribuído" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Estoque contado" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Estoque adicionado manualmente" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Estoque removido manualmente" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Local alterado" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Instalado na montagem" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Removido da montagem" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Instalado componente do Item" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Removido componente do Item" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Separado do Item Paternal" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Separar o Item filho" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Itens de estoque mesclados" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Convertido para variável" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Enviado ao cliente" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Retornado ao cliente" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Criação dos pedidos de produção criado" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Criação do pedido de produção completado" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Usado na ordem de produção" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Recebido referente ao pedido de compra" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "Enviado contra o Pedido de Venda" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "Recebido referente ao Pedido de Compra" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "Devolvido contra Pedido de Retorno" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Produção" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "Devolução" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "Consertar" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "Reembolsar" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "Substituir" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "Recusar" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Não é um código de moeda válido" @@ -751,28 +792,28 @@ msgstr "Os campos de senha devem coincidir" msgid "Wrong password provided" msgstr "Senha incorreta fornecida" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Informação do Sistema" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Sobre o InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Ondem de Produção" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Ondem de Produção" msgid "Build Orders" msgstr "Ordens de Produções" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Escolha de Produção parental inválida" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Referência" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Breve descrição da produção" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produção Progenitor" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Ordem de produção para qual este serviço está alocado" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Peça" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Selecionar peça para produção" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Referência do pedido de venda" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Ordem de Venda para qual esta produção está alocada" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Local de Origem" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecione a localização para pegar do estoque para esta produção (deixe em branco para tirar a partir de qualquer local de estoque)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Local de Destino" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Selecione o local onde os itens concluídos serão armazenados" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Quantidade de Produção" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Número de itens em estoque para produzir" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Itens concluídos" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Número de itens em estoque concluídos" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Progresso da produção" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Código de situação da produção" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Código de Lote" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Criado em" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Data alvo final" -#: build/models.py:259 +#: build/models.py:260 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:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Data de conclusão" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "Concluído em" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Emitido em" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Usuário que emitiu esta ordem de produção" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Responsável" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "Usuário ou grupo responsável para esta ordem de produção" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Link Externo" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Notas de produção complementares" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "Prioridade de Produção" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "Prioridade desta ordem de produção" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "O Pedido de produção {build} foi concluído!" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "Um pedido de produção foi concluído" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Nenhuma saída de produção especificada" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Saída de produção já completada" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde à Ordem de Produção" -#: build/models.py:1189 +#: build/models.py:1190 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:1198 +#: build/models.py:1199 #, 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:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "Quantidade deve ser 1 para estoque serializado" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Item do estoque selecionado não encontrado na LDM" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Produção" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "Faça uma Produção para atribuir peças" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Item de estoque" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Quantidade" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Destino do Item do Estoque" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Saída da Produção" @@ -1139,9 +1205,9 @@ msgstr "A saída de produção não está completamente alocada" msgid "Enter quantity for build output" msgstr "Entre a quantidade da saída de produção" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" @@ -1154,9 +1220,9 @@ msgstr "Quantidade inteira necessária para peças rastreáveis" 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:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Números de Série" @@ -1172,7 +1238,7 @@ msgstr "Alocar Números de Série Automaticamente" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 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" @@ -1180,18 +1246,21 @@ msgstr "Os seguintes números de série já existem ou são inválidos" msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Local" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Situação" @@ -1266,7 +1338,7 @@ msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" @@ -1282,8 +1354,8 @@ msgstr "Quantidade de produção requerida não foi concluída" msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "Item LDM" @@ -1303,7 +1375,7 @@ msgstr "bin_item.part deve indicar a mesma peça da ordem de produção" msgid "Item must be in stock" msgstr "Item deve estar em estoque" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantidade disponível ({q}) excedida" @@ -1320,7 +1392,7 @@ msgstr "Saída de produção deve ser definida para alocação de peças não ra 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:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" @@ -1375,6 +1447,7 @@ msgstr "Pedido de produção {bo} está atrasada" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Ações de impressão" @@ -1443,13 +1516,18 @@ 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:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Data alvo" @@ -1460,31 +1538,35 @@ msgstr "Essa produção expirou em %(target)s" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "Expirou" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Concluído" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Pedido de Venda" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "Emitido por" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Prioridade" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "Excluir Ordem de Produção" @@ -1515,8 +1597,9 @@ 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:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "Destino" @@ -1530,19 +1613,20 @@ msgstr "Peças alocadas" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "Lote" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Criado" @@ -1562,7 +1646,7 @@ msgstr "Pedido de Produção Filho" msgid "Allocate Stock to Build" msgstr "Alocar Estoque para Produção" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "Estoque não alocado" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "Pedir peças necessárias" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Pedir Peças" @@ -1645,27 +1730,19 @@ msgstr "Excluir saídas de produções selecionados" msgid "Delete outputs" msgstr "Exlcuir saídas" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "Ações de impressão" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "Imprimir etiquetas" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "Saídas de Produção concluídas" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "Saídas de Produção concluídas" msgid "Attachments" msgstr "Anexos" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "Notas de produção" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "Alocação Concluída" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "Todos os itens não rastreáveis foram alocados" @@ -1689,10 +1766,6 @@ msgstr "Todos os itens não rastreáveis foram alocados" msgid "New Build Order" msgstr "Novo Pedido de Produção" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "Imprimir Pedidos de Produção" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "Detalhes do Pedido de Produção" @@ -1893,7 +1966,7 @@ msgstr "Frequência para verificar atualizações (defina como zero para desativ #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "dias" @@ -2025,9 +2098,9 @@ msgstr "Copiar Parâmetros dos Modelos de Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "Modelo" @@ -2035,10 +2108,10 @@ msgstr "Modelo" msgid "Parts are templates by default" msgstr "Peças são modelos por padrão" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "Montagem" @@ -2046,8 +2119,8 @@ msgstr "Montagem" 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:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "Componente" @@ -2055,7 +2128,7 @@ msgstr "Componente" 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:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "Comprável" @@ -2063,8 +2136,8 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "Vendível" @@ -2072,10 +2145,10 @@ msgstr "Vendível" msgid "Parts are salable by default" msgstr "Peças vão vendíveis por padrão" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "Rastreável" @@ -2083,10 +2156,10 @@ msgstr "Rastreável" msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "Virtual" @@ -2118,7 +2191,7 @@ msgstr "Dados Iniciais de Estoque" 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:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "Dados Iniciais de Fornecedor" @@ -2156,7 +2229,7 @@ msgstr "Máximo Casas Decimais de Preço" #: common/models.py:1232 msgid "Maximum number of decimal places to display when rendering pricing data" -msgstr "" +msgstr "Número máximo de casas decimais a exibir quando renderizar dados de preços" #: common/models.py:1242 msgid "Use Supplier Pricing" @@ -2375,698 +2448,739 @@ 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:1445 +msgid "Enable Return Orders" +msgstr "Ativar Pedidos de Devolução" + +#: common/models.py:1446 +msgid "Enable return order functionality in the user interface" +msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário" + +#: common/models.py:1452 +msgid "Return Order Reference Pattern" +msgstr "Modelo de Referência de Pedidos de Devolução" + +#: common/models.py:1453 +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:1459 +msgid "Edit Completed Return Orders" +msgstr "Editar os Pedidos de Devolução Concluídos" + +#: common/models.py:1460 +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:1466 msgid "Sales Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Venda" -#: common/models.py:1446 +#: common/models.py:1467 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:1452 +#: common/models.py:1473 msgid "Sales Order Default Shipment" msgstr "Envio Padrão de Pedidos de Venda" -#: common/models.py:1453 +#: common/models.py:1474 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" -#: common/models.py:1459 +#: common/models.py:1480 msgid "Edit Completed Sales Orders" msgstr "Editar os Pedidos de Vendas concluídos" -#: common/models.py:1460 +#: common/models.py:1481 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:1466 +#: common/models.py:1487 msgid "Purchase Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Compras" -#: common/models.py:1467 +#: common/models.py:1488 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:1473 +#: common/models.py:1494 msgid "Edit Completed Purchase Orders" msgstr "Editar Pedidos de Compra Concluídos" -#: common/models.py:1474 +#: common/models.py:1495 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:1481 +#: common/models.py:1502 msgid "Enable password forgot" msgstr "Habitar esquecer senha" -#: common/models.py:1482 +#: common/models.py:1503 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:1488 +#: common/models.py:1509 msgid "Enable registration" msgstr "Habilitar cadastro" -#: common/models.py:1489 +#: common/models.py:1510 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:1495 +#: common/models.py:1516 msgid "Enable SSO" msgstr "Ativar SSO" -#: common/models.py:1496 +#: common/models.py:1517 msgid "Enable SSO on the login pages" msgstr "Ativar SSO na página de acesso" -#: common/models.py:1502 +#: common/models.py:1523 msgid "Enable SSO registration" msgstr "Ativar registro SSO" -#: common/models.py:1503 +#: common/models.py:1524 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:1509 +#: common/models.py:1530 msgid "Email required" msgstr "Email obrigatório" -#: common/models.py:1510 +#: common/models.py:1531 msgid "Require user to supply mail on signup" msgstr "Exigir do usuário o e-mail no cadastro" -#: common/models.py:1516 +#: common/models.py:1537 msgid "Auto-fill SSO users" msgstr "Auto-preencher usuários SSO" -#: common/models.py:1517 +#: common/models.py:1538 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:1523 +#: common/models.py:1544 msgid "Mail twice" msgstr "Enviar email duplo" -#: common/models.py:1524 +#: common/models.py:1545 msgid "On signup ask users twice for their mail" msgstr "No registro pedir aos usuários duas vezes pelo email" -#: common/models.py:1530 +#: common/models.py:1551 msgid "Password twice" msgstr "Senha duas vezes" -#: common/models.py:1531 +#: common/models.py:1552 msgid "On signup ask users twice for their password" msgstr "No registro pedir aos usuários duas vezes pela senha" -#: common/models.py:1537 +#: common/models.py:1558 msgid "Allowed domains" msgstr "Domínios permitidos" -#: common/models.py:1538 +#: common/models.py:1559 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)" -#: common/models.py:1544 +#: common/models.py:1565 msgid "Group on signup" msgstr "Grupo no cadastro" -#: common/models.py:1545 +#: common/models.py:1566 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:1551 +#: common/models.py:1572 msgid "Enforce MFA" msgstr "Forçar AMF" -#: common/models.py:1552 +#: common/models.py:1573 msgid "Users must use multifactor security." msgstr "Os usuários devem usar uma segurança multifator." -#: common/models.py:1558 +#: common/models.py:1579 msgid "Check plugins on startup" msgstr "Checar extensões no início" -#: common/models.py:1559 +#: common/models.py:1580 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:1566 +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "Checar assinaturas de extensões" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "Checar e mostrar assinaturas das extensões" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "Ativar integração URL" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "Ativar extensão para adicionar rotas URL" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "Ativar integração de navegação" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "Ativar extensões para integrar à navegação" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "Ativa integração com aplicativo" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "Ativar extensões para adicionar aplicativos" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "Ativar integração do calendário" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "Ativar extensões para executar tarefas agendadas" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "Ativar integração de eventos" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "Ativar extensões para responder a eventos internos" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "Funcionalidade de Balanço do Inventário" -#: common/models.py:1615 +#: common/models.py:1636 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:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "Período de Balanço Automático" -#: common/models.py:1622 +#: common/models.py:1643 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:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "Intervalo para Excluir o Relatório" -#: common/models.py:1632 +#: common/models.py:1653 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:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 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:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "Nenhuma impressora (Exportar para PDF)" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "Mostrar peças subscritas" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "Mostrar peças subscritas na tela inicial" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "Mostrar categorias subscritas" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorias de peças subscritas na tela inicial" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "Mostrar peças mais recentes" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "Mostrar as peças mais recentes na página inicial" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "Contagem de peças recentes" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "Número de peças recentes para mostrar no índice" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "Mostrar LDMs não validadas" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar LDMs que aguardam validação na página inicial" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "Mostrar alterações recentes de estoque" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar itens de estoque alterados recentemente na página inicial" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "Contagem de Estoque Recente" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "Número recentes itens do estoque para mostrar no índice" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "Mostrar baixo estoque" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "Mostrar itens de baixo estoque na página inicial" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "Mostrar estoque esgotado" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "Mostrar itens sem estoque na página inicial" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "Mostrar estoque necessário" -#: common/models.py:1753 +#: common/models.py:1774 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:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "Mostrar estoque expirado" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "Mostrar expirados itens em estoque na tela inicial" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "Mostrar estoque inativo" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "Mostrar estoque inativo na tela inicial" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "Mostrar produções pendentes" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "Mostrar produções pendentes na tela inicial" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "Mostrar produções atrasadas" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "Mostrar produções atrasadas na tela inicial" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "Mostrar pedidos de compra pendentes" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "Mostrar Pedidos de Compra atrasados" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "Mostrar pedidos de vendas pendentes" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "Mostrar Pedidos de Venda atrasados" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "Mostrar notícias" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "Mostrar notícias na tela inicial" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "Mostrar etiqueta em linha" -#: common/models.py:1823 +#: common/models.py:1844 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:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "Impressora de etiquetas padrão" -#: common/models.py:1830 +#: common/models.py:1851 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:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "Mostrar relatório em linha" -#: common/models.py:1837 +#: common/models.py:1858 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:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "Procurar Peças" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "Mostrar peças na janela de visualização de pesquisa" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "Buscar Peças do Fornecedor" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "Buscar peças do fabricante" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "Ocultar peças inativas" -#: common/models.py:1865 +#: common/models.py:1886 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:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "Pesquisar Categorias" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "Pesquisar Estoque" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "Ocultar itens do estoque indisponíveis" -#: common/models.py:1886 +#: common/models.py:1907 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:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "Procurar Locais" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "Pesquisar empresas" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "Mostrar empresas na janela de visualização de pesquisa" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "Procurar Pedidos de Produção" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "Mostrar Pedido de Compras" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "Não incluir Pedidos de Compras Inativos" -#: common/models.py:1921 +#: common/models.py:1942 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:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "Procurar Pedidos de Vendas" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "Não Incluir Pedidos de Compras Inativas" -#: common/models.py:1935 +#: common/models.py:1956 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:1941 +#: common/models.py:1962 +msgid "Search Return Orders" +msgstr "Procurar Pedidos de Devolução" + +#: common/models.py:1963 +msgid "Display return orders in search preview window" +msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa" + +#: common/models.py:1969 +msgid "Exclude Inactive Return Orders" +msgstr "Não Incluir Pedidos de Devolução Inativas" + +#: common/models.py:1970 +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:1976 msgid "Search Preview Results" msgstr "Mostrar Resultados Anteriores" -#: common/models.py:1942 +#: common/models.py:1977 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:1948 +#: common/models.py:1983 msgid "Show Quantity in Forms" msgstr "Mostrar Quantidade nos Formulários" -#: common/models.py:1949 +#: common/models.py:1984 msgid "Display available part quantity in some forms" msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" -#: common/models.py:1955 +#: common/models.py:1990 msgid "Escape Key Closes Forms" msgstr "Tecla Esc Fecha Formulários" -#: common/models.py:1956 +#: common/models.py:1991 msgid "Use the escape key to close modal forms" msgstr "Usar a tecla Esc para fechar fomulários modais" -#: common/models.py:1962 +#: common/models.py:1997 msgid "Fixed Navbar" msgstr "Fixar Navbar" -#: common/models.py:1963 +#: common/models.py:1998 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:1969 +#: common/models.py:2004 msgid "Date Format" msgstr "Formato da data" -#: common/models.py:1970 +#: common/models.py:2005 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar datas" -#: common/models.py:1984 part/templates/part/detail.html:41 +#: common/models.py:2019 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Agendamento de peças" -#: common/models.py:1985 +#: common/models.py:2020 msgid "Display part scheduling information" msgstr "Mostrar informações de agendamento de peças" -#: common/models.py:1991 part/templates/part/detail.html:62 +#: common/models.py:2026 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Balanço de Peça" -#: common/models.py:1992 +#: common/models.py:2027 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:1998 +#: common/models.py:2033 msgid "Table String Length" msgstr "Comprimento da Tabela de Frases" -#: common/models.py:1999 +#: common/models.py:2034 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:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "Preço" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "Ativo" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "Token" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "Segredo" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "Servidor" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "Corpo" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "Id" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "Título" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "Publicado" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "Resumo" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "Lida" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" @@ -3079,7 +3193,7 @@ msgstr "Novo {verbose_name}" 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:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "Itens Recebidos" @@ -3087,19 +3201,23 @@ msgstr "Itens Recebidos" msgid "Items have been received against a purchase order" msgstr "Os itens de um pedido de compra foram recebidos" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "Os itens de um pedido de devolução foram recebidos" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "Erro criado pela extensão" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Carregar Arquivo" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "Descrição da empresa" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "Página Web" @@ -3165,6 +3283,7 @@ msgstr "Número de telefone do contato" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "Email" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "Endereço de e-mail do contato" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "Contato" @@ -3184,11 +3306,11 @@ msgstr "Ponto de contato" msgid "Link to external company information" msgstr "Link para informações externas da empresa" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Imagem" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "Notas da Empresa" @@ -3222,209 +3344,215 @@ msgstr "Moeda padrão utilizada para esta empresa" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "Empresa" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Peça base" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "Selecionar peça" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "Selecionar fabricante" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "NPF" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "Número de Peça do Fabricante" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "Descrição da peça do fabricante" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "Peça do Fabricante" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "Nome do parâmetro" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "Valor" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "Valor do Parâmetro" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "Unidades" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "Unidades do parâmetro" -#: company/models.py:475 +#: company/models.py:480 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:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Fornecedor" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "Código (SKU)" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "Selecionar peça do fabricante" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "Anotação" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "preço base" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "Embalagem" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "Embalagem de peças" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "Quantidade de embalagens" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "Quantidade fornecida em um único pacote" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "múltiplo" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "Pedir múltiplos" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "Disponível" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "Quantidade disponível do fornecedor" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "Disponibilidade Atualizada" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "Data da última atualização da disponibilidade dos dados" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "Moeda padrão utilizada para este fornecedor" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "Criar Pedido de compra" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "Editar Informações da Empresa" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "Editar Empresa" @@ -3474,14 +3602,17 @@ msgstr "Baixar imagem do URL" msgid "Delete image" msgstr "Excluir imagem" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Cliente" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "Telefone" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "Remover imagem" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "Remover imagem associada a esta empresa" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Remover" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "Enviar imagem" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "Baixar Imagem" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Peças do Fornecedor" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "Criar nova peça do fornecedor" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Nova peça do fornecedor" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "Pedir peças" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "Excluir peças" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "Excluir Peças" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Fabricantes de peças" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "Criar novo fabricante de peça" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Nova peça do fabricante" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "Estoque do Fornecedor" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "Estoque do Fornecedor" msgid "Purchase Orders" msgstr "Pedidos de compra" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Criar novo pedido de compra" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Novo Pedido de Compra" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Pedidos de vendas" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Criar novo pedido de venda" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Novo Pedido de Venda" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "Estoque Atribuído" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "Pedidos de Devolução" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "Criar novo pedido de devolução" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "Novo Pedido de Devolução" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "Contato da Empresa" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "Adicionar Contato" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Lista de fornecedores" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "Pedir peça" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "Editar peça do fabricante" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "Excluir peça do fabricante" @@ -3669,9 +3830,9 @@ msgstr "Excluir peças do fornecedor" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "Excluir" @@ -3693,7 +3854,7 @@ msgstr "Novo parâmetro" msgid "Delete parameters" msgstr "Excluir parâmetros" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Adicionar parâmetro" @@ -3710,15 +3871,20 @@ msgstr "Peças fornecidas" msgid "Supplied Stock Items" msgstr "Itens fornecidos em estoque" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "Itens de Estoque atribuídos" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "Contatos" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Fornecedor da Peça" @@ -3739,8 +3905,8 @@ msgstr "Mostrar QR Code" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "Desatribuir Código de Barras" @@ -3769,13 +3935,13 @@ msgstr "Atualizar disponibilidade" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "Editar Fornecedor da Peça" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "Duplicar Peça do Fornecedor" @@ -3809,7 +3975,7 @@ msgstr "Criar novo item de estoque" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Novo item de estoque" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "Informações de Preço" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Adicionar parcela de preço" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "Atualizar disponibilidade de peças" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Itens de Estoque" @@ -3897,7 +4063,7 @@ msgstr "Etiqueta" msgid "Label template file" msgstr "Arquivo de modelo de etiqueta" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "Habilitado" @@ -3921,7 +4087,7 @@ msgstr "Altura [mm]" msgid "Label height, specified in mm" msgstr "Altura da Etiqueta, em mm" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "Padrão de Nome de Arquivo" @@ -3934,7 +4100,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:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "Filtros" @@ -3946,457 +4113,534 @@ msgstr "Filtros de consulta (lista de valores separados por vírgula" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Filtros de consulta de peça (lista de valores separados por vírgula)" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "Nenhum pedido de compra correspondente encontrado" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "Desconhecido" -#: order/models.py:86 -msgid "Order description" -msgstr "Descrição do pedido" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "Link para página externa" - -#: order/models.py:96 -msgid "Created By" -msgstr "Criado por" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "Usuário ou grupo responsável para este pedido" - -#: order/models.py:108 -msgid "Order notes" -msgstr "Observações do pedido" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "Preço Total" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "Preço total deste pedido" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" -msgstr "Referência do pedido" +#: order/models.py:177 +msgid "Contact does not match selected company" +msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" -msgstr "Situação do pedido de compra" +#: order/models.py:199 +msgid "Order description" +msgstr "Descrição do pedido" -#: order/models.py:283 -msgid "Company from which the items are being ordered" -msgstr "Empresa da qual os itens estão sendo encomendados" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" +msgstr "Link para página externa" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "Referencia do fornecedor" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "Código de referência do pedido fornecedor" - -#: order/models.py:293 -msgid "received by" -msgstr "recebido por" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "Data de emissão" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "Dia que o pedido foi feito" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "Data Alvo de Entrega" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data esperada para entrega do pedido. A ordem estará atrasada após esta data." -#: order/models.py:311 +#: order/models.py:215 +msgid "Created By" +msgstr "Criado por" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "Usuário ou grupo responsável para este pedido" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "Observações do pedido" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "Referência do pedido" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "Situação do pedido de compra" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "Empresa da qual os itens estão sendo encomendados" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "Referencia do fornecedor" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "Código de referência do pedido fornecedor" + +#: order/models.py:365 +msgid "received by" +msgstr "recebido por" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "Data de emissão" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "Dia que o pedido foi feito" + +#: order/models.py:377 order/models.py:1699 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" -#: order/models.py:350 +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "Referência do Cliente " -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "Data alvo para finalização do pedido. Estará atrasado a partir deste dia." - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "Data de Envio" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "enviado por" -#: order/models.py:770 +#: order/models.py:814 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:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "Apenas um pedido pendente pode ser marcado como completo" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 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:780 +#: order/models.py:824 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:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "Referência do Item em Linha" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "Observações do Item de Linha" -#: order/models.py:995 +#: order/models.py:1051 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 a partir da ordem)" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "Contexto" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "Preço Unitário" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "excluído" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "Pedido" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "Fornecedor da Peça" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Recebido" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Preço de Compra" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "Onde o Comprador quer que este item seja armazenado?" -#: order/models.py:1180 +#: order/models.py:1236 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:1185 +#: order/models.py:1241 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:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Preço de Venda" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Remessa" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "Número do Envio" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "Notas de envio" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "Número de Rastreamento" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "Informação de rastreamento da remessa" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "Número da Fatura" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "Número de referência para fatura associada" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "O pedido já foi enviado" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "Remessa não foi alocada nos itens de estoque" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "O item do estoque não foi atribuído" -#: order/models.py:1463 +#: order/models.py:1523 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:1465 +#: order/models.py:1525 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:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "Linha" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "Item" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "Selecione o item de estoque para alocar" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "Insira a quantidade de atribuição de estoque" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "Pedido não pode ser cancelado" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 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:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "O pedido tem itens da linha incompletos" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "O pedido não está aberto" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "Moeda de preço de compra" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "A peça do fornecedor deve ser especificada" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "O pedido de compra deve ser especificado" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "O fornecedor deve corresponder o pedido de compra" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "Pedido de compra deve corresponder ao fornecedor" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "Itens de linha" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "Selecione o local de destino para os itens recebidos" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "Digite o código do lote para itens de estoque recebidos" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "Digite o número de série para itens de estoque recebidos" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "Identificador de exclusivo" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "Código de barras já em uso" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "Itens de linha deve ser providenciados" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "Loca de destino deve ser especificado" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "Código de barras fornecido deve ser único" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "Moeda de preço de venda" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "Nenhum detalhe da remessa fornecido" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "Item de linha não está associado a este pedido" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "Quantidade deve ser positiva" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "Digite números de série para alocar" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "O pedido já foi enviado" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "O envio não está associado a este pedido" -#: order/serializers.py:1269 +#: order/serializers.py:1284 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:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "Os seguintes números de série já estão alocados" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Pedido de compra vencido" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "Imprimir relatório do pedido de compra" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "Exportar pedido ao arquivo" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "Ações de pedido" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "Editar pedido" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "Cancelar pedido" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "Receber itens" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "Receber Itens" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "Marcar pedido como concluído" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "Completar Pedido" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "Referência do Pedido" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "Descrição do Pedido" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "Situação do pedido" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "Nenhuma informação do fornecedor disponível" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "Itens de Linha Concluídos" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "Incompleto" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Emitido" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "Custo total" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "O custo total não pôde ser calculado" @@ -4560,11 +4813,13 @@ msgstr "Duplicar seleção" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Remover linha" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "Passo %(step)s de %(count)s" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "Itens de linha" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "Itens do Pedido de Compra" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "Adicionar item de linha" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" -msgstr "Receber itens selecionados" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" +msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "Excluir Itens de Linha" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "Linhas Extra" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "Adicionar Linha Extra" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "Itens Recebidos" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "Notas do Pedido" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" -msgstr "Adicionar Linha de Pedido" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" +msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" -msgstr "Imprimir Relatórios de Pedidos" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "Imprimir lista de pacotes" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "Referência do Cliente" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "Custo Total" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" +msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "Imprimir Relatório do Pedido de Venda" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" -msgstr "Imprimir lista de pacotes" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" +msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "Envios concluídos" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "Concluir Pedido de Venda" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "Este Pedido de Venda não foi totalmente alocado" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "Referência do Cliente" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "Envios Pendentes" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "Ações" @@ -4716,34 +5003,34 @@ msgstr "Ações" msgid "New Shipment" msgstr "Nova Remessa" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "Corresponder Peças com Fornecedor" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "Pedido de Venda não encontrado" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "Preço não encontrado" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "Atualizado {part} unid.-preço para {price}" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "ID da Peça" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome da Peça" @@ -4752,19 +5039,19 @@ msgstr "Nome da Peça" msgid "Part Description" msgstr "Descrição da Peça" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Revisão" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "Palavras chave" @@ -4785,20 +5072,20 @@ msgstr "ID Local Padrão" msgid "Default Supplier ID" msgstr "ID de Fornecedor Padrão" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Estoque Mínimo" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "Em Estoque" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "No pedido" @@ -4806,22 +5093,22 @@ msgstr "No pedido" msgid "Used In" msgstr "Usado em" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "Alocado" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "Produzindo" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "Custo Máximo" @@ -4838,13 +5125,13 @@ msgstr "Nome Paternal" msgid "Category Path" msgstr "Caminho da Categoria" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Peças" @@ -4861,7 +5148,7 @@ msgstr "ID Item LDM" msgid "Parent IPN" msgstr "IPN Paternal" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "IPN da Peça" @@ -4875,35 +5162,35 @@ msgstr "Preço Mínimo" msgid "Maximum Price" msgstr "Preço Máximo" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "Pedido de compra recebido" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "Pedidos de Venda Feitos" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "Estoque produzido por Ordem de Produção" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "Estoque obrigatório para Pedido de Produção" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "Válido" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "Validar a Lista de Materiais completa" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "Esta opção deve ser selecionada" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "Local Padrão" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "Estoque Total" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "Estoque Disponível" @@ -4921,664 +5208,665 @@ msgstr "Estoque Disponível" msgid "Input quantity for price calculation" msgstr "Quantidade para o cálculo de preço" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria da Peça" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Categorias de Peça" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "Local padrão para peças desta categoria" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "Estrutural" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Peças não podem ser diretamente atribuídas a uma categoria estrutural, mas podem ser atribuídas a categorias filhas." -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "Palavras-chave Padrão" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "Palavras-chave padrão para peças nesta categoria" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "Ícone" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "Ícone (opcional)" -#: part/models.py:159 +#: part/models.py:158 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:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "Escolha inválida para peça parental" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, 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:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN deve corresponder ao padrão regex {pat}" -#: part/models.py:664 +#: part/models.py:663 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:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "Não é permitido duplicar IPN em configurações de partes" -#: part/models.py:800 +#: part/models.py:799 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:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "Esta peça é uma peça modelo?" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "Esta peça é variante de outra peça?" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "Descrição da Peça" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "Categoria" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "Numero interno do produto" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "Onde este item é armazenado normalmente?" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "Fornecedor Padrão" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "Fornecedor padrão da peça" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "Validade Padrão" -#: part/models.py:967 +#: part/models.py:966 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:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "Unidade de medida para esta peça" -#: part/models.py:986 +#: part/models.py:985 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:992 +#: part/models.py:991 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:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "Esta parte tem rastreamento para itens únicos?" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "Esta parte está ativa?" -#: part/models.py:1018 +#: part/models.py:1017 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:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "Notas de Peça" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "Soma de Verificação da LDM" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "Soma de verificação da LDM armazenada" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "LDM conferida por" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "LDM verificada no dia" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "Usuário responsável por esta peça" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Último Balanço" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:2958 +#: part/models.py:2970 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:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Data" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "Notas adicionais" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "Usuário que fez o balanço" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "Reportar" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "Arquivo de Relatório de Balanço (gerado internamente)" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "Contagem de Peças" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "Número de peças cobertas pelo Balanço" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "Usuário que solicitou este relatório de balanço" -#: part/models.py:3210 +#: part/models.py:3222 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:3227 +#: part/models.py:3239 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:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "Requerido" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3266 +#: part/models.py:3278 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:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3272 +#: part/models.py:3284 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:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "Nome do modelo de parâmetro deve ser único" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "Unidades do Parâmetro" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "Descrição do Parâmetro" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "Dados" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "ID da peça ou nome da peça" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "Valor exclusivo do ID de peça" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "Valor da parte IPN" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "Nível" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "Nível da LDM" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "Opcional" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "Consumível" -#: part/models.py:3582 +#: part/models.py:3594 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:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Excedente" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "Validado" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "O item da LDM foi calidado" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:3609 +#: part/models.py:3621 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:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Permitir variações" -#: part/models.py:3615 +#: part/models.py:3627 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:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:3849 +#: part/models.py:3861 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:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:3907 +#: part/models.py:3919 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:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "Peça duplicada" @@ -5671,7 +5959,7 @@ msgstr "Peça duplicada" msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "Estoque inicial" @@ -5816,9 +6104,9 @@ msgstr "Notificação de estoque baixo" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo definido" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "Quantidade Total" @@ -5901,7 +6189,7 @@ msgstr "Excluir Categoria" msgid "Top level part category" msgstr "Categoria de peça de nível superior" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Sub-categorias" @@ -5931,23 +6219,19 @@ msgstr "Definir categoria" msgid "Set Category" msgstr "Definir Categoria" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "Imprimir Etiquetas" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "Parâmetros da Peça" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "Criar categoria de peça" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "Nova Categoria" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "Criar Categoria de Peça" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "Atualizar dados de agendamento" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "Recarregar" @@ -5995,7 +6279,7 @@ msgstr "Adicionar informações de balanço de estoque" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "Balanço" @@ -6093,15 +6377,15 @@ msgstr "Fabricantes da peça" msgid "Delete manufacturer parts" msgstr "Apagar peças do fabricante" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "Peça Relacionada" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "Adicionar peça relacionada" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "Adicionar Modelo de Resultado de Teste" @@ -6136,13 +6420,13 @@ msgstr "Baixar Modelo de Importação de Peça" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "Formato" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "Selecione o formato de arquivo" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "Peça é virtual (não é algo físico)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "Inativo" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "Mostrar Detalhes de Peça" @@ -6259,7 +6543,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:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "Pode Produzir" @@ -6267,8 +6551,8 @@ msgstr "Pode Produzir" msgid "Minimum stock level" msgstr "Nível mínimo de estoque" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "QR Code da Peça" msgid "Link Barcode to Part" msgstr "Vincular Código de Barras à Peça" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "Calcular" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "Remover imagem associada a esta peça" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "Nenhuma imagem correspondente encontrada" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "Esconder Detalhes da Peça" @@ -6319,15 +6603,6 @@ msgstr "Preço do fornecedor" msgid "Unit Cost" msgstr "Custo unitário" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "Custo Total" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "Nenhuma informação dos preços do fornecedor disponível" @@ -6370,9 +6645,9 @@ msgstr "Variantes" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "Estoque" @@ -6403,9 +6678,9 @@ msgstr "Atualizar Preço da Peça" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "Última atualização" @@ -6468,8 +6743,8 @@ msgstr "Preço de Venda" msgid "Add Sell Price Break" msgstr "Adicionar intervalo de preço de venda" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "Sem Estoque" @@ -6670,7 +6945,7 @@ msgstr "Chave da extensão" #: plugin/models.py:95 msgid "PluginName of the plugin" -msgstr "" +msgstr "Nome da Extensão" #: plugin/models.py:101 msgid "Is the plugin active" @@ -6795,87 +7070,91 @@ msgstr "Arquivo modelo '{template}' perdido ou não existe" msgid "Test report" msgstr "Relatório de teste" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "Nome do modelo" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "Arquivo modelo de relatório" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "Descrição do modelo de relatório" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "Relatar número de revisão (auto-incrementos)" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "Padrão para gerar nomes de arquivo de relatórios" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "Modelo de relatório Habilitado" -#: report/models.py:281 +#: report/models.py:286 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:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "Incluir testes instalados" -#: report/models.py:290 +#: report/models.py:295 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:337 +#: report/models.py:369 msgid "Build Filters" msgstr "Filtros de Produção" -#: report/models.py:338 +#: report/models.py:370 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:377 +#: report/models.py:409 msgid "Part Filters" msgstr "Filtros de Peças" -#: report/models.py:378 +#: report/models.py:410 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:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "Filtros de consultas de pedidos de compra" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "Filtros de consultas de pedidos de venda" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "Recorte" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "Relatar arquivo de recorte" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "Descrição do arquivo de recorte" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "Ativos" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "Reportar arquivo de ativos" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "Descrição do arquivo de ativos" @@ -6887,77 +7166,92 @@ msgstr "Materiais necessários" msgid "Required For" msgstr "Necessário para" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "Fornecedor foi excluído" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "Preço unitário" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "Extra Itens de Linha" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 msgid "Total" msgstr "Total" +#: report/templates/report/inventree_return_order_report_base.html:25 +#: report/templates/report/inventree_test_report_base.html:88 +#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "Número de Sério" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Relatório Teste do Item em Estoque" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "Número de Sério" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "Resultados do teste" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "Teste" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "Resultado" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "Aprovado" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "Não Aprovado" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Itens instalados" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" -msgstr "" +msgstr "Série" #: stock/admin.py:39 stock/admin.py:108 msgid "Location ID" @@ -6996,7 +7290,7 @@ msgstr "Nome do Fornecedor" msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "Instalado em" @@ -7021,29 +7315,29 @@ msgstr "Revisão Necessária" msgid "Delete on Deplete" msgstr "Excluir quando esgotado" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "Data de validade" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "Localização externa" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "Localizacao do estoque" msgid "Stock Locations" msgstr "Locais de estoque" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "Responsavel" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "Selecionar Responsável" @@ -7068,8 +7362,8 @@ msgstr "Selecionar Responsável" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos." -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "Externo" @@ -7081,218 +7375,218 @@ msgstr "Esta é uma localização de estoque externo" 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:551 +#: stock/models.py:549 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:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 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:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Tipo da peça ('{pf}') deve ser {pe}" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 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:605 +#: stock/models.py:603 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:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "O item não pode pertencer a si mesmo" -#: stock/models.py:633 +#: stock/models.py:631 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:647 +#: stock/models.py:645 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:661 +#: stock/models.py:659 msgid "Parent Stock Item" -msgstr "" +msgstr "Item de Estoque Parental" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" -msgstr "" +msgstr "Peça base" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" -msgstr "" +msgstr "Selecione uma peça do fornecedor correspondente para este item de estoque" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" -msgstr "" +msgstr "Onde está localizado este item de estoque?" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" -msgstr "" +msgstr "Embalagem deste item de estoque está armazenado em" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" -msgstr "" +msgstr "Este item está instalado em outro item?" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" -msgstr "" +msgstr "Número de série para este item" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" -msgstr "" +msgstr "Código do lote para este item de estoque" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "Quantidade de Estoque" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "Produção de Origem" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "Produção para este item de estoque" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" -msgstr "" +msgstr "Pedido de compra Fonte" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "Pedido de Compra para este item de estoque" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "Destino do Pedido de Venda" -#: stock/models.py:776 +#: stock/models.py:774 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:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "Excluir quando esgotado" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "Excluir este item de estoque quando o estoque for esgotado" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Notas de Item Estoque" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" -msgstr "" +msgstr "Preço de compra unitário único no momento da compra" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" -msgstr "" +msgstr "Convertido para peça" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" -msgstr "" +msgstr "Peça não está definida como rastreável" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" -msgstr "" +msgstr "Quantidade deve ser inteira" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" -msgstr "" +msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({n})" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "Códigos de estado do estoque devem corresponder" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "Inativo" @@ -7643,35 +7937,35 @@ msgstr "Inativo" msgid "No stocktake performed" msgstr "Nenhum balanço feito" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "Editar Situação do Estoque" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "Relatório de Balanço" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "Situação do Estoque" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "Programar geração de um novo relatório de balanço." -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "Uma vez concluído, o relatório de estoque estará disponível para baixar." -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "Gerar Relatório de Balanço" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "Relatório de balanço agendado" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "Nenhuma informação de balanço disponível" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "Editar Lançamento de Balanço" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "Apagar Lançamento de Balanço" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "Situação do Estoque" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "Envios concluídos" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "Definir Estado do Estoque" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "Selecionar Código de Situação" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "Código de Situação deve ser selecionado" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "Estado do Estoque" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "Estado da Produção" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "Situação dos Pedidos" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "Estado do Estoque" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "Estado da Produção" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "Tem entradas em balanço" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "Fazer balanço de itens do estoque selecionados" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "Alterar a situação" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "Alterar a situação do estoque" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "Grupo" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index 6455db2283..5cf259f2b7 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-03-01 21:26+0000\n" +"POT-Creation-Date: 2023-03-29 08:09+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,10 +18,14 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "" +#: InvenTree/api.py:308 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "" @@ -31,22 +35,25 @@ msgid "Enter date" msgstr "" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:946 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1029 #: 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:2919 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 -#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 -#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 +#: stock/admin.py:121 stock/models.py:2100 stock/models.py:2208 +#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 +#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2532 templates/js/translated/order.js:2664 -#: templates/js/translated/order.js:3157 templates/js/translated/order.js:4099 -#: templates/js/translated/order.js:4472 templates/js/translated/part.js:973 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2074 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:937 +#: templates/js/translated/sales_order.js:1843 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "" @@ -99,75 +106,75 @@ msgstr "" msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:166 +#: InvenTree/helpers.py:168 msgid "Connection error" msgstr "" -#: InvenTree/helpers.py:170 InvenTree/helpers.py:175 +#: InvenTree/helpers.py:172 InvenTree/helpers.py:177 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers.py:172 +#: InvenTree/helpers.py:174 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers.py:180 +#: InvenTree/helpers.py:182 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers.py:183 +#: InvenTree/helpers.py:185 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers.py:195 +#: InvenTree/helpers.py:197 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers.py:200 +#: InvenTree/helpers.py:202 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers.py:208 +#: InvenTree/helpers.py:210 msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:610 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:635 +#: InvenTree/helpers.py:640 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:668 InvenTree/helpers.py:703 +#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:697 +#: InvenTree/helpers.py:702 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:721 InvenTree/helpers.py:728 InvenTree/helpers.py:743 +#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:753 +#: InvenTree/helpers.py:758 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:756 +#: InvenTree/helpers.py:761 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:955 +#: InvenTree/helpers.py:960 msgid "Remove HTML tags from this value" msgstr "" @@ -203,8 +210,8 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:409 stock/models.py:2196 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2202 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "" @@ -213,23 +220,24 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:416 common/models.py:2542 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:84 -#: order/models.py:1284 part/admin.py:39 part/models.py:835 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1377 order/models.py:1856 part/admin.py:39 +#: part/models.py:892 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:119 templates/js/translated/company.js:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:3146 templates/js/translated/part.js:1990 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:926 msgid "Link" msgstr "" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 -#: stock/models.py:728 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "" @@ -238,13 +246,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1991 -#: common/models.py:1992 common/models.py:2215 common/models.py:2216 -#: common/models.py:2472 common/models.py:2473 part/models.py:2927 -#: part/models.py:3015 part/models.py:3094 part/models.py:3114 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2761 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "" @@ -285,47 +293,52 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2201 -#: company/models.py:382 label/models.py:101 part/models.py:779 -#: part/models.py:3262 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1088 -#: templates/js/translated/part.js:1257 templates/js/translated/part.js:2395 -#: templates/js/translated/stock.js:2488 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "" -#: InvenTree/models.py:578 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 -#: part/models.py:3271 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:109 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2366 -#: templates/js/translated/order.js:2934 templates/js/translated/part.js:1150 -#: templates/js/translated/part.js:1600 templates/js/translated/part.js:1874 -#: templates/js/translated/part.js:2431 templates/js/translated/part.js:2528 -#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 -#: templates/js/translated/stock.js:2520 templates/js/translated/stock.js:2598 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:714 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "" @@ -338,7 +351,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2440 templates/js/translated/stock.js:2529 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "" @@ -350,7 +363,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:470 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -370,12 +383,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3618 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2766 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -447,124 +460,125 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:705 msgid "Czech" msgstr "" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:706 msgid "Danish" msgstr "" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:707 msgid "German" msgstr "" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:708 msgid "Greek" msgstr "" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:709 msgid "English" msgstr "" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:710 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:711 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:712 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:713 msgid "French" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:714 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:715 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:716 msgid "Italian" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:717 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:718 msgid "Korean" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:719 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:720 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:721 msgid "Polish" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:722 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:723 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:724 msgid "Russian" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:725 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:726 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:727 msgid "Thai" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:728 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:729 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:730 msgid "Chinese" msgstr "" -#: InvenTree/status.py:98 part/serializers.py:862 +#: InvenTree/status.py:92 part/serializers.py:879 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:102 +#: InvenTree/status.py:96 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:105 +#: InvenTree/status.py:99 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:313 InvenTree/status_codes.py:350 +#: InvenTree/status_codes.py:385 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "" @@ -572,14 +586,14 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:352 order/templates/order/order_base.html:142 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" #: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:315 InvenTree/status_codes.py:353 msgid "Cancelled" msgstr "" @@ -593,8 +607,9 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1167 -#: templates/js/translated/order.js:3734 templates/js/translated/order.js:4074 +#: InvenTree/status_codes.py:141 order/models.py:1260 +#: templates/js/translated/sales_order.js:1503 +#: templates/js/translated/sales_order.js:1818 msgid "Shipped" msgstr "" @@ -622,116 +637,143 @@ msgstr "" msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:263 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:265 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:267 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:268 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:270 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:271 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:272 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:274 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:276 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:277 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:279 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:280 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:282 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:283 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2178 +#: InvenTree/status_codes.py:285 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:287 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:289 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:290 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:292 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:293 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:294 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" +#: InvenTree/status_codes.py:296 +msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:298 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:300 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:314 msgid "Production" msgstr "" -#: InvenTree/validators.py:20 +#: InvenTree/status_codes.py:351 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:386 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:387 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:388 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:389 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:390 +msgid "Reject" +msgstr "" + +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:91 -#, python-brace-format -msgid "IPN must match regex pattern {pat}" -msgstr "" - -#: InvenTree/validators.py:133 InvenTree/validators.py:149 +#: InvenTree/validators.py:87 InvenTree/validators.py:103 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:151 +#: InvenTree/validators.py:105 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:158 +#: InvenTree/validators.py:112 msgid "Invalid value for overage" msgstr "" @@ -751,369 +793,396 @@ msgstr "" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:157 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:240 order/models.py:655 -#: order/models.py:944 part/admin.py:277 part/models.py:3528 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1027 order/models.py:1638 part/admin.py:278 +#: part/models.py:3602 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 -#: report/templates/report/inventree_po_report.html:91 -#: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2397 -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:3938 -#: templates/js/translated/order.js:4421 templates/js/translated/pricing.js:370 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1682 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:169 msgid "Brief description of the build" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1040 order/models.py:1151 order/models.py:1152 -#: part/models.py:382 part/models.py:2779 part/models.py:2893 -#: part/models.py:3033 part/models.py:3052 part/models.py:3071 -#: part/models.py:3092 part/models.py:3184 part/models.py:3305 -#: part/models.py:3397 part/models.py:3493 part/models.py:3798 -#: part/serializers.py:826 part/serializers.py:1231 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1123 order/models.py:1239 order/models.py:1240 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 +#: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 -#: stock/serializers.py:482 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 +#: stock/serializers.py:144 stock/serializers.py:484 +#: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:3289 -#: templates/js/translated/order.js:3685 templates/js/translated/order.js:3922 -#: templates/js/translated/part.js:1585 templates/js/translated/part.js:1657 -#: templates/js/translated/part.js:1851 templates/js/translated/pricing.js:353 -#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 -#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 -#: templates/js/translated/stock.js:2624 templates/js/translated/stock.js:2819 -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:235 +#: templates/js/translated/sales_order.js:1068 +#: templates/js/translated/sales_order.js:1454 +#: templates/js/translated/sales_order.js:1666 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:191 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3277 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1056 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:214 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:222 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:229 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:235 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:239 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 -#: stock/models.py:732 templates/js/translated/order.js:1626 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:86 part/models.py:971 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2947 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:727 msgid "Creation Date" msgstr "" -#: build/models.py:257 order/models.py:685 +#: build/models.py:259 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:291 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1681 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:269 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:278 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:100 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:975 -#: part/templates/part/part_base.html:398 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:193 part/models.py:1032 +#: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2156 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:391 stock/models.py:726 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "Extra build notes" msgstr "" -#: build/models.py:299 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:302 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:540 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:546 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:725 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:728 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:731 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1188 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1197 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1207 order/models.py:1418 +#: build/models.py:1209 order/models.py:1515 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1213 order/models.py:1421 +#: build/models.py:1215 order/models.py:1518 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1219 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1276 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1346 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 -#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 -#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1013 +#: order/serializers.py:1034 stock/serializers.py:388 stock/serializers.py:741 +#: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3290 -#: templates/js/translated/order.js:3592 templates/js/translated/order.js:3597 -#: templates/js/translated/order.js:3692 templates/js/translated/order.js:3784 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2697 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1069 +#: templates/js/translated/sales_order.js:1367 +#: templates/js/translated/sales_order.js:1372 +#: templates/js/translated/sales_order.js:1461 +#: templates/js/translated/sales_order.js:1551 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "" -#: build/models.py:1363 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2023 -#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 -#: part/forms.py:47 part/models.py:2906 part/models.py:3509 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1013 order/models.py:1559 order/serializers.py:1187 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report.html:90 -#: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:103 stock/serializers.py:279 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2403 templates/js/translated/order.js:2619 -#: templates/js/translated/order.js:3291 templates/js/translated/order.js:3611 -#: templates/js/translated/order.js:3698 templates/js/translated/order.js:3790 -#: templates/js/translated/order.js:3944 templates/js/translated/order.js:4427 -#: templates/js/translated/part.js:850 templates/js/translated/part.js:1455 -#: templates/js/translated/part.js:2969 templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2746 templates/js/translated/stock.js:2831 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:252 +#: templates/js/translated/sales_order.js:1070 +#: templates/js/translated/sales_order.js:1386 +#: templates/js/translated/sales_order.js:1467 +#: templates/js/translated/sales_order.js:1557 +#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "" -#: build/models.py:1376 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1384 +#: build/models.py:1386 msgid "Install into" msgstr "" -#: build/models.py:1385 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1137,10 +1206,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 -#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1071 -#: part/serializers.py:1394 stock/models.py:586 stock/models.py:1338 -#: stock/serializers.py:288 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1344 +#: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1152,9 +1221,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 -#: stock/serializers.py:297 templates/js/translated/order.js:1637 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1191 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" @@ -1170,7 +1239,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:647 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1178,18 +1247,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 -#: part/serializers.py:838 stock/serializers.py:308 stock/serializers.py:443 -#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1664 -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3709 -#: templates/js/translated/order.js:3717 templates/js/translated/order.js:3798 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2638 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1540 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1379 +#: templates/js/translated/sales_order.js:1478 +#: templates/js/translated/sales_order.js:1486 +#: templates/js/translated/sales_order.js:1565 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1198,13 +1270,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:674 -#: order/serializers.py:466 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1664 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 -#: templates/js/translated/order.js:2939 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2715 templates/js/translated/stock.js:2847 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" @@ -1264,7 +1339,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1081 msgid "Accept Incomplete" msgstr "" @@ -1280,8 +1355,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3420 -#: part/models.py:3790 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1297,11 +1372,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:752 +#: build/serializers.py:680 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1066 +#: build/serializers.py:729 order/serializers.py:1071 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1318,7 +1393,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1350 +#: build/serializers.py:770 order/serializers.py:1355 msgid "Allocation items must be provided" msgstr "" @@ -1373,6 +1448,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1441,13 +1517,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:950 -#: order/templates/order/order_base.html:171 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1033 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2143 -#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2955 -#: templates/js/translated/order.js:3987 templates/js/translated/part.js:1470 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:735 +#: templates/js/translated/sales_order.js:1731 msgid "Target Date" msgstr "" @@ -1458,31 +1539,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:174 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1292 order/models.py:1144 -#: order/models.py:1238 order/models.py:1369 +#: build/templates/build/detail.html:101 order/api.py:1516 order/models.py:1232 +#: order/models.py:1331 order/models.py:1465 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2901 templates/js/translated/pricing.js:896 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:681 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1493,11 +1578,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1513,8 +1598,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1062 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2521 +#: build/templates/build/detail.html:49 order/models.py:1150 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1528,19 +1614,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2854 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1560,7 +1647,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1589,9 +1676,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1643,27 +1731,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1671,15 +1751,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1687,10 +1767,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1882,1165 +1958,1230 @@ msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they msgstr "" #: common/models.py:988 -msgid "Automatic Backup" +msgid "Update Check Inverval" msgstr "" #: common/models.py:989 -msgid "Enable automatic backup of database and media files" +msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:995 -msgid "Days Between Backup" -msgstr "" - -#: common/models.py:996 -msgid "Specify number of days between automated backup events" -msgstr "" - -#: common/models.py:1005 -msgid "Delete Old Tasks" -msgstr "" - -#: common/models.py:1006 -msgid "Background task results will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1016 -msgid "Delete Error Logs" -msgstr "" - -#: common/models.py:1017 -msgid "Error logs will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1027 templates/InvenTree/notifications/history.html:13 -#: templates/InvenTree/notifications/history.html:14 -#: templates/InvenTree/notifications/notifications.html:77 -msgid "Delete Notifications" -msgstr "" - -#: common/models.py:1028 -msgid "User notifications will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1038 templates/InvenTree/settings/sidebar.html:31 -msgid "Barcode Support" -msgstr "" - -#: common/models.py:1039 -msgid "Enable barcode scanner support" -msgstr "" - -#: common/models.py:1045 -msgid "Barcode Input Delay" -msgstr "" - -#: common/models.py:1046 -msgid "Barcode input processing delay time" -msgstr "" - -#: common/models.py:1056 -msgid "Barcode Webcam Support" -msgstr "" - -#: common/models.py:1057 -msgid "Allow barcode scanning via webcam in browser" -msgstr "" - -#: common/models.py:1063 -msgid "IPN Regex" -msgstr "" - -#: common/models.py:1064 -msgid "Regular expression pattern for matching Part IPN" -msgstr "" - -#: common/models.py:1068 -msgid "Allow Duplicate IPN" -msgstr "" - -#: common/models.py:1069 -msgid "Allow multiple parts to share the same IPN" -msgstr "" - -#: common/models.py:1075 -msgid "Allow Editing IPN" -msgstr "" - -#: common/models.py:1076 -msgid "Allow changing the IPN value while editing a part" -msgstr "" - -#: common/models.py:1082 -msgid "Copy Part BOM Data" -msgstr "" - -#: common/models.py:1083 -msgid "Copy BOM data by default when duplicating a part" -msgstr "" - -#: common/models.py:1089 -msgid "Copy Part Parameter Data" -msgstr "" - -#: common/models.py:1090 -msgid "Copy parameter data by default when duplicating a part" -msgstr "" - -#: common/models.py:1096 -msgid "Copy Part Test Data" -msgstr "" - -#: common/models.py:1097 -msgid "Copy test data by default when duplicating a part" -msgstr "" - -#: common/models.py:1103 -msgid "Copy Category Parameter Templates" -msgstr "" - -#: common/models.py:1104 -msgid "Copy category parameter templates when creating a part" -msgstr "" - -#: common/models.py:1110 part/admin.py:55 part/models.py:3307 -#: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 -msgid "Template" -msgstr "" - -#: common/models.py:1111 -msgid "Parts are templates by default" -msgstr "" - -#: common/models.py:1117 part/admin.py:51 part/admin.py:282 part/models.py:927 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 -msgid "Assembly" -msgstr "" - -#: common/models.py:1118 -msgid "Parts can be assembled from other components by default" -msgstr "" - -#: common/models.py:1124 part/admin.py:52 part/models.py:933 -#: templates/js/translated/table_filters.js:510 -msgid "Component" -msgstr "" - -#: common/models.py:1125 -msgid "Parts can be used as sub-components by default" -msgstr "" - -#: common/models.py:1131 part/admin.py:53 part/models.py:944 -msgid "Purchaseable" -msgstr "" - -#: common/models.py:1132 -msgid "Parts are purchaseable by default" -msgstr "" - -#: common/models.py:1138 part/admin.py:54 part/models.py:949 -#: templates/js/translated/table_filters.js:531 -msgid "Salable" -msgstr "" - -#: common/models.py:1139 -msgid "Parts are salable by default" -msgstr "" - -#: common/models.py:1145 part/admin.py:56 part/models.py:939 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 -msgid "Trackable" -msgstr "" - -#: common/models.py:1146 -msgid "Parts are trackable by default" -msgstr "" - -#: common/models.py:1152 part/admin.py:57 part/models.py:959 -#: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 -msgid "Virtual" -msgstr "" - -#: common/models.py:1153 -msgid "Parts are virtual by default" -msgstr "" - -#: common/models.py:1159 -msgid "Show Import in Views" -msgstr "" - -#: common/models.py:1160 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/models.py:1166 -msgid "Show related parts" -msgstr "" - -#: common/models.py:1167 -msgid "Display related parts for a part" -msgstr "" - -#: common/models.py:1173 -msgid "Initial Stock Data" -msgstr "" - -#: common/models.py:1174 -msgid "Allow creation of initial stock when adding a new part" -msgstr "" - -#: common/models.py:1180 templates/js/translated/part.js:74 -msgid "Initial Supplier Data" -msgstr "" - -#: common/models.py:1181 -msgid "Allow creation of initial supplier data when adding a new part" -msgstr "" - -#: common/models.py:1187 -msgid "Part Name Display Format" -msgstr "" - -#: common/models.py:1188 -msgid "Format to display the part name" -msgstr "" - -#: common/models.py:1195 -msgid "Part Category Default Icon" -msgstr "" - -#: common/models.py:1196 -msgid "Part category default icon (empty means no icon)" -msgstr "" - -#: common/models.py:1201 -msgid "Pricing Decimal Places" -msgstr "" - -#: common/models.py:1202 -msgid "Number of decimal places to display when rendering pricing data" -msgstr "" - -#: common/models.py:1212 -msgid "Use Supplier Pricing" -msgstr "" - -#: common/models.py:1213 -msgid "Include supplier price breaks in overall pricing calculations" -msgstr "" - -#: common/models.py:1219 -msgid "Purchase History Override" -msgstr "" - -#: common/models.py:1220 -msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "" - -#: common/models.py:1226 -msgid "Use Stock Item Pricing" -msgstr "" - -#: common/models.py:1227 -msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "" - -#: common/models.py:1233 -msgid "Stock Item Pricing Age" -msgstr "" - -#: common/models.py:1234 -msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "" - -#: common/models.py:1244 -msgid "Use Variant Pricing" -msgstr "" - -#: common/models.py:1245 -msgid "Include variant pricing in overall pricing calculations" -msgstr "" - -#: common/models.py:1251 -msgid "Active Variants Only" -msgstr "" - -#: common/models.py:1252 -msgid "Only use active variant parts for calculating variant pricing" -msgstr "" - -#: common/models.py:1258 -msgid "Pricing Rebuild Time" -msgstr "" - -#: common/models.py:1259 -msgid "Number of days before part pricing is automatically updated" -msgstr "" - -#: common/models.py:1260 common/models.py:1383 +#: common/models.py:995 common/models.py:1013 common/models.py:1020 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" -#: common/models.py:1269 +#: common/models.py:999 +msgid "Automatic Backup" +msgstr "" + +#: common/models.py:1000 +msgid "Enable automatic backup of database and media files" +msgstr "" + +#: common/models.py:1006 +msgid "Auto Backup Interval" +msgstr "" + +#: common/models.py:1007 +msgid "Specify number of days between automated backup events" +msgstr "" + +#: common/models.py:1017 +msgid "Task Deletion Interval" +msgstr "" + +#: common/models.py:1018 +msgid "Background task results will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1028 +msgid "Error Log Deletion Interval" +msgstr "" + +#: common/models.py:1029 +msgid "Error logs will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1039 +msgid "Notification Deletion Interval" +msgstr "" + +#: common/models.py:1040 +msgid "User notifications will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1050 templates/InvenTree/settings/sidebar.html:31 +msgid "Barcode Support" +msgstr "" + +#: common/models.py:1051 +msgid "Enable barcode scanner support" +msgstr "" + +#: common/models.py:1057 +msgid "Barcode Input Delay" +msgstr "" + +#: common/models.py:1058 +msgid "Barcode input processing delay time" +msgstr "" + +#: common/models.py:1068 +msgid "Barcode Webcam Support" +msgstr "" + +#: common/models.py:1069 +msgid "Allow barcode scanning via webcam in browser" +msgstr "" + +#: common/models.py:1075 +msgid "Part Revisions" +msgstr "" + +#: common/models.py:1076 +msgid "Enable revision field for Part" +msgstr "" + +#: common/models.py:1082 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1083 +msgid "Regular expression pattern for matching Part IPN" +msgstr "" + +#: common/models.py:1087 +msgid "Allow Duplicate IPN" +msgstr "" + +#: common/models.py:1088 +msgid "Allow multiple parts to share the same IPN" +msgstr "" + +#: common/models.py:1094 +msgid "Allow Editing IPN" +msgstr "" + +#: common/models.py:1095 +msgid "Allow changing the IPN value while editing a part" +msgstr "" + +#: common/models.py:1101 +msgid "Copy Part BOM Data" +msgstr "" + +#: common/models.py:1102 +msgid "Copy BOM data by default when duplicating a part" +msgstr "" + +#: common/models.py:1108 +msgid "Copy Part Parameter Data" +msgstr "" + +#: common/models.py:1109 +msgid "Copy parameter data by default when duplicating a part" +msgstr "" + +#: common/models.py:1115 +msgid "Copy Part Test Data" +msgstr "" + +#: common/models.py:1116 +msgid "Copy test data by default when duplicating a part" +msgstr "" + +#: common/models.py:1122 +msgid "Copy Category Parameter Templates" +msgstr "" + +#: common/models.py:1123 +msgid "Copy category parameter templates when creating a part" +msgstr "" + +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 +msgid "Template" +msgstr "" + +#: common/models.py:1130 +msgid "Parts are templates by default" +msgstr "" + +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 +msgid "Assembly" +msgstr "" + +#: common/models.py:1137 +msgid "Parts can be assembled from other components by default" +msgstr "" + +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 +msgid "Component" +msgstr "" + +#: common/models.py:1144 +msgid "Parts can be used as sub-components by default" +msgstr "" + +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 +msgid "Purchaseable" +msgstr "" + +#: common/models.py:1151 +msgid "Parts are purchaseable by default" +msgstr "" + +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 +msgid "Salable" +msgstr "" + +#: common/models.py:1158 +msgid "Parts are salable by default" +msgstr "" + +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 +msgid "Trackable" +msgstr "" + +#: common/models.py:1165 +msgid "Parts are trackable by default" +msgstr "" + +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 +#: part/templates/part/part_base.html:156 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 +msgid "Virtual" +msgstr "" + +#: common/models.py:1172 +msgid "Parts are virtual by default" +msgstr "" + +#: common/models.py:1178 +msgid "Show Import in Views" +msgstr "" + +#: common/models.py:1179 +msgid "Display the import wizard in some part views" +msgstr "" + +#: common/models.py:1185 +msgid "Show related parts" +msgstr "" + +#: common/models.py:1186 +msgid "Display related parts for a part" +msgstr "" + +#: common/models.py:1192 +msgid "Initial Stock Data" +msgstr "" + +#: common/models.py:1193 +msgid "Allow creation of initial stock when adding a new part" +msgstr "" + +#: common/models.py:1199 templates/js/translated/part.js:73 +msgid "Initial Supplier Data" +msgstr "" + +#: common/models.py:1200 +msgid "Allow creation of initial supplier data when adding a new part" +msgstr "" + +#: common/models.py:1206 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:1207 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:1214 +msgid "Part Category Default Icon" +msgstr "" + +#: common/models.py:1215 +msgid "Part category default icon (empty means no icon)" +msgstr "" + +#: common/models.py:1220 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1221 +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1231 +msgid "Maximum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 +msgid "Include supplier price breaks in overall pricing calculations" +msgstr "" + +#: common/models.py:1249 +msgid "Purchase History Override" +msgstr "" + +#: common/models.py:1250 +msgid "Historical purchase order pricing overrides supplier price breaks" +msgstr "" + +#: common/models.py:1256 +msgid "Use Stock Item Pricing" +msgstr "" + +#: common/models.py:1257 +msgid "Use pricing from manually entered stock data for pricing calculations" +msgstr "" + +#: common/models.py:1263 +msgid "Stock Item Pricing Age" +msgstr "" + +#: common/models.py:1264 +msgid "Exclude stock items older than this number of days from pricing calculations" +msgstr "" + +#: common/models.py:1274 +msgid "Use Variant Pricing" +msgstr "" + +#: common/models.py:1275 +msgid "Include variant pricing in overall pricing calculations" +msgstr "" + +#: common/models.py:1281 +msgid "Active Variants Only" +msgstr "" + +#: common/models.py:1282 +msgid "Only use active variant parts for calculating variant pricing" +msgstr "" + +#: common/models.py:1288 +msgid "Pricing Rebuild Interval" +msgstr "" + +#: common/models.py:1289 +msgid "Number of days before part pricing is automatically updated" +msgstr "" + +#: common/models.py:1299 msgid "Internal Prices" msgstr "" -#: common/models.py:1270 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1276 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1277 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1284 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1290 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1291 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1300 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1301 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1307 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1308 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1314 +#: common/models.py:1344 msgid "Page Size" msgstr "" -#: common/models.py:1315 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1325 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1326 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1332 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1333 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1339 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1340 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1346 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1347 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1353 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1360 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1361 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1366 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "" -#: common/models.py:1367 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1373 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1380 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1381 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1388 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1389 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1395 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1396 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1402 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1403 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1408 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1409 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1415 -msgid "Sales Order Reference Pattern" +#: common/models.py:1445 +msgid "Enable Return Orders" msgstr "" -#: common/models.py:1416 -msgid "Required pattern for generating Sales Order reference field" -msgstr "" - -#: common/models.py:1422 -msgid "Sales Order Default Shipment" -msgstr "" - -#: common/models.py:1423 -msgid "Enable creation of default shipment with sales orders" -msgstr "" - -#: common/models.py:1429 -msgid "Edit Completed Sales Orders" -msgstr "" - -#: common/models.py:1430 -msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "" - -#: common/models.py:1436 -msgid "Purchase Order Reference Pattern" -msgstr "" - -#: common/models.py:1437 -msgid "Required pattern for generating Purchase Order reference field" -msgstr "" - -#: common/models.py:1443 -msgid "Edit Completed Purchase Orders" -msgstr "" - -#: common/models.py:1444 -msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "" - -#: common/models.py:1451 -msgid "Enable password forgot" +#: common/models.py:1446 +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Enable password forgot function on the login pages" +msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1458 -msgid "Enable registration" +#: common/models.py:1453 +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Enable self-registration for users on the login pages" +msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1465 -msgid "Enable SSO" +#: common/models.py:1460 +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Enable SSO on the login pages" +msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1472 -msgid "Enable SSO registration" +#: common/models.py:1467 +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1479 -msgid "Email required" +#: common/models.py:1474 +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1480 -msgid "Require user to supply mail on signup" +msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1486 -msgid "Auto-fill SSO users" +#: common/models.py:1481 +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1487 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1493 -msgid "Mail twice" +#: common/models.py:1488 +msgid "Required pattern for generating Purchase Order reference field" msgstr "" #: common/models.py:1494 -msgid "On signup ask users twice for their mail" +msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1500 -msgid "Password twice" +#: common/models.py:1495 +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1501 -msgid "On signup ask users twice for their password" +#: common/models.py:1502 +msgid "Enable password forgot" msgstr "" -#: common/models.py:1507 -msgid "Allowed domains" +#: common/models.py:1503 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1508 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +#: common/models.py:1509 +msgid "Enable registration" msgstr "" -#: common/models.py:1514 -msgid "Group on signup" +#: common/models.py:1510 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1515 -msgid "Group to which new users are assigned on registration" +#: common/models.py:1516 +msgid "Enable SSO" msgstr "" -#: common/models.py:1521 -msgid "Enforce MFA" +#: common/models.py:1517 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1522 -msgid "Users must use multifactor security." +#: common/models.py:1523 +msgid "Enable SSO registration" msgstr "" -#: common/models.py:1528 -msgid "Check plugins on startup" +#: common/models.py:1524 +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1529 -msgid "Check that all plugins are installed on startup - enable in container environments" +#: common/models.py:1530 +msgid "Email required" msgstr "" -#: common/models.py:1536 -msgid "Check plugin signatures" +#: common/models.py:1531 +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Check and show signatures for plugins" +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:1538 +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Enable URL integration" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Enable plugins to add URL routes" +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:1551 +msgid "Password twice" msgstr "" #: common/models.py:1552 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:1558 +msgid "Allowed domains" +msgstr "" + +#: common/models.py:1559 +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" +msgstr "" + +#: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 +msgid "Check plugin signatures" +msgstr "" + +#: common/models.py:1588 +msgid "Check and show signatures for plugins" +msgstr "" + +#: common/models.py:1595 +msgid "Enable URL integration" +msgstr "" + +#: common/models.py:1596 +msgid "Enable plugins to add URL routes" +msgstr "" + +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1553 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1560 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1561 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1568 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1569 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1576 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1577 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1584 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1585 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1591 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1592 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1601 -msgid "Delete Old Reports" +#: common/models.py:1652 +msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1602 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1619 common/models.py:1984 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1638 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1659 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1667 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1674 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1680 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1681 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1687 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1688 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1695 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1702 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1708 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1709 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1716 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1730 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1736 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1737 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1743 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1744 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1750 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1751 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1757 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1758 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1764 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1765 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1771 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1772 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1778 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1779 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1785 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1786 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1792 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1793 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1799 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1800 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1806 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1807 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1813 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1814 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1821 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1835 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1842 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1849 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1855 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1856 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1862 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1863 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1869 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1870 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1876 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1877 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1883 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1884 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1890 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1891 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1897 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1898 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1904 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1905 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1911 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1912 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1918 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1919 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1925 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1926 -msgid "Use the escape key to close modal forms" -msgstr "" - -#: common/models.py:1932 -msgid "Fixed Navbar" -msgstr "" - -#: common/models.py:1933 -msgid "The navbar position is fixed to the top of the screen" -msgstr "" - -#: common/models.py:1939 -msgid "Date Format" -msgstr "" - -#: common/models.py:1940 -msgid "Preferred format for displaying dates" -msgstr "" - -#: common/models.py:1954 part/templates/part/detail.html:41 -msgid "Part Scheduling" -msgstr "" - -#: common/models.py:1955 -msgid "Display part scheduling information" -msgstr "" - -#: common/models.py:1961 part/templates/part/detail.html:62 -msgid "Part Stocktake" -msgstr "" - #: common/models.py:1962 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgid "Search Return Orders" msgstr "" -#: common/models.py:1968 -msgid "Table String Length" +#: common/models.py:1963 +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:1970 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:1976 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1983 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 +msgid "Table String Length" +msgstr "" + +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2024 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2031 company/serializers.py:407 order/models.py:977 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1522 -#: templates/js/translated/pricing.js:605 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1060 +#: order/models.py:1852 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2032 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2192 common/models.py:2370 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2193 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2202 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2207 part/admin.py:50 part/models.py:954 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2208 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2222 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2223 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2230 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2231 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2337 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2338 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2346 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2347 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2354 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2355 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2361 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2362 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2371 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2376 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2377 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2531 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2537 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2547 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2552 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2557 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2562 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2563 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3053,7 +3194,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3061,19 +3202,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3113,7 +3258,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3139,6 +3284,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3147,6 +3293,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:186 msgid "Contact" msgstr "" @@ -3158,11 +3307,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:848 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3196,205 +3345,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:359 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2385 templates/js/translated/part.js:1444 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2189 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1266 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2195 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:921 -#: part/models.py:3267 part/templates/part/part_base.html:286 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1272 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2109 -#: templates/js/translated/part.js:1412 templates/js/translated/pricing.js:482 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2372 -#: templates/js/translated/part.js:1430 templates/js/translated/pricing.js:494 +#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:354 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 +#: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:348 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:278 part/models.py:3531 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 +#: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1850 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1850 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:118 stock/models.py:694 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2070 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 -#: templates/js/translated/order.js:2416 templates/js/translated/order.js:2433 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1514 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1852 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 -#: templates/js/translated/part.js:606 templates/js/translated/part.js:609 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3403,7 +3562,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3416,7 +3575,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3444,14 +3603,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:669 -#: order/templates/order/sales_order_base.html:116 stock/models.py:713 -#: stock/models.py:714 stock/serializers.py:794 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1652 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:116 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:2916 -#: templates/js/translated/stock.js:2679 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:696 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3464,7 +3626,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3473,72 +3635,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:534 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:563 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:618 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3547,49 +3709,79 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3606,12 +3798,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3639,9 +3831,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3655,7 +3847,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:170 #: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:63 +#: templates/InvenTree/settings/part.html:64 msgid "New Parameter" msgstr "" @@ -3663,7 +3855,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3680,15 +3872,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1265 templates/js/translated/stock.js:2010 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3709,8 +3906,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3739,13 +3936,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3758,7 +3955,7 @@ msgid "Delete Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:307 +#: part/templates/part/part_base.html:308 #: stock/templates/stock/item_base.html:161 #: stock/templates/stock/location.html:156 msgid "Barcode Identifier" @@ -3779,7 +3976,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3792,8 +3989,8 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/company.js:373 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3810,14 +4007,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:953 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2538 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3843,7 +4040,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "" @@ -3851,511 +4048,600 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1290 order/models.py:1023 order/models.py:1102 +#: order/api.py:1514 order/models.py:1106 order/models.py:1190 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 -#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1389 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1294 +#: order/api.py:1518 msgid "Unknown" msgstr "" -#: order/models.py:82 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1711 +msgid "Total Price" +msgstr "" + +#: order/models.py:67 +msgid "Total price for this order" +msgstr "" + +#: order/models.py:177 +msgid "Contact does not match selected company" +msgstr "" + +#: order/models.py:199 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1285 +#: order/models.py:201 order/models.py:1378 order/models.py:1856 msgid "Link to external page" msgstr "" -#: order/models.py:92 -msgid "Created By" -msgstr "" - -#: order/models.py:99 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:104 -msgid "Order notes" -msgstr "" - -#: order/models.py:241 order/models.py:656 -msgid "Order reference" -msgstr "" - -#: order/models.py:249 order/models.py:674 -msgid "Purchase order status" -msgstr "" - -#: order/models.py:264 -msgid "Company from which the items are being ordered" -msgstr "" - -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2118 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:267 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:274 -msgid "received by" -msgstr "" - -#: order/models.py:279 -msgid "Issue Date" -msgstr "" - -#: order/models.py:280 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:285 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:286 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1675 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1676 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1682 msgid "Date order was completed" msgstr "" -#: order/models.py:331 +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:490 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:670 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:681 +#: order/models.py:756 order/models.py:1669 msgid "Customer Reference " msgstr "" -#: order/models.py:681 +#: order/models.py:756 order/models.py:1670 msgid "Customer order reference code" msgstr "" -#: order/models.py:686 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:689 order/models.py:1243 -#: templates/js/translated/order.js:2963 templates/js/translated/order.js:3126 +#: order/models.py:758 order/models.py:1336 +#: templates/js/translated/sales_order.js:743 +#: templates/js/translated/sales_order.js:906 msgid "Shipment Date" msgstr "" -#: order/models.py:696 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:751 +#: order/models.py:809 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:755 +#: order/models.py:813 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:758 templates/js/translated/order.js:424 +#: order/models.py:816 templates/js/translated/sales_order.js:437 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:761 +#: order/models.py:819 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:938 +#: order/models.py:1014 msgid "Item quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:1027 msgid "Line item reference" msgstr "" -#: order/models.py:946 +#: order/models.py:1029 msgid "Line item notes" msgstr "" -#: order/models.py:951 +#: order/models.py:1034 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:968 +#: order/models.py:1051 msgid "Context" msgstr "" -#: order/models.py:969 +#: order/models.py:1052 msgid "Additional context for this line" msgstr "" -#: order/models.py:978 +#: order/models.py:1061 msgid "Unit price" msgstr "" -#: order/models.py:1008 +#: order/models.py:1091 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:1099 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1102 order/models.py:1143 -#: order/models.py:1237 order/models.py:1369 -#: templates/js/translated/order.js:3582 +#: order/models.py:1105 order/models.py:1190 order/models.py:1231 +#: order/models.py:1330 order/models.py:1465 order/models.py:1821 +#: order/models.py:1870 templates/js/translated/sales_order.js:1357 msgid "Order" msgstr "" -#: order/models.py:1041 +#: order/models.py:1124 msgid "Supplier part" msgstr "" -#: order/models.py:1048 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2501 -#: templates/js/translated/part.js:1506 templates/js/translated/part.js:1538 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1131 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1049 +#: order/models.py:1132 msgid "Number of items received" msgstr "" -#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 +#: order/models.py:1139 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1057 +#: order/models.py:1140 msgid "Unit purchase price" msgstr "" -#: order/models.py:1065 +#: order/models.py:1153 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1131 +#: order/models.py:1219 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1136 +#: order/models.py:1224 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1162 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: order/models.py:1250 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1251 msgid "Unit sale price" msgstr "" -#: order/models.py:1168 +#: order/models.py:1261 msgid "Shipped quantity" msgstr "" -#: order/models.py:1244 +#: order/models.py:1337 msgid "Date of shipment" msgstr "" -#: order/models.py:1251 +#: order/models.py:1344 msgid "Checked By" msgstr "" -#: order/models.py:1252 +#: order/models.py:1345 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 -#: order/serializers.py:1325 templates/js/translated/model_renderers.js:338 +#: order/models.py:1352 order/models.py:1541 order/serializers.py:1202 +#: order/serializers.py:1330 templates/js/translated/model_renderers.js:403 msgid "Shipment" msgstr "" -#: order/models.py:1260 +#: order/models.py:1353 msgid "Shipment number" msgstr "" -#: order/models.py:1264 +#: order/models.py:1357 msgid "Shipment notes" msgstr "" -#: order/models.py:1270 +#: order/models.py:1363 msgid "Tracking Number" msgstr "" -#: order/models.py:1271 +#: order/models.py:1364 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1278 +#: order/models.py:1371 msgid "Invoice Number" msgstr "" -#: order/models.py:1279 +#: order/models.py:1372 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1297 +#: order/models.py:1390 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1300 +#: order/models.py:1393 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1403 order/models.py:1405 +#: order/models.py:1500 order/models.py:1502 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1409 +#: order/models.py:1506 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1411 +#: order/models.py:1508 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1414 +#: order/models.py:1511 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1424 order/serializers.py:1059 +#: order/models.py:1521 order/serializers.py:1064 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1427 +#: order/models.py:1524 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1525 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1436 +#: order/models.py:1533 msgid "Line" msgstr "" -#: order/models.py:1445 +#: order/models.py:1542 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1458 +#: order/models.py:1555 order/models.py:1829 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1459 +#: order/models.py:1556 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1462 +#: order/models.py:1559 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:190 +#: order/models.py:1639 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1653 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1664 +msgid "Return order status" +msgstr "" + +#: order/models.py:1814 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1822 order/models.py:1870 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1830 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1835 +msgid "Received Date" +msgstr "" + +#: order/models.py:1836 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1847 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1847 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1853 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:205 order/serializers.py:1077 +#: order/serializers.py:238 order/serializers.py:1082 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:216 order/serializers.py:1088 +#: order/serializers.py:249 order/serializers.py:1093 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:364 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:369 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:375 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:376 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1165 +#: order/serializers.py:447 order/serializers.py:1170 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:549 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1541 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1627 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1638 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:485 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:565 +#: order/serializers.py:598 order/serializers.py:1556 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:582 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:593 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:902 +#: order/serializers.py:907 msgid "Sale price currency" msgstr "" -#: order/serializers.py:957 +#: order/serializers.py:962 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1020 order/serializers.py:1174 +#: order/serializers.py:1025 order/serializers.py:1179 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1042 +#: order/serializers.py:1047 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1192 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1209 order/serializers.py:1333 +#: order/serializers.py:1214 order/serializers.py:1338 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1217 order/serializers.py:1341 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1271 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1276 +#: order/serializers.py:1281 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1507 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1514 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1517 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1549 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1629 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4379,21 +4665,25 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 +#: order/templates/order/return_order_base.html:61 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "" @@ -4404,6 +4694,8 @@ msgstr "" #: order/templates/order/order_base.html:61 #: order/templates/order/order_base.html:62 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 msgid "Submit Order" msgstr "" @@ -4412,61 +4704,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 #: order/templates/order/sales_order_base.html:68 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 #: order/templates/order/sales_order_base.html:80 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 #: order/templates/order/sales_order_base.html:85 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 #: order/templates/order/sales_order_base.html:90 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 +#: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:129 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:144 #: order/templates/order/sales_order_base.html:135 #: order/templates/order/sales_order_base.html:145 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:204 msgid "Total cost could not be calculated" msgstr "" @@ -4519,11 +4816,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 -#: templates/js/translated/order.js:3201 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:979 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4565,9 +4864,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report.html:84 -#: report/templates/report/inventree_so_report.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4580,59 +4881,92 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:175 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 +msgid "Delete Line Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:239 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:123 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:709 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:200 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:755 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" -msgstr "" - #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 +#: templates/js/translated/sales_order.js:361 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: templates/js/translated/sales_order.js:415 msgid "Complete Sales Order" msgstr "" @@ -4640,11 +4974,6 @@ msgstr "" msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2929 -msgid "Customer Reference" -msgstr "" - #: order/templates/order/sales_order_base.html:141 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 @@ -4661,8 +4990,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4670,34 +4999,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:272 part/models.py:3401 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 +#: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:274 part/models.py:3405 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4706,24 +5035,24 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1868 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1145 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:808 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "" @@ -4739,21 +5068,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:618 templates/js/translated/part.js:1758 -#: templates/js/translated/part.js:1934 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4761,31 +5089,30 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4046 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1790 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:1762 -#: templates/js/translated/part.js:1941 +#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2844 templates/js/translated/part.js:858 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2850 templates/js/translated/part.js:868 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 +#: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 +#: part/admin.py:196 part/admin.py:272 stock/admin.py:43 msgid "Parent Name" msgstr "" @@ -4800,67 +5127,67 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2450 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:264 +#: part/admin.py:265 msgid "BOM Level" msgstr "" -#: part/admin.py:266 +#: part/admin.py:267 msgid "BOM Item ID" msgstr "" -#: part/admin.py:270 +#: part/admin.py:271 msgid "Parent IPN" msgstr "" -#: part/admin.py:273 part/models.py:3409 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" -#: part/admin.py:279 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:515 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:535 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:553 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:639 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:797 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:798 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:804 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:121 part/models.py:857 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 +#: part/bom.py:175 part/models.py:121 part/models.py:914 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4869,7 +5196,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4013 +#: templates/js/translated/sales_order.js:1757 msgid "Available Stock" msgstr "" @@ -4877,13 +5204,13 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:71 part/models.py:3350 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -4892,9 +5219,9 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2544 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" @@ -4931,822 +5258,836 @@ msgstr "" msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:610 +#: part/models.py:592 +#, python-brace-format +msgid "IPN must match regex pattern {pat}" +msgstr "" + +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:741 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:746 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:760 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:778 part/models.py:3406 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:785 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:786 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:796 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:797 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:803 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:809 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:816 part/models.py:3112 part/models.py:3349 -#: part/serializers.py:832 part/templates/part/part_base.html:263 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 +#: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1890 templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:817 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:823 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:829 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:855 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:900 part/templates/part/part_base.html:384 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:901 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:908 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:909 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:915 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:922 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:928 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:934 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:940 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:945 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:950 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:955 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:960 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:962 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:964 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:964 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:967 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:969 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:973 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:975 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:979 part/templates/part/part_base.html:347 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:2005 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1852 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2767 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2784 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2785 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2790 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2791 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2796 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2797 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2802 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2803 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2808 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2809 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2814 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2815 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2820 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2821 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2826 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2827 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2832 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2833 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2838 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2839 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2845 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2851 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2856 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2857 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2862 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2863 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2868 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2869 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2874 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2894 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2899 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2900 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2907 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2911 part/models.py:2994 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2135 templates/js/translated/part.js:978 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2588 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2912 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2920 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2928 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2933 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2934 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2939 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2940 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3001 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3002 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3007 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3008 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3016 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3152 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3169 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3189 templates/js/translated/part.js:2523 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3190 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3195 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3196 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3201 templates/js/translated/part.js:2532 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3202 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3207 templates/js/translated/part.js:2540 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3208 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3213 templates/js/translated/part.js:2547 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3214 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3255 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3263 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3267 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3272 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3305 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3307 part/models.py:3355 part/models.py:3356 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3309 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3309 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3360 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3361 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3398 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3402 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3410 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3413 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3414 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3494 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3502 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3503 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3509 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3513 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3514 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3519 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3520 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3524 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3525 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3528 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3531 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3533 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3533 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3537 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 +msgid "Validated" +msgstr "" + +#: part/models.py:3615 +msgid "This BOM item has been validated" +msgstr "" + +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3538 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3543 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3544 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3630 stock/models.py:570 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3639 part/models.py:3641 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3757 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3778 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3799 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3814 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3818 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3818 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3836 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3840 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:301 +#: part/serializers.py:307 msgid "Original Part" msgstr "" -#: part/serializers.py:301 +#: part/serializers.py:307 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:306 +#: part/serializers.py:312 msgid "Copy Image" msgstr "" -#: part/serializers.py:306 +#: part/serializers.py:312 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:311 part/templates/part/detail.html:296 +#: part/serializers.py:317 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:311 +#: part/serializers.py:317 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:316 +#: part/serializers.py:322 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:316 +#: part/serializers.py:322 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:326 +#: part/serializers.py:332 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:326 +#: part/serializers.py:332 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:332 +#: part/serializers.py:338 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:332 +#: part/serializers.py:338 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:342 +#: part/serializers.py:348 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:353 +#: part/serializers.py:359 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:365 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:366 +#: part/serializers.py:372 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:374 +#: part/serializers.py:380 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:392 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:400 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:604 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:386 +#: part/serializers.py:621 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:621 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:609 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" -#: part/serializers.py:609 +#: part/serializers.py:626 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:614 +#: part/serializers.py:631 msgid "Supplier Information" msgstr "" -#: part/serializers.py:614 +#: part/serializers.py:631 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:637 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:621 +#: part/serializers.py:638 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:843 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:849 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:855 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:860 msgid "Generate Report" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:861 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:866 msgid "Update Parts" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:867 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:858 +#: part/serializers.py:875 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:964 msgid "Update" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:965 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1247 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1240 +#: part/serializers.py:1255 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1256 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1261 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1262 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1252 +#: part/serializers.py:1267 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1268 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1258 +#: part/serializers.py:1273 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1274 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1299 +#: part/serializers.py:1314 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1300 +#: part/serializers.py:1315 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1345 msgid "No part column specified" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1388 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1391 msgid "No matching part found" msgstr "" -#: part/serializers.py:1379 +#: part/serializers.py:1394 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1403 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1411 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1417 +#: part/serializers.py:1432 msgid "At least one BOM item is required" msgstr "" @@ -5759,9 +6100,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2416 -#: templates/js/translated/part.js:959 templates/js/translated/part.js:1462 -#: templates/js/translated/part.js:1514 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5844,7 +6185,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5874,23 +6215,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5927,7 +6264,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5936,9 +6273,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6036,15 +6373,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6079,13 +6416,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1087 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6175,15 +6512,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 -#: templates/js/translated/part.js:707 templates/js/translated/part.js:1132 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:686 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6202,56 +6539,56 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:293 +#: part/templates/part/part_base.html:294 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1175 templates/js/translated/part.js:1979 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:360 +#: part/templates/part/part_base.html:361 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:364 +#: part/templates/part/part_base.html:365 #: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:452 +#: part/templates/part/part_base.html:453 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:469 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:515 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:584 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6262,14 +6599,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: 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:965 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6312,9 +6641,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1154 templates/js/translated/part.js:1755 -#: templates/js/translated/part.js:1909 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6343,11 +6672,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:123 +#: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6410,8 +6739,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:613 -#: templates/js/translated/part.js:1750 templates/js/translated/part.js:1752 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6465,11 +6794,11 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:213 +#: part/templatetags/inventree_extras.py:187 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:265 +#: part/templatetags/inventree_extras.py:239 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -6724,100 +7053,104 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:180 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:216 report/api.py:252 +#: report/api.py:208 report/api.py:244 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:355 +#: report/api.py:311 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:377 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6829,63 +7162,98 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1701 +msgid "Unit Price" +msgstr "" + +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 +msgid "Extra Line Items" +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:1855 +#: templates/js/translated/sales_order.js:1676 +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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:250 +#: templates/js/translated/sales_order.js:1470 +#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:718 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3701 -#: templates/js/translated/order.js:3788 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2177 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2183 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2183 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2189 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2837 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" -#: stock/admin.py:39 stock/admin.py:107 -#: templates/js/translated/model_renderers.js:172 +#: stock/admin.py:39 stock/admin.py:108 msgid "Location ID" msgstr "" -#: stock/admin.py:40 stock/admin.py:108 +#: stock/admin.py:40 stock/admin.py:109 msgid "Location Name" msgstr "" @@ -6898,79 +7266,91 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:109 templates/js/translated/model_renderers.js:442 -msgid "Supplier Part ID" +#: stock/admin.py:107 +msgid "Status Code" msgstr "" #: stock/admin.py:110 -msgid "Supplier ID" +msgid "Supplier Part ID" msgstr "" #: stock/admin.py:111 -msgid "Supplier Name" +msgid "Supplier ID" msgstr "" #: stock/admin.py:112 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:113 msgid "Customer ID" msgstr "" -#: stock/admin.py:113 stock/models.py:701 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:114 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" -#: stock/admin.py:116 +#: stock/admin.py:117 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:117 +#: stock/admin.py:118 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:125 stock/models.py:774 +#: stock/admin.py:125 +msgid "Review Needed" +msgstr "" + +#: stock/admin.py:126 +msgid "Delete on Deplete" +msgstr "" + +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:426 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:587 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:594 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:619 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:685 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:815 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:816 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -6978,8 +7358,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2553 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -6991,218 +7371,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:576 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:593 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:603 stock/models.py:612 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:604 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:626 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:632 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:646 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:660 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:670 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:678 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:695 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:704 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:720 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:734 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:739 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:746 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:748 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:759 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:762 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:768 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:775 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:790 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:790 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:803 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:811 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:839 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1335 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1341 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1341 +#: stock/models.py:1347 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1344 +#: stock/models.py:1350 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1353 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1360 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1430 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1433 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1430 +#: stock/models.py:1436 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1439 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1442 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1439 +#: stock/models.py:1445 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1446 stock/serializers.py:944 +#: stock/models.py:1452 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1450 +#: stock/models.py:1456 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1454 +#: stock/models.py:1460 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1464 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1627 +#: stock/models.py:1633 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2095 +#: stock/models.py:2101 msgid "Entry notes" msgstr "" -#: stock/models.py:2153 +#: stock/models.py:2159 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2159 +#: stock/models.py:2165 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2184 msgid "Test name" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2190 msgid "Test result" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2196 msgid "Test output value" msgstr "" -#: stock/models.py:2197 +#: stock/models.py:2203 msgid "Test result attachment" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2209 msgid "Test notes" msgstr "" @@ -7210,128 +7590,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:229 +#: stock/serializers.py:231 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:282 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:294 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:300 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 +#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:318 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:328 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:347 +#: stock/serializers.py:349 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:387 +#: stock/serializers.py:389 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:400 +#: stock/serializers.py:402 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:407 +#: stock/serializers.py:409 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:444 +#: stock/serializers.py:446 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:451 stock/serializers.py:532 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:483 +#: stock/serializers.py:485 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:494 +#: stock/serializers.py:496 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:525 +#: stock/serializers.py:527 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:756 +#: stock/serializers.py:758 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:762 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:766 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:797 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:801 +#: stock/serializers.py:803 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:809 +#: stock/serializers.py:811 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:819 stock/serializers.py:1050 +#: stock/serializers.py:821 stock/serializers.py:1052 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:908 +#: stock/serializers.py:910 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:913 +#: stock/serializers.py:915 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:916 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:921 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:920 +#: stock/serializers.py:922 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:932 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1012 +#: stock/serializers.py:1014 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1042 msgid "Stock transaction notes" msgstr "" @@ -7356,7 +7736,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:302 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7368,15 +7748,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2986 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:290 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7398,15 +7778,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7415,11 +7795,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7521,7 +7901,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7535,7 +7915,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7545,7 +7925,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7553,35 +7933,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7655,15 +8035,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7699,7 +8079,8 @@ msgstr "" msgid "You have been logged out from InvenTree." msgstr "" -#: templates/403_csrf.html:19 templates/navbar.html:142 +#: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7808,6 +8189,12 @@ msgstr "" msgid "Notification History" msgstr "" +#: templates/InvenTree/notifications/history.html:13 +#: templates/InvenTree/notifications/history.html:14 +#: templates/InvenTree/notifications/notifications.html:77 +msgid "Delete Notifications" +msgstr "" + #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" msgstr "" @@ -7836,7 +8223,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7875,7 +8262,6 @@ msgid "Label Settings" msgstr "" #: templates/InvenTree/settings/login.html:9 -#: templates/InvenTree/settings/sidebar.html:29 msgid "Login Settings" msgstr "" @@ -7893,7 +8279,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -7911,7 +8297,8 @@ msgid "Open in new tab" msgstr "" #: templates/InvenTree/settings/notifications.html:9 -msgid "Global Notification Settings" +#: templates/InvenTree/settings/user_notifications.html:9 +msgid "Notification Settings" msgstr "" #: templates/InvenTree/settings/notifications.html:18 @@ -7922,15 +8309,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:41 +#: templates/InvenTree/settings/part.html:42 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:45 +#: templates/InvenTree/settings/part.html:46 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:60 msgid "Part Parameter Templates" msgstr "" @@ -7943,7 +8330,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -7952,7 +8339,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8074,20 +8461,20 @@ msgstr "" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "" @@ -8096,6 +8483,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8160,15 +8551,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8178,13 +8569,11 @@ msgid "User Settings" msgstr "" #: templates/InvenTree/settings/sidebar.html:9 -#: templates/InvenTree/settings/user.html:12 -msgid "Account Settings" +msgid "Account" msgstr "" #: templates/InvenTree/settings/sidebar.html:11 -#: templates/InvenTree/settings/user_display.html:9 -msgid "Display Settings" +msgid "Display" msgstr "" #: templates/InvenTree/settings/sidebar.html:13 @@ -8192,8 +8581,10 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/InvenTree/settings/user_search.html:9 -msgid "Search Settings" +#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/search.html:8 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" msgstr "" #: templates/InvenTree/settings/sidebar.html:19 @@ -8205,12 +8596,12 @@ msgstr "" msgid "Global Settings" msgstr "" -#: templates/InvenTree/settings/sidebar.html:27 -msgid "Server Configuration" +#: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 +msgid "Server" msgstr "" #: templates/InvenTree/settings/sidebar.html:37 -msgid "Label Printing" +msgid "Labels" msgstr "" #: templates/InvenTree/settings/sidebar.html:41 @@ -8225,6 +8616,10 @@ msgstr "" msgid "Stock Settings" msgstr "" +#: templates/InvenTree/settings/user.html:12 +msgid "Account Settings" +msgstr "" + #: templates/InvenTree/settings/user.html:18 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 @@ -8232,7 +8627,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8383,6 +8778,10 @@ msgstr "" msgid "Do you really want to remove the selected email address?" msgstr "" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" msgstr "" @@ -8448,8 +8847,8 @@ msgstr "" msgid "Home Page Settings" msgstr "" -#: templates/InvenTree/settings/user_notifications.html:9 -msgid "Notification Settings" +#: templates/InvenTree/settings/user_search.html:9 +msgid "Search Settings" msgstr "" #: templates/about.html:9 @@ -8518,7 +8917,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "" @@ -8686,11 +9085,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8698,19 +9097,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8720,6 +9119,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8741,7 +9141,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8755,75 +9155,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2846 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8839,126 +9239,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -8977,7 +9377,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1309 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9082,74 +9482,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4027 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1771 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:1947 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9157,15 +9557,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9209,13 +9609,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9251,504 +9651,539 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3736 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1505 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3737 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1506 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4034 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1778 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4032 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1776 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4126 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1870 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4119 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1863 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3263 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1042 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3264 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1043 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3212 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:991 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3278 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1057 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3375 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1154 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3452 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1231 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1843 -#: templates/js/translated/part.js:2388 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2767 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:937 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:691 -#: templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:1128 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1247 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1289 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1290 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1307 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1319 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1367 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/company.js:1377 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9808,28 +10243,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:405 -msgid "Manufacturer Part ID" -msgstr "" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -9858,742 +10271,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1083 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1134 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1159 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1168 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1186 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1219 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1363 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1382 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1559 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1601 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1612 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2238 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1769 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1772 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1795 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1360 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2906 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2971 -#: templates/js/translated/order.js:3113 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2261 templates/js/translated/order.js:4178 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2278 templates/js/translated/order.js:4193 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2291 templates/js/translated/order.js:4204 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2334 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2361 templates/js/translated/order.js:3932 -msgid "Total" -msgstr "" - -#: templates/js/translated/order.js:2447 templates/js/translated/order.js:2632 -#: templates/js/translated/order.js:3957 templates/js/translated/order.js:4440 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 -msgid "Unit Price" -msgstr "" - -#: templates/js/translated/order.js:2457 templates/js/translated/order.js:2642 -#: templates/js/translated/order.js:3967 templates/js/translated/order.js:4450 -msgid "Total Price" -msgstr "" - -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:3995 -#: templates/js/translated/part.js:1498 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2544 templates/js/translated/part.js:1543 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:4132 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2549 templates/js/translated/order.js:4133 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2550 templates/js/translated/order.js:4137 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2677 templates/js/translated/order.js:4484 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2678 templates/js/translated/order.js:4485 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2679 templates/js/translated/order.js:4486 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2709 templates/js/translated/order.js:4515 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2724 templates/js/translated/order.js:4530 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2735 templates/js/translated/order.js:4541 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2746 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2857 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2920 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3018 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3021 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3026 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3046 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3063 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3098 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3108 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3132 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3138 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3142 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3311 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3362 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3363 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3571 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3650 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3667 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3668 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3802 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3721 templates/js/translated/order.js:3811 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4116 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4122 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4129 templates/js/translated/order.js:4320 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4141 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4144 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4219 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4328 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4342 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4552 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:285 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:298 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:303 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:316 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:321 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:345 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:376 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:378 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:446 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:447 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:465 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:534 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:544 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:572 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:600 templates/js/translated/part.js:1929 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:668 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:683 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:687 templates/js/translated/part.js:1120 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:703 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:778 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:778 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:786 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:790 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:943 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1001 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1005 templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1192 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1613 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1739 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1637 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1704 templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1896 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1927 -msgid "No stock" -msgstr "" - -#: templates/js/translated/part.js:1951 -msgid "Allocated to build orders" -msgstr "" - -#: templates/js/translated/part.js:1955 -msgid "Allocated to sales orders" -msgstr "" - -#: templates/js/translated/part.js:2064 templates/js/translated/part.js:2307 -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2080 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2151 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2156 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2169 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2327 templates/js/translated/stock.js:2461 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2423 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2509 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2560 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2561 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2567 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2583 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2597 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2678 templates/js/translated/part.js:2679 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2681 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2687 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2737 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2743 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2839 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2855 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2900 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10601,843 +10636,1247 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:431 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:445 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:686 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:751 +#: templates/js/translated/sales_order.js:893 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1920 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1933 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1944 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1876 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1877 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1881 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:52 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:700 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2080 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:102 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:117 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:226 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:231 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:271 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:291 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:347 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:351 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:383 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:444 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:468 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:473 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:527 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:637 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:805 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:808 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:813 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:830 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:845 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:878 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:888 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:912 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:918 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:922 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1090 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1141 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1142 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1346 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1425 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1439 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1440 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1482 +#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1578 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1860 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1866 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:2058 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1885 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1888 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1959 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2066 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:320 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:370 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:370 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2052 +msgid "Stock Value" +msgstr "" + +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2253 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2267 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2268 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2500 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2629 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2707 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2738 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2814 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2865 templates/js/translated/stock.js:2901 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2941 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2943 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2944 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2945 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:72 -msgid "Validated" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:538 templates/navbar.html:102 -#: templates/search.html:8 templates/search_form.html:6 -#: templates/search_form.html:7 -msgid "Search" -msgstr "" - -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11449,19 +11888,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11473,10 +11912,6 @@ msgstr "" msgid "Show all notifications and history" msgstr "" -#: templates/price_data.html:7 -msgid "No data" -msgstr "" - #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -11497,18 +11932,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" @@ -11556,10 +11983,6 @@ msgid "" "%(site_name)s.
    As a final step, please complete the following form:" msgstr "" -#: templates/stats.html:9 -msgid "Server" -msgstr "" - #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -11624,55 +12047,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11692,50 +12111,50 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 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 250ca230ca..98c6ad1b8b 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Введите дату" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Заметки" @@ -134,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -206,8 +209,8 @@ msgstr "Файл не найден" msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Вложения" @@ -216,24 +219,24 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Ссылка на внешний URL" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Комментарий" @@ -242,13 +245,13 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Пользователь" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Название" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Описание" @@ -343,7 +350,7 @@ msgid "parent" msgstr "родитель" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Путь" @@ -355,7 +362,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -375,12 +382,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Должно быть действительным номером" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Валюта" @@ -568,157 +575,191 @@ msgstr "Сервер электронной почты не настроен" msgid "InvenTree system health checks failed" msgstr "Ошибка проверки состояния системы InvenTree" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Ожидаемый" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Размещены" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Готово" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Отменено" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Потерян" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Возвращено" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Доставлено" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "Да" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Требует внимания" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Поврежденный" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Разрушено" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Отклоненный" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Отслеживание устаревших запасов" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Товар создан" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Отредактированный товар" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Присвоенный серийный номер" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Склад подсчитан" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Добавлен вручную" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Удалено вручную" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Расположение изменено" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Укомплектовано" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Удалено из сборки" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Установленный элемент компонента" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Удален элемент компонента" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Отделить от родительского элемента" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Объединенные позиции на складе" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Отправлено клиенту" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Возвращено от клиента" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Создан вывод заказа сборки" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Вывод заказа сборки завершён" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Получено по заказу на покупку" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Продукция" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Неверный код валюты" @@ -751,28 +792,28 @@ msgstr "Пароли должны совпадать" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Информация о системе" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Порядок сборки" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Порядок сборки" msgid "Build Orders" msgstr "Порядок сборки" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Отсылка" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Краткое описание сборки" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Родительская сборка" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Детали" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Выберите часть для сборки" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Отсылка на заказ" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Расположение источника" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Место назначения" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Выберите место хранения завершенных элементов" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Количество сборки" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Количество складских предметов для сборки" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Завершенные предметы" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Количество предметов на складе, которые были завершены" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Статус сборки" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Код статуса сборки" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Целевая дата завершения" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Дата завершения" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "выполнено" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Выдал/ла" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Пользователь, выпустивший этот заказ на сборку" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Ответственный" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Дополнительные заметки к сборке" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Вывод сборки не указан" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Вывод сборки уже завершен" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "Вывод сборки не совпадает с порядком сборки" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Выбранная единица хранения не найдена в BOM" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Сборка" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Предметы на складе" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Исходный складской предмет" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Количество" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Установить в" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Серийные номера" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Расположение" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Статус" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "BOM Компонент" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Печать" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Целевая дата" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "Просрочено" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Завершённые" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Заказ покупателя" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "Выдано" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "Удалить заказ на сборку" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "Назначение" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "Партия" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Создано" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Заказать детали" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "Печать" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "Приложения" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "Заметки сборки" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "Новый заказ на сборку" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "Печатать заказ на сборку" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "Шаблон" @@ -2035,10 +2108,10 @@ msgstr "Шаблон" msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "Сборка" @@ -2046,8 +2119,8 @@ msgstr "Сборка" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "Компонент" @@ -2055,7 +2128,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "Можно продавать" @@ -2072,10 +2145,10 @@ msgstr "Можно продавать" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "Отслеживание" @@ -2083,10 +2156,10 @@ msgstr "Отслеживание" msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" -msgstr "Необходимо указать EMail" +msgid "Enable registration" +msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" -msgstr "" +msgid "Email required" +msgstr "Необходимо указать EMail" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "Цена" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Загрузить файл" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "Описание компании" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "Сайт" @@ -3165,6 +3283,7 @@ msgstr "Контактный телефон" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "EMail" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "Контактный EMail" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "Контакт" @@ -3184,11 +3306,11 @@ msgstr "Контактное лицо" msgid "Link to external company information" msgstr "Ссылка на описание компании" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Изображение" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "Заметки о компании" @@ -3222,209 +3344,215 @@ msgstr "Для этой компании используется валюта #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "Компания" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Базовая деталь" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "Выберите деталь" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Производитель" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "Код производителя" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "Ссылка на сайт производителя" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "Деталь производителя" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "Значение" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "Ед.изм" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "Единицы измерения" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Поставщик" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "Код поставщика" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "Ссылка на сайт поставщика" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "Заметка" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "Упаковка" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "Для этого поставщика используется валюта по умолчанию" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "Создать заказ на закупку" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "Редактировать информацию о компании" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "Редактировать компанию" @@ -3474,14 +3602,17 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Покупатель" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "Телефон" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "Загрузить изображение" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "Скачать изображение" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Детали поставщиков" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "Создать новую деталь поставщика" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Новая деталь поставщика" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "Заказать детали" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "Удалить детали" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "Удалить детали" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "Детали производителей" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "Создать новую деталь производителя" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "Новая деталь производителя" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "Склад поставщика" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "Склад поставщика" msgid "Purchase Orders" msgstr "Заказы на закупку" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Создать новый заказ на закупку" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Новый заказ на закупку" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Заказы на продажу" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Создать новый заказ на продажу" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Новый заказ на продажу" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Список поставщиков" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "Удалить деталь поставщика" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "Удалить" @@ -3693,7 +3854,7 @@ msgstr "Новый параметр" msgid "Delete parameters" msgstr "Удалить параметры" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "Добавить параметр" @@ -3710,15 +3871,20 @@ msgstr "Поставленные детали" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Деталь поставщика" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "Редактировать деталь поставщика" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "Создать единицу хранения" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Новая единица хранения" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "Информация о цене" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Детали на складе" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "Высота [мм]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "Фильтры" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "Общая стоимость" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" -msgstr "Компания, в которой детали заказываются" - -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "Компания, в которой детали заказываются" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "Курс покупки валюты" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих единиц хранения" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "Курс продажи валюты" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "Действия с заказом" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "Отменить заказ" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Удалить строку" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "Шаг %(step)s из %(count)s" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "Действия" @@ -4716,34 +5003,34 @@ msgstr "Действия" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "Заказ на продажу не найден" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "Цена не найдена" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "Артикул" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "Наименование детали" @@ -4752,19 +5039,19 @@ msgstr "Наименование детали" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Версия" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "Ключевые слова" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Минимальный запас" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "На складе" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "Сборки" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Детали" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "IPN" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "Место хранения по умолчанию" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "Доступный запас" @@ -4921,664 +5208,665 @@ msgstr "Доступный запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "Ключевые слова по умолчанию" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN должен совпадать с регулярным выражением {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном для других деталей?" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "Разновидность" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "Описание детали" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "Категория" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "Категория" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "Версия детали" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "Эта деталь актуальна?" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "Дублировать деталь" @@ -5671,7 +5959,7 @@ msgstr "Дублировать деталь" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "Удалить категорию" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Подкатегории" @@ -5931,23 +6219,19 @@ msgstr "Укажите категорию" msgid "Set Category" msgstr "Укажите категорию" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "Параметры детали" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "Создать новую категорию деталей" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "Новая категория" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "Создать категорию деталей" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "Обновить" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "Минимальный складской запас" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "Подходящие изображения не найдены" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "Разновидности" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "Название шаблона" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "Файл шаблона отчёта" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "Серийный номер" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "Серийный номер" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "Место хранения" msgid "Stock Locations" msgstr "Места хранения" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "Родительская единица хранения" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "Базовая деталь" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "Код партии для этой единицы хранения" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "Исходная сборка" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту единицу хранения при обнулении складского запаса" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Заметки о единице хранения" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "Установленные единицы хранения" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "Установить единицу хранения" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "Предупреждение" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "Создать новое место хранения" msgid "New Location" msgstr "Новое место хранения" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "Настройки" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "Настройки плагинов" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "Настройки отчётов" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "Идентификатор" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "Главная страница" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "Минимальное количество" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "Ошибка 400: Некорректный запрос" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "API-запрос вернул код ошибки 400" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "Ошибка 401: Авторизация не выполнена" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "Ошибка 403: Доступ запрещён" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "У вас нет прав доступа к этой функции" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "Ошибка 404: Ресурс не найден" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "Ошибка 405: Метод не разрешён" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "Ошибка 408: Таймаут" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "Необработанная ошибка" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "Код ошибки" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "Ошибка сервера" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "Редактировать элемент BOM" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "Удалить элемент BOM" @@ -9262,15 +9561,15 @@ msgstr "Удалить элемент BOM" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "Элементы BOM не найдены" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "Унаследовано от родительского BOM" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "Добавить производителя" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "Добавить деталь производителя" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "Редактировать деталь производителя" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "Добавить поставщика" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "Добавить деталь поставщика" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "Все выбранные детали поставщика будут удалены" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "Добавить новую компанию" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "Информация о компании не найдена" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "Удалить параметры" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "Информация о детали производителя не найдена" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "Деталь-шаблон" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "Параметры не найдены" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "Информация о детали поставщика не найдена" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "Редактировать деталь поставщика" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "Удалить деталь поставщика" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "Последнее обновление" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" -msgstr "Скачать данные" - -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" +msgstr "" + +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Форма содержит ошибки" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "Не найдено" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "Метки не найдены" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "Метки не найдены" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "Отмена этого заказа означает, что заказ нельзя будет редактировать." - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "Редактировать заказ на закупку" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "Добавить код партии" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "Заказов на закупку не найдено" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" -msgstr "Заказы на продажу не найдены" - -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "Подтвердите выделение запасов" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "Атрибуты детали" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "Настройки создания детали" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "Настройки дублирования детали" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "Добавить категорию" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "Родительская категория" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "Редактировать категорию" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "Вы уверены, что хотите удалить эту категорию?" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "Удалить категорию" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "Создать деталь" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "Создать ещё одну деталь после этой" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "Деталь создана успешно" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "Создать разновидность детали" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "Вы подписаны на уведомления для данного элемента" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "Вы подписались на уведомления для данного элемента" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "Включить уведомления для данного элемента" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "Вы отписались от уведомлений для данного элемента" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "Разновидности не найдены" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "Заказов на закупку не найдено" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "Детали не найдены" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "Нет категории" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "Список" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "Таблица" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "Укажите категорию" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "Дерево" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "Редактировать заказ на закупку" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "Добавить код партии" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "Выберите шаблон отчёта" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "Отчёты не найдены" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" -msgstr "Выберите заказ на продажу" - -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" +msgstr "" + +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "Отмена этого заказа означает, что заказ нельзя будет редактировать." + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "Заказы на продажу не найдены" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "Подтвердите выделение запасов" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "Вы уверены, что хотите удалить место хранения?" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "Создано несколько единиц хранения" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "Предупреждение: Операция объединения не может быть отменена" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "Следующие данные будут потеряны в процессе объединения" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "История складских перемещений будет удалена для объединённых элементов" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "Информация о деталях поставщика будет удалена для объединённых элементов" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "Отслеживаемая деталь" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "Код партии" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "Статус сборки" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "Отслеживаемая деталь" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "Код партии" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "Статус сборки" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "Загрузка данных" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "строк на странице" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "Показываются все строки" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "Показано от" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "до" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "из" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "строк" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "Ничего не найдено" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "Закупки" msgid "Sell" msgstr "Продажи" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "Электронная почта не настроена" msgid "Barcode Actions" msgstr "Действия со штрих-кодом" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "Настройки склада" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "Права доступа" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "Права доступа" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "Вид" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "Разрешение на просмотр элементов" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "Разрешение на добавление элементов" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "Разрешение на редактирование элементов" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index 5814b1194b..f448be980a 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API vmesnik ni najden" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Vnesi datum" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Zapiski" @@ -134,7 +137,7 @@ msgstr "Oddaljeni server vrnil prazen odziv" msgid "Supplied URL is not a valid image file" msgstr "Podani URL ni veljavna slikovna datoteka" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Podana napačna količina" @@ -206,8 +209,8 @@ msgstr "Manjka datoteka" msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Priloga" @@ -216,24 +219,24 @@ msgstr "Priloga" msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Zunanja povezava" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Komentar" @@ -242,13 +245,13 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Uporabnik" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Opis" @@ -343,7 +350,7 @@ msgid "parent" msgstr "nadrejen" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Pot" @@ -355,7 +362,7 @@ msgstr "Podatki čtrne kode" msgid "Third party barcode data" msgstr "Podatki črtne kode tretje osebe" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "Oznaka črtne kode" @@ -375,12 +382,12 @@ msgstr "Napaka strežnika" msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -568,157 +575,191 @@ msgstr "Zaledje e-pošte ni nastavljeno" msgid "InvenTree system health checks failed" msgstr "Preverjanje zdravja sistema InvenTree neuspelo" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "V teku" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Postavljeno" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Končano" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Preklicano" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Izgubljeno" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Vrnjeno" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Poslano" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Potrebna pozornost" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Poškodovano" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Uničeno" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Zavrnjeno" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "Dano v karanteno" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Vnos zaloge postavke" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Postavka zaloge ustvarjena" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Urejena postavka zaloge" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Dodeljena serijska številka" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Zaloga prešteta" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Zaloga ročno dodana" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Zaloga ročno odstranjena" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Lokacija spremenjena" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Vstavljeno v sestavo" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Odstranjeno iz sestave" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Vstavljena postavka komponente" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Odstranjena postavka komponente" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Razdeljena od nadrejene postavke" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Razdeljena podrejena postavka" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Združena zaloga postavk" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Spremenjeno v varianto" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Posalno stranki" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Vrnjeno od stranke" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Nalog za izgradnjo ustvarjen" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Nalog za izgradnjo končan" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Porabljeno v nalogu za izgradnjo" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Prejeto z nalogom za nabavo" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Proizvodnja" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Neveljavna oznaka valute" @@ -751,28 +792,28 @@ msgstr "Polja z geslom se morajo ujemati" msgid "Wrong password provided" msgstr "Vnešeno nepravilno geslo" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Sistemske informacije" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Nalog izgradnje" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Nalog izgradnje" msgid "Build Orders" msgstr "Nalogi izgradnje" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Neveljavna izbira za nadrejeno izgradnjo" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Referenca" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Kratek opis izgradnje" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadrejena izgradnja" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Del" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Izberite del za izgradnjo" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Referenca dobavnica" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Lokacija vira" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Izberite lokacijo dela za to izgradnjo (v primeru da ni pomembno pusti prazno)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Ciljna lokacija" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Izberite lokacijo, kjer bodo končne postavke shranjene" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Količina izgradenj" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Število postavk za izgradnjo" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Končane postavke" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Število postavk zaloge, ki so bile končane" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Status izgradnje" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Datum ustvarjenja" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Rok dokončanja" -#: build/models.py:259 +#: build/models.py:260 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:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Datom končanja" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "dokončal" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Izdal" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Odgovoren" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Dodatni zapiski izdelave" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog izgradnje {build} je dokončan" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:1189 +#: build/models.py:1190 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:1198 +#: build/models.py:1199 #, 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:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Izbrana postavka ni najdena v BOM" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Izdelava" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "Izdelaj da prestaviš dele" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Količina" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Izgradnja" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3165,6 +3283,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Notranja številka dela se mora ujemati z vzorcem {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 101a4e0698..25e70dc7f8 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:39\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "Användaren har inte behörighet att se denna modell" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Ange datum" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Anteeckningar" @@ -134,7 +137,7 @@ msgstr "Fjärrservern returnerade tomt svar" msgid "Supplied URL is not a valid image file" msgstr "Angiven URL är inte en giltig bildfil" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" @@ -206,8 +209,8 @@ msgstr "Saknad fil" msgid "Missing external link" msgstr "Extern länk saknas" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Bilaga" @@ -216,24 +219,24 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Länk" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Länk till extern URL" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Kommentar" @@ -242,13 +245,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Användare" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Beskrivning" @@ -343,7 +350,7 @@ msgid "parent" msgstr "överordnad" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "Sökväg" @@ -355,7 +362,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -375,12 +382,12 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -568,157 +575,191 @@ msgstr "Backend för e-post är inte konfigurerad" msgid "InvenTree system health checks failed" msgstr "InvenTree systemhälsokontroll misslyckades" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Väntar" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Placerad" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Slutför" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "Avbruten" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Förlorad" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "Återlämnad" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Skickad" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "OBS!" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Skadad" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Förstörd" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Avvisad" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "I karantän" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Spårningspost för äldre lager" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Lagerpost skapad" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Redigerade lagerpost" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Tilldelade serienummer" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Lagersaldo beräknat" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Lagerpost manuellt tillagd" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Lagerpost manuellt borttagen" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Platsen har ändrats" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Installerad i montering" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Borttagen från montering" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Installerat komponentobjekt" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Tog bort komponentobjekt" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Dela från överordnat objekt" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Dela underordnat objekt" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Sammanfogade lagerposter" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "Konverterad till variant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Skickat till kund" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Returnerad från kund" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Bygg orderutgång skapad" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Bygg orderutgång slutförd" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "Konsumeras av byggorder" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Mottagen mot inköpsorder" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Produktion" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Inte en giltig valutakod" @@ -751,28 +792,28 @@ msgstr "Lösenorden måste matcha" msgid "Wrong password provided" msgstr "Felaktigt lösenord angivet" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformation" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Byggorder" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Byggorder" msgid "Build Orders" msgstr "Byggordrar" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "Ogiltigt val för överordnad bygge" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Referens" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Kort beskrivning av bygget" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Överordnat Bygge" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Del" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Välj del att bygga" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Försäljningsorderreferens" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Källa Plats" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Välj plats att ta lager från för detta bygge (lämna tomt för att ta från någon lagerplats)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Destinationsplats" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Välj plats där de färdiga objekten kommer att lagras" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Bygg kvantitet" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Antal lagerobjekt att bygga" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Slutförda objekt" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Antal lagerposter som har slutförts" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Byggstatus" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Skapad" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Datum för slutförande" -#: build/models.py:259 +#: build/models.py:260 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:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Slutförandedatum" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "slutfört av" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Utfärdad av" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Ansvarig" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Extern länk" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Extra bygganteckningar" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggorder {build} har slutförts" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "En byggorder har slutförts" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:1189 +#: build/models.py:1190 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:1198 +#: build/models.py:1199 #, 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:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "Vald lagervara hittades inte i BOM" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Bygg" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "Bygg för att allokera delar" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Antal" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Installera till" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Destination lagervara" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Bygg utdata" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Serienummer" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Plats" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Måldatum" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "Försenad" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Slutförd" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Försäljningsorder" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "Utfärdad av" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "Mål" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Skapad" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "Beställ obligatoriska delar" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Beställ delar" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "Skriv ut etiketter" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "Bilagor" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "Bygganteckningar" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "Ny byggorder" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "Skriv ut byggorder" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "Virtuell" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "Sök efter artiklar" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "Sök efter leverantörsartikel" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "Sök efter tillverkarartikel" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3165,6 +3283,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Artiklar" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN måste matcha regex mönster {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "Välj artiklar" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index ed9b27a353..1a494c68ac 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "ป้อนวันที่" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "หมายเหตุ" @@ -134,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" @@ -206,8 +209,8 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "ไฟล์แนบ" @@ -216,24 +219,24 @@ msgstr "ไฟล์แนบ" msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "ความคิดเห็น" @@ -242,13 +245,13 @@ msgstr "ความคิดเห็น" msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "ผู้ใช้งาน" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "คำอธิบาย" @@ -343,7 +350,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "" @@ -355,7 +362,7 @@ msgstr "ข้อมูลบาร์โค้ด" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -375,12 +382,12 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -568,157 +575,191 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "อยู่ระหว่างดำเนินการ" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "สำเร็จแล้ว" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "ยกเลิกแล้ว" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "สูญหาย" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "ส่งคืนแล้ว" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "จัดส่งแล้ว" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "ตกลง" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "ได้รับความเสียหาย" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "ทำลายแล้ว" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "ถูกปฏิเสธ" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "จัดส่งให้ลูกค้าแล้ว" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" @@ -751,28 +792,28 @@ msgstr "รหัสผ่านต้องตรงกัน" msgid "Wrong password provided" msgstr "ป้อนรหัสผ่านไม่ถูกต้อง" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "ข้อมูลระบบ" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "เกี่ยวกับ Inventree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "สถานะ" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3165,6 +3283,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 0e93e5ddf2..41a37c48b5 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:39\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "Tarih giriniz" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Notlar" @@ -134,7 +137,7 @@ msgstr "Uzak sunucu boş cevap döndü" msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir resim dosyası değil" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -206,8 +209,8 @@ msgstr "Eksik dosya" msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "Ek" @@ -216,24 +219,24 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Yorum" @@ -242,13 +245,13 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Kullanıcı" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Açıklama" @@ -343,7 +350,7 @@ msgid "parent" msgstr "üst" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "" @@ -355,7 +362,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -375,12 +382,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "Para birimi" @@ -568,157 +575,191 @@ msgstr "E-posta arka ucu yapılandırılmadı" msgid "InvenTree system health checks failed" msgstr "InvenTree sistem sağlık kontrolü başarısız" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "Bekliyor" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "Sipariş verildi" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "Tamamlandı" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "İptal edildi" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "Kayıp" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "İade" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "Sevk edildi" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "TAMAM" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "Dikkat gerekli" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "Hasarlı" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "Kullanılamaz durumda" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "Reddedildi" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "Eski stok izleme girişi" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "Stok kalemi oluşturuldu" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "Düzenlenen stok kalemi" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "Atanan seri numarası" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "Stok sayıldı" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "Stok manuel olarak eklendi" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "Stok manuel olarak çıkarıldı" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "Konum değişti" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "Montajda kullanıldı" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "Montajdan çıkarıldı" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "Bileşen ögesinde kullanıldı" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "Bileşen ögesinden çıkarıldı" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "Üst ögeden ayır" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "Alt ögeyi ayır" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "Müşteriye gönderildi" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "Müşteriden geri döndü" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "Yapım emri çıktısı oluşturuldu" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "Yapım emri çıktısı tamamlandı" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "Satın alma emri karşılığında alındı" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "Üretim" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Geçerli bir para birimi kodu değil" @@ -751,28 +792,28 @@ msgstr "Parola alanları eşleşmelidir" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Sistem Bilgisi" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "InvenTree Hakkında" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Yapım İşi Emri" msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "Referans" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "Yapım işinin kısa açıklaması" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/models.py:177 +#: build/models.py:178 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:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Parça" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:259 +#: build/models.py:260 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:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "Veren" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "Yapım işi için ekstra notlar" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:732 +#: build/models.py:733 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:1189 +#: build/models.py:1190 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:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "Yapım İşi" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "Miktar" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "Hedef stok kalemi" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Seri Numaraları" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Konum" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Durum" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "Gerekli yapım işi miktarı tamamlanmadı" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "Yazdırma işlemleri" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "Hedeflenen tarih" @@ -1460,31 +1538,35 @@ msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "Vadesi geçmiş" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Tamamlandı" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "Veren" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "Yapım İşi Emrini Sil" @@ -1515,8 +1597,9 @@ 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:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "Hedef" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "Toplu" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "Oluşturuldu" @@ -1562,7 +1646,7 @@ msgstr "Alt Yapım İşi Emrileri" msgid "Allocate Stock to Build" msgstr "Yapım İşi için Stok Tahsis Et" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "Stok tahsisini kaldır" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "Gerekli parçaları sipariş edin" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "Parça Siparişi" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "Yazdırma İşlemleri" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "Etiketleri yazdır" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "Tamamlanmış Yapım İşi Çıktıları" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "Tamamlanmış Yapım İşi Çıktıları" msgid "Attachments" msgstr "Ekler" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "Yapım İşi Notları" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "Yeni Yapım İşi Emri" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "Yapım İşi Emirlerini Yazdır" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "günler" @@ -2025,9 +2098,9 @@ msgstr "Kategori Paremetre Sablonu Kopyala" msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "Şablon" @@ -2035,10 +2108,10 @@ msgstr "Şablon" msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "Montaj" @@ -2046,8 +2119,8 @@ msgstr "Montaj" msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "Bileşen" @@ -2055,7 +2128,7 @@ msgstr "Bileşen" msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -2063,8 +2136,8 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "Satılabilir" @@ -2072,10 +2145,10 @@ msgstr "Satılabilir" msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "Takip Edilebilir" @@ -2083,10 +2156,10 @@ msgstr "Takip Edilebilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "Sanal" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "Formlarda Miktarı Göster" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" +msgstr "Formlarda Miktarı Göster" + +#: common/models.py:1984 +msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "Fiyat" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "Aktif" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Dosya Yükle" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3165,6 +3283,7 @@ msgstr "İletişim telefon numarası" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "E-posta" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "İletişim e-posta adresi" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "İletişim" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "Resim" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "Bu şirket için varsayılan para birimi" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "ÜPN" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "Değer" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "Not" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "Paketleme" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "çoklu" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "Mevcut" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "Satın Alma Emri Oluştur" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "Müşteri" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "Resmi İndirin" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "Tedarikçi Parçaları" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "Yeni tedarikçi parçası oluştur" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "Yeni Tedarikçi Parçası" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "Parçaları sil" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "Parçaları Sil" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "Tedarikçi Stoku" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "Tedarikçi Stoku" msgid "Purchase Orders" msgstr "Satın Alma Emirleri" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Yeni satın alma emri oluştur" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Yeni Satın Alma Emri" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Satış Emirleri" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Yeni satış emri oluştur" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Yeni Satış Emri" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "Atanan Stok" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "Parça siparişi" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "Tedarikçi parçalarını sil" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Tedarikçi Parçası" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "Fiyat Bilgisi" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -3897,7 +4063,7 @@ msgstr "Etiket" msgid "Label template file" msgstr "Etiket şablon listesi" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "Etkin" @@ -3921,7 +4087,7 @@ msgstr "Yükseklik [mm]" msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "Filtreler" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "Sipariş açıklaması" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "Harici sayfaya bağlantı" - -#: order/models.py:96 -msgid "Created By" -msgstr "Oluşturan" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "Sipariş notları" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" -msgstr "Sipariş referansı" - -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" -msgstr "" +#: order/models.py:199 +msgid "Order description" +msgstr "Sipariş açıklaması" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" +msgstr "Harici sayfaya bağlantı" -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "Oluşturan" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "Sipariş notları" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "Sipariş referansı" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "Emiri dosya çıkar" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "Siparişi iptal et" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "Siparişi tamamlandı olarak işaretle" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "Sipariş Notları" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "Toplam Maliyet" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "İşlemler" @@ -4716,34 +5003,34 @@ msgstr "İşlemler" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "DPN" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "Minimum Stok" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Parçalar" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "Varsayılan Konum" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN regex kalıbıyla eşleşmelidir {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "Parça adı" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:855 +#: part/models.py:854 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:856 +#: part/models.py:855 msgid "Variant Of" msgstr "Çeşidi" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "Parça açıklaması" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:992 +#: part/models.py:991 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:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 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:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "Gerekli" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 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:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:3615 +#: part/models.py:3627 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:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alt kategoriler" @@ -5931,23 +6219,19 @@ msgstr "Kategori ayarla" msgid "Set Category" msgstr "Kategori Ayarla" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "Yenile" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "Pasif" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "Hesapla" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "Birim Maliyeti" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "Toplam Maliyet" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "Stok Yok" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "Şablon adı" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "Rapor şablon dosyası" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "Rapor şablon tanımı" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "Revizyon numarası raporla (otomatik artış)" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "Rapor şablonu etkin" -#: report/models.py:281 +#: report/models.py:286 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:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "İçin Gerekli Olan" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "Seri Numara" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "Seri Numara" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "Seri No" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "Stok Konumu" msgid "Stock Locations" msgstr "Stok Konumları" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 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:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "Stok ayarlama işlemleri" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "Stoku seri numarala" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Konum ayarlanmadı" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "Uyarı" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "Bu işlem kolayca geri alınamaz" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "Stok Kalemine Dönüştür" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "Yeni stok konumu oluştur" msgid "New Location" msgstr "Yeni Konum" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "Giriş" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "Parça Parametre Şablonu Oluştur" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "Parça Parametre Şablonu Düzenle" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "Parça Parametre Şablonu Sil" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "Dosya Ekle" @@ -8803,19 +9101,19 @@ msgstr "Dosya Ekle" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "Cevap Yok" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "Ek Düzenle" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "Stok kalemi zaten bu konumda" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "Konuma Kaydet" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "Barkod geçerli bir konumla eşleşmiyor" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Kapat" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "Gerekli Parça" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "Yapım işi emri eksik" msgid "Complete Build Order" msgstr "Tamamlanmış Yapım İşi Emri" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "Stok tahsisini düzenle" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "Stok tahsisini sil" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "Parçaları Seçin" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "Şablon Parça" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "Tedarikçi parçasını düzenle" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "Tedarikçi parçasını sil" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "doğru" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "yanlış" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "Etiket yazdırılmadan önce stok kalemleri seçilmeli" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "Etiket Bulunamadı" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "Seçili stok kalemleri için etiket bulunamadı" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "Stok Konumu Seç" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "Etiket yazdırılmadan önce stok konumları seçilmeli" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "Seçili konumlarla eşleşen etiket bulunamadı" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "Etiket Şablonu Seç" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "Etiket Bulunamadı" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "Ürünler" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "Stok tahsisini onayla" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "Silme İşlemini Onayla" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "Seri numaralarını tahsis et" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "Seri Numaralarını Tahsis Et" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "Çeşit bulunamadı" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "Katagori Yok" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "Ürünler" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "Rapor Şablonu Seç" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "Test Raporu Şablonu Seç" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" -msgstr "Seçili stok kalemleri için rapor şablonu bulunamadı" - -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" -msgstr "Seçili yapım işleri için rapor şablonu bulunamadı" - -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" -msgstr "Seçili parçalar için rapor şablonu bulunamadı" - -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" -msgstr "Seçili emirler için rapor şablonu bulunamadı" - -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" +msgstr "" + +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" +msgstr "" + +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" +msgstr "" + +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "Stok tahsisini onayla" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "Silme İşlemini Onayla" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "Seri numaralarını tahsis et" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "Seri Numaralarını Tahsis Et" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "Stok konumunu düzenle" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "Stok Konumunu Sil" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "Stok ayarlamasını onayla" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "Stok konumu ayarlanmadı" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "Detaylar" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "Çeşit Stokuna İzin Ver" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "Alt konumları dahil et" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "Konumları dahil et" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "Seri Numaralı" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "Seri numarası BvE" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "Seri numarası büyük veya eşit" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "Seri numarası KvE" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "Seri numarası küçük veya eşit" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "Seri numarası" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "Alt konumlardaki stoku dahil et" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "Çeşitleri Dahil Et" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "Çeşit parçaların stok kalemlerini dahil et" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "Çeşit Stokuna İzin Ver" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "Alt konumları dahil et" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "Konumları dahil et" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "Seri Numaralı" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "Seri numarası BvE" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "Seri numarası büyük veya eşit" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "Seri numarası KvE" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "Seri numarası küçük veya eşit" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "Seri numarası" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "Alt konumlardaki stoku dahil et" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "Çeşitleri Dahil Et" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "Çeşit parçaların stok kalemlerini dahil et" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "Alt kategorilerdeki parçaları dahil et" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "DPN Var" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "Takvim görünümünü görüntüle" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "Liste görünümünü görüntüle" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "Gösteriliyor" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "için" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "yüzünden" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "satırlar" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "Sonuç bulunamadı" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "Sayfalandırmayı Göster" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "Değiştir" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "Sütunlar" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "Tümü" @@ -11521,19 +11904,19 @@ msgstr "Al" msgid "Sell" msgstr "Sat" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "Bildirimleri Göster" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "Yeni Bildirimler" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "Çıkış" @@ -11679,55 +12062,51 @@ msgstr "E-posta ayarları yapılandırılmadı" msgid "Barcode Actions" msgstr "Barkod İşlemleri" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "Test raporunu yazdır" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "Stok Seçenekleri" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "Seçili stok parçalarını ekle" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "Seçili stok parçalarını kaldır" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "Seçili stok parçalarını değerlendir" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "Stok parçalarını taşı" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "Seçili stok parçalarını birleştir" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "Stok birlşetirme" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "Seçili parçaları sırala" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "Durumu Değiştir" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "Stok durumunu değiştir" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "Seçili parçaları sil" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "Parça sil" @@ -11747,51 +12126,51 @@ msgstr "Kullanıcılar" msgid "Select which users are assigned to this group" msgstr "Bu gruba atanacak kullanıcıyı seçin" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "Aşağıdaki kullanıcılar birden çok grubun üyesi:" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "Kullanıcı bilgisi" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "Yetkiler" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "Önemli tarihler" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "İzinleri ayarla" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "Grup" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "Görünüm" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "Parçayı görüntüleme izni" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "Parça ekleme izni" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "Değiştir" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "Parçaları düzenleme izni" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "Parçaları silme izni" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 1c86eb7358..76be7798b6 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:28\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-03-31 11:38\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" msgstr "" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "" @@ -134,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "" @@ -206,8 +209,8 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "" @@ -216,24 +219,24 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "Bình luận" @@ -242,13 +245,13 @@ msgstr "Bình luận" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "Người dùng" @@ -289,48 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "Mô tả" @@ -343,7 +350,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "" @@ -355,7 +362,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "" @@ -375,12 +382,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "" @@ -568,157 +575,191 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" @@ -751,28 +792,28 @@ msgstr "" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "Thông tin hệ thống" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "Giới thiệu" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "Tạo đơn hàng" msgid "Build Orders" msgstr "Tạo đơn hàng" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "" -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "Nguyên liệu" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Ngày hoàn thành" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" @@ -1139,9 +1205,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" @@ -1154,9 +1220,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" @@ -1172,7 +1238,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1180,18 +1246,21 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Trạng thái" @@ -1266,7 +1338,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "" @@ -1282,8 +1354,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "" @@ -1303,7 +1375,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1320,7 +1392,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "" @@ -1375,6 +1447,7 @@ msgstr "" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "" @@ -1460,31 +1538,35 @@ msgstr "" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Đã hoàn thành" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "" @@ -1515,8 +1597,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "" @@ -1530,19 +1613,20 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1562,7 +1646,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "" @@ -1645,27 +1730,19 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "" @@ -1689,10 +1766,6 @@ msgstr "" msgid "New Build Order" msgstr "" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "" @@ -2025,9 +2098,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "" @@ -2035,10 +2108,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "" @@ -2046,8 +2119,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "" @@ -2055,7 +2128,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "" @@ -2063,8 +2136,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "" @@ -2072,10 +2145,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "" @@ -2083,10 +2156,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "" @@ -2118,7 +2191,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 -msgid "Enable password forgot" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1482 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1488 -msgid "Enable registration" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1489 -msgid "Enable self-registration for users on the login pages" +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1495 -msgid "Enable SSO" -msgstr "" - -#: common/models.py:1496 -msgid "Enable SSO on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1502 -msgid "Enable SSO registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1503 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1509 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1510 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1516 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1517 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1523 -msgid "Mail twice" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1524 -msgid "On signup ask users twice for their mail" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1530 -msgid "Password twice" +msgid "Email required" msgstr "" #: common/models.py:1531 -msgid "On signup ask users twice for their password" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Allowed domains" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1538 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1551 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1552 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1558 -msgid "Check plugins on startup" +msgid "Allowed domains" msgstr "" #: common/models.py:1559 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" msgstr "" #: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1704 +#: common/models.py:1725 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:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" +msgid "Search Return Orders" msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 -msgid "Date Format" +msgid "Exclude Inactive Return Orders" msgstr "" #: common/models.py:1970 -msgid "Preferred format for displaying dates" +msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 -msgid "Part Scheduling" +#: common/models.py:1976 +msgid "Search Preview Results" msgstr "" -#: common/models.py:1985 -msgid "Display part scheduling information" +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 -msgid "Part Stocktake" +#: common/models.py:1983 +msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1992 -msgid "Display part stocktake information (if stocktake functionality is enabled)" +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" msgstr "" #: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "" @@ -3165,6 +3283,7 @@ msgstr "" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "" @@ -3222,209 +3344,215 @@ msgstr "" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "" @@ -3474,14 +3602,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "" @@ -3669,9 +3830,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "" @@ -3693,7 +3854,7 @@ msgstr "" msgid "Delete parameters" msgstr "Xóa các thông số" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "" @@ -3710,15 +3871,20 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" @@ -3739,8 +3905,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3769,13 +3935,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3809,7 +3975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -3897,7 +4063,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "" @@ -3921,7 +4087,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "" @@ -3946,457 +4113,534 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "" -#: order/models.py:86 -msgid "Order description" -msgstr "" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "" - -#: order/models.py:96 -msgid "Created By" -msgstr "" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "" - -#: order/models.py:108 -msgid "Order notes" -msgstr "" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" +#: order/models.py:199 +msgid "Order description" msgstr "" -#: order/models.py:283 -msgid "Company from which the items are being ordered" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" msgstr "" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:311 -msgid "Date order was completed" +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" msgstr "" #: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1699 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4716,34 +5003,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4752,19 +5039,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4806,22 +5093,22 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Nguyên liệu" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "" @@ -4921,664 +5208,665 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "" @@ -5671,7 +5959,7 @@ msgstr "" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5901,7 +6189,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -5931,23 +6219,19 @@ msgstr "" msgid "Set Category" msgstr "" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "Thông số phụ tùng" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "Kho hàng" msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "Cài đặt" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "" msgid "Report Settings" msgstr "" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "" @@ -8257,15 +8555,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "Những thông số thuộc mẫu này cũng sẽ bị xóa" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "" @@ -8803,19 +9101,19 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "Số seri mới nhất" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:582 +#: templates/js/translated/company.js:587 +msgid "Create New Contact" +msgstr "" + +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" +msgstr "" + +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:597 +#: templates/js/translated/company.js:818 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:852 msgid "All selected parameters will be deleted" msgstr "Tất cả những thống số được chọn sẽ bị xoá" -#: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "Xóa các thông số" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "Không có thông số được tìm thấy" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "Mua" msgid "Sell" msgstr "Bán" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "Quản trị" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "Đăng xuất" @@ -11679,55 +12062,51 @@ msgstr "" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 2a6ed7be69..38d5268247 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-03-27 21:25+0000\n" -"PO-Revision-Date: 2023-03-28 11:29\n" +"POT-Creation-Date: 2023-03-31 00:00+0000\n" +"PO-Revision-Date: 2023-04-01 12:00\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -17,13 +17,13 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:63 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "未找到 API 端点" -#: InvenTree/api.py:307 +#: InvenTree/api.py:310 msgid "User does not have permission to view this model" -msgstr "" +msgstr "用户无权查看该模型" #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" @@ -34,22 +34,25 @@ msgid "Enter date" msgstr "输入日期" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:990 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1046 #: 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:2977 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2095 stock/models.py:2203 +#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2628 templates/js/translated/order.js:2767 -#: templates/js/translated/order.js:3271 templates/js/translated/order.js:4213 -#: templates/js/translated/order.js:4586 templates/js/translated/part.js:1002 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2166 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:960 +#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "备注" @@ -134,7 +137,7 @@ msgstr "远程服务器返回了空响应" msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" -#: InvenTree/helpers.py:602 order/models.py:347 order/models.py:514 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -206,8 +209,8 @@ msgstr "缺少文件" msgid "Missing external link" msgstr "缺少外部链接" -#: InvenTree/models.py:409 stock/models.py:2197 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2204 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "附件" @@ -216,24 +219,24 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:416 common/models.py:2572 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:88 -#: order/models.py:1338 part/admin.py:39 part/models.py:893 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: part/models.py:892 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:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:2468 templates/js/translated/order.js:3260 -#: templates/js/translated/part.js:1963 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:949 msgid "Link" msgstr "链接" -#: InvenTree/models.py:417 build/models.py:292 part/models.py:894 -#: stock/models.py:729 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "链接到外部 URL" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "注释" @@ -242,13 +245,13 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2021 -#: common/models.py:2022 common/models.py:2245 common/models.py:2246 -#: common/models.py:2502 common/models.py:2503 part/models.py:2985 -#: part/models.py:3073 part/models.py:3152 part/models.py:3172 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2854 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "用户" @@ -289,48 +292,52 @@ msgstr "同一个主体下不能有相同名字" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2231 -#: company/models.py:382 label/models.py:102 part/models.py:839 -#: part/models.py:3320 plugin/models.py:94 report/models.py:153 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1117 -#: templates/js/translated/part.js:1277 templates/js/translated/part.js:2368 -#: templates/js/translated/stock.js:2581 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "名称" -#: InvenTree/models.py:578 build/models.py:165 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:86 part/admin.py:194 part/admin.py:276 part/models.py:861 -#: part/models.py:3329 part/templates/part/category.html:81 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:166 -#: report/models.py:507 report/models.py:551 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2123 templates/js/translated/order.js:2257 -#: templates/js/translated/order.js:2450 templates/js/translated/order.js:3037 -#: templates/js/translated/part.js:1169 templates/js/translated/part.js:1620 -#: templates/js/translated/part.js:1900 templates/js/translated/part.js:2404 -#: templates/js/translated/part.js:2501 templates/js/translated/stock.js:1435 -#: templates/js/translated/stock.js:1823 templates/js/translated/stock.js:2613 -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "描述信息" @@ -343,7 +350,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2413 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "路径" @@ -355,7 +362,7 @@ msgstr "条码数据" msgid "Third party barcode data" msgstr "第三方条形码数据" -#: InvenTree/models.py:702 order/serializers.py:472 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "条码哈希" @@ -375,12 +382,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:59 part/models.py:3689 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "必须是有效数字" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2824 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "货币" @@ -568,157 +575,191 @@ msgstr "未配置电子邮件后端" msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" -#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:357 InvenTree/status_codes.py:394 +#: InvenTree/status_codes.py:429 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "待定" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:140 msgid "Placed" msgstr "已添加" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 -#: order/templates/order/sales_order_base.html:133 +#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 +#: order/templates/order/sales_order_base.html:142 msgid "Complete" msgstr "完成" -#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:359 InvenTree/status_codes.py:397 msgid "Cancelled" msgstr "已取消" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:227 msgid "Lost" msgstr "丢失" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:230 msgid "Returned" msgstr "已退回" -#: InvenTree/status_codes.py:141 order/models.py:1221 -#: templates/js/translated/order.js:3848 templates/js/translated/order.js:4188 +#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:183 order/models.py:1277 +#: templates/js/translated/sales_order.js:1526 +#: templates/js/translated/sales_order.js:1830 msgid "Shipped" msgstr "已发货" -#: InvenTree/status_codes.py:179 +#: InvenTree/status_codes.py:223 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:224 msgid "Attention needed" msgstr "需要关注" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:225 msgid "Damaged" msgstr "破损" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:226 msgid "Destroyed" msgstr "已销毁" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:228 msgid "Rejected" msgstr "已拒绝" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:229 msgid "Quarantined" msgstr "隔离" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" msgstr "旧库存跟踪条目" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:309 msgid "Stock item created" msgstr "库存项已创建" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:311 msgid "Edited stock item" msgstr "已编辑库存项" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:312 msgid "Assigned serial number" msgstr "已分配序列号" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:314 msgid "Stock counted" msgstr "库存计数" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:315 msgid "Stock manually added" msgstr "已手动添加库存" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:316 msgid "Stock manually removed" msgstr "库存手动删除" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:318 msgid "Location changed" msgstr "仓储地点已更改" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:320 msgid "Installed into assembly" msgstr "安装到组装中" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:321 msgid "Removed from assembly" msgstr "已从组装中删除" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:323 msgid "Installed component item" msgstr "已安装组件项" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:324 msgid "Removed component item" msgstr "已删除组件项" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:326 msgid "Split from parent item" msgstr "从父项拆分" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:327 msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2271 +#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "合并的库存项目" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:331 msgid "Converted to variant" msgstr "转换为变量" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "发送给客户" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:334 msgid "Returned from customer" msgstr "从客户退货" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:336 msgid "Build order output created" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:337 msgid "Build order output completed" msgstr "生产订单输出已完成" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:338 msgid "Consumed by build order" msgstr "被生产订单消耗" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" -msgstr "收到定购单" +#: InvenTree/status_codes.py:340 +msgid "Shipped against Sales Order" +msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:342 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:344 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:358 msgid "Production" msgstr "生产中" +#: InvenTree/status_codes.py:430 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:431 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:432 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:433 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:434 +msgid "Reject" +msgstr "" + #: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "不是有效的货币代码" @@ -751,28 +792,28 @@ msgstr "密码字段必须相匹配。" msgid "Wrong password provided" msgstr "密码错误" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "系统信息" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "关于 InventTree" -#: build/api.py:245 +#: build/api.py:243 msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/models.py:70 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "生产订单" -#: build/models.py:71 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 @@ -783,47 +824,50 @@ msgstr "生产订单" msgid "Build Orders" msgstr "生产订单" -#: build/models.py:112 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:156 +#: build/models.py:157 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:157 order/models.py:259 order/models.py:674 -#: order/models.py:988 part/admin.py:278 part/models.py:3590 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: part/models.py:3602 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:90 -#: report/templates/report/inventree_so_report_base.html:91 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2493 -#: templates/js/translated/order.js:2716 templates/js/translated/order.js:4052 -#: templates/js/translated/order.js:4535 templates/js/translated/pricing.js:368 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1694 msgid "Reference" msgstr "引用" -#: build/models.py:168 +#: build/models.py:169 msgid "Brief description of the build" msgstr "生产的简短描述." -#: build/models.py:176 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:177 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:182 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1084 order/models.py:1200 order/models.py:1201 -#: part/models.py:383 part/models.py:2837 part/models.py:2951 -#: part/models.py:3091 part/models.py:3110 part/models.py:3129 -#: part/models.py:3150 part/models.py:3242 part/models.py:3363 -#: part/models.py:3455 part/models.py:3555 part/models.py:3869 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 #: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -831,291 +875,313 @@ msgstr "此次生产匹配的订单" #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:89 -#: report/templates/report/inventree_so_report_base.html:90 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:144 stock/serializers.py:484 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1265 templates/js/translated/order.js:1769 -#: templates/js/translated/order.js:2256 templates/js/translated/order.js:2435 -#: templates/js/translated/order.js:3403 templates/js/translated/order.js:3799 -#: templates/js/translated/order.js:4036 templates/js/translated/part.js:1605 -#: templates/js/translated/part.js:1677 templates/js/translated/part.js:1869 -#: templates/js/translated/pricing.js:351 templates/js/translated/stock.js:624 -#: templates/js/translated/stock.js:791 templates/js/translated/stock.js:1003 -#: templates/js/translated/stock.js:1779 templates/js/translated/stock.js:2717 -#: templates/js/translated/stock.js:2912 templates/js/translated/stock.js:3051 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1091 +#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "商品" -#: build/models.py:190 +#: build/models.py:191 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:195 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:199 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:204 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3391 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1079 msgid "Source Location" msgstr "来源地点" -#: build/models.py:208 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)" -#: build/models.py:213 +#: build/models.py:214 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:217 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:221 +#: build/models.py:222 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:224 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:228 +#: build/models.py:229 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:230 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:234 +#: build/models.py:235 msgid "Build Status" msgstr "生产状态" -#: build/models.py:238 +#: build/models.py:239 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:247 build/serializers.py:226 order/serializers.py:450 -#: stock/models.py:733 templates/js/translated/order.js:1627 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:251 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:254 order/models.py:90 part/models.py:1029 -#: part/templates/part/part_base.html:319 templates/js/translated/order.js:3050 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:750 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:258 order/models.py:704 +#: build/models.py:259 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:259 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:262 order/models.py:310 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:268 +#: build/models.py:269 msgid "completed by" msgstr "完成人" -#: build/models.py:276 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "发布者" -#: build/models.py:277 +#: build/models.py:278 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:285 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:104 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:1033 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:202 part/models.py:1032 #: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2168 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "责任人" -#: build/models.py:286 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "构建此订单的用户或组" -#: build/models.py:291 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:727 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "外部链接" -#: build/models.py:296 +#: build/models.py:297 msgid "Extra build notes" msgstr "额外的生产备注" -#: build/models.py:300 +#: build/models.py:301 msgid "Build Priority" msgstr "创建优先级" -#: build/models.py:303 +#: build/models.py:304 msgid "Priority of this build order" msgstr "此构建订单的优先级" -#: build/models.py:541 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:547 +#: build/models.py:548 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:726 +#: build/models.py:727 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:729 +#: build/models.py:730 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:732 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:1189 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1198 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1208 order/models.py:1472 +#: build/models.py:1209 order/models.py:1532 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1214 order/models.py:1475 +#: build/models.py:1215 order/models.py:1535 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1220 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "序列化库存的数量必须是 1" -#: build/models.py:1277 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1346 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "生产" -#: build/models.py:1347 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "生产以分配部件" -#: build/models.py:1363 build/serializers.py:674 order/serializers.py:1011 -#: order/serializers.py:1032 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 +#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3404 -#: templates/js/translated/order.js:3706 templates/js/translated/order.js:3711 -#: templates/js/translated/order.js:3806 templates/js/translated/order.js:3898 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2790 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:237 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:1390 +#: templates/js/translated/sales_order.js:1395 +#: templates/js/translated/sales_order.js:1484 +#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1364 +#: build/models.py:1365 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1376 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2053 -#: order/models.py:974 order/models.py:1516 order/serializers.py:1185 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2964 part/models.py:3571 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:91 -#: report/templates/report/inventree_so_report_base.html:92 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:187 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1268 -#: templates/js/translated/order.js:2260 templates/js/translated/order.js:2499 -#: templates/js/translated/order.js:2722 templates/js/translated/order.js:3405 -#: templates/js/translated/order.js:3725 templates/js/translated/order.js:3812 -#: templates/js/translated/order.js:3904 templates/js/translated/order.js:4058 -#: templates/js/translated/order.js:4541 templates/js/translated/part.js:879 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2942 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 -#: templates/js/translated/pricing.js:598 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2839 templates/js/translated/stock.js:2924 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:253 +#: templates/js/translated/sales_order.js:1093 +#: templates/js/translated/sales_order.js:1409 +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1580 +#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "数量" -#: build/models.py:1377 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1385 +#: build/models.py:1386 msgid "Install into" msgstr "安装到" -#: build/models.py:1386 +#: build/models.py:1387 msgid "Destination stock item" msgstr "目标库存项" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "生产产出" @@ -1139,9 +1205,9 @@ msgstr "生产产出未被完成分配" msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:345 -#: order/serializers.py:323 order/serializers.py:445 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1339 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1154,9 +1220,9 @@ msgstr "对于可追踪的部件,需要整数型数值" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:233 order/serializers.py:458 order/serializers.py:1189 -#: stock/serializers.py:299 templates/js/translated/order.js:1638 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "序列号" @@ -1172,7 +1238,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:637 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1180,18 +1246,21 @@ msgstr "以下序列号已存在或无效" msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:371 order/serializers.py:431 order/serializers.py:550 -#: part/serializers.py:855 stock/serializers.py:310 stock/serializers.py:445 -#: stock/serializers.py:526 stock/serializers.py:902 stock/serializers.py:1144 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1665 -#: templates/js/translated/order.js:3718 templates/js/translated/order.js:3823 -#: templates/js/translated/order.js:3831 templates/js/translated/order.js:3912 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1943 -#: templates/js/translated/stock.js:2731 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1402 +#: templates/js/translated/sales_order.js:1501 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "地点" @@ -1200,13 +1269,16 @@ msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:693 -#: order/serializers.py:468 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2127 -#: templates/js/translated/order.js:3042 templates/js/translated/stock.js:1918 -#: templates/js/translated/stock.js:2808 templates/js/translated/stock.js:2940 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "状态" @@ -1266,7 +1338,7 @@ msgstr "接受库存项未被完成分配至此生产订单" msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:547 order/serializers.py:206 order/serializers.py:1079 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 msgid "Accept Incomplete" msgstr "接受未完成" @@ -1282,8 +1354,8 @@ msgstr "所需生产数量尚未完成" msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3478 -#: part/models.py:3861 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "BOM项" @@ -1303,7 +1375,7 @@ msgstr "bom_item.part 必须与生产订单指向相同的部件" msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:729 order/serializers.py:1069 +#: build/serializers.py:729 order/serializers.py:1084 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" @@ -1320,7 +1392,7 @@ msgstr "对于未被追踪的部件,无法指定生产产出" msgid "This stock item has already been allocated to this build output" msgstr "此库存项已被分配至此生产产出" -#: build/serializers.py:770 order/serializers.py:1353 +#: build/serializers.py:770 order/serializers.py:1368 msgid "Allocation items must be provided" msgstr "必须提供分配的项" @@ -1375,6 +1447,7 @@ msgstr "生成订单 {bo} 现在已过期" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "打印操作" @@ -1443,13 +1516,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:994 -#: order/templates/order/order_base.html:171 -#: order/templates/order/sales_order_base.html:164 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1050 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:173 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2144 -#: templates/js/translated/order.js:2575 templates/js/translated/order.js:3058 -#: templates/js/translated/order.js:4101 templates/js/translated/part.js:1490 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:758 +#: templates/js/translated/sales_order.js:1743 msgid "Target Date" msgstr "预计日期" @@ -1460,31 +1538,35 @@ msgstr "此次生产的截止日期为 %(target)s" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 -#: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 +#: order/templates/order/sales_order_base.html:103 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "逾期" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:183 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1345 order/models.py:1193 -#: order/models.py:1292 order/models.py:1423 +#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 +#: order/models.py:1348 order/models.py:1482 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report_base.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:3004 templates/js/translated/pricing.js:894 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "销售订单" @@ -1495,11 +1577,11 @@ msgid "Issued By" msgstr "发布者" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "优先级" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "删除生产订单" @@ -1515,8 +1597,9 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1111 -#: templates/js/translated/order.js:1775 templates/js/translated/order.js:2617 +#: build/templates/build/detail.html:49 order/models.py:1167 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "目的地" @@ -1530,19 +1613,20 @@ msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1932 -#: templates/js/translated/stock.js:2947 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "批量" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:167 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "已创建" @@ -1562,7 +1646,7 @@ msgstr "子生产订单" msgid "Allocate Stock to Build" msgstr "为生产分配库存" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "未分配库存" @@ -1591,9 +1675,10 @@ msgid "Order required parts" msgstr "订单所需部件" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1308 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "订购商品" @@ -1645,27 +1730,19 @@ msgstr "删除选中的构建输出" msgid "Delete outputs" msgstr "删除输出" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "打印操作" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "打印标签" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "已完成构建输出" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1673,15 +1750,15 @@ msgstr "已完成构建输出" msgid "Attachments" msgstr "附件" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "生产备注" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "分配完成" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "所有未跟踪的库存项目都已分配" @@ -1689,10 +1766,6 @@ msgstr "所有未跟踪的库存项目都已分配" msgid "New Build Order" msgstr "新建生产订单" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "打印生产订单" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "生产订单详情" @@ -1893,7 +1966,7 @@ msgstr "" #: common/models.py:995 common/models.py:1013 common/models.py:1020 #: common/models.py:1031 common/models.py:1042 common/models.py:1266 -#: common/models.py:1290 common/models.py:1413 common/models.py:1634 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "天" @@ -2025,9 +2098,9 @@ msgstr "复制类别参数模板" msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" -#: common/models.py:1129 part/admin.py:55 part/models.py:3365 -#: report/models.py:159 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 msgid "Template" msgstr "模板" @@ -2035,10 +2108,10 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "零件默认为模板" -#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:985 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 msgid "Assembly" msgstr "组装" @@ -2046,8 +2119,8 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "默认情况下可以从其他组件组装部件" -#: common/models.py:1143 part/admin.py:52 part/models.py:991 -#: templates/js/translated/table_filters.js:510 +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 msgid "Component" msgstr "组件" @@ -2055,7 +2128,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "默认情况下可以从其他组件组装部件" -#: common/models.py:1150 part/admin.py:53 part/models.py:1002 +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 msgid "Purchaseable" msgstr "可购买" @@ -2063,8 +2136,8 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1157 part/admin.py:54 part/models.py:1007 -#: templates/js/translated/table_filters.js:531 +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 msgid "Salable" msgstr "可销售" @@ -2072,10 +2145,10 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1164 part/admin.py:56 part/models.py:997 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 msgid "Trackable" msgstr "可追踪" @@ -2083,10 +2156,10 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1171 part/admin.py:57 part/models.py:1017 +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 msgid "Virtual" msgstr "虚拟" @@ -2118,7 +2191,7 @@ msgstr "初始库存数据" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1199 templates/js/translated/part.js:74 +#: common/models.py:1199 templates/js/translated/part.js:73 msgid "Initial Supplier Data" msgstr "初始供应商数据" @@ -2375,698 +2448,739 @@ msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1445 -msgid "Sales Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1446 -msgid "Required pattern for generating Sales Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Sales Order Default Shipment" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1453 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Edit Completed Sales Orders" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1460 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Purchase Order Reference Pattern" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1467 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Edit Completed Purchase Orders" -msgstr "编辑已完成的采购订单" +msgid "Sales Order Default Shipment" +msgstr "" #: common/models.py:1474 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1480 +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1481 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1487 +msgid "Purchase Order Reference Pattern" +msgstr "" + +#: common/models.py:1488 +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1494 +msgid "Edit Completed Purchase Orders" +msgstr "编辑已完成的采购订单" + +#: common/models.py:1495 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1502 msgid "Enable password forgot" msgstr "启用忘记密码" -#: common/models.py:1482 +#: common/models.py:1503 msgid "Enable password forgot function on the login pages" msgstr "在登录页面启用忘记密码功能" -#: common/models.py:1488 +#: common/models.py:1509 msgid "Enable registration" msgstr "启用注册" -#: common/models.py:1489 +#: common/models.py:1510 msgid "Enable self-registration for users on the login pages" msgstr "在登录页面启用注册功能" -#: common/models.py:1495 +#: common/models.py:1516 msgid "Enable SSO" msgstr "启用 SSO" -#: common/models.py:1496 +#: common/models.py:1517 msgid "Enable SSO on the login pages" msgstr "在登录页面启用 SSO" -#: common/models.py:1502 +#: common/models.py:1523 msgid "Enable SSO registration" msgstr "启用 SSO 注册" -#: common/models.py:1503 +#: common/models.py:1524 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1509 +#: common/models.py:1530 msgid "Email required" msgstr "需要邮箱" -#: common/models.py:1510 +#: common/models.py:1531 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1516 +#: common/models.py:1537 msgid "Auto-fill SSO users" msgstr "自动填充 SSO 用户" -#: common/models.py:1517 +#: common/models.py:1538 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1523 +#: common/models.py:1544 msgid "Mail twice" msgstr "" -#: common/models.py:1524 +#: common/models.py:1545 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1530 +#: common/models.py:1551 msgid "Password twice" msgstr "" -#: common/models.py:1531 +#: common/models.py:1552 msgid "On signup ask users twice for their password" msgstr "当注册时请用户两次输入密码" -#: common/models.py:1537 +#: common/models.py:1558 msgid "Allowed domains" msgstr "" -#: common/models.py:1538 +#: common/models.py:1559 msgid "Restrict signup to certain domains (comma-separated, strarting with @)" msgstr "" -#: common/models.py:1544 +#: common/models.py:1565 msgid "Group on signup" msgstr "" -#: common/models.py:1545 +#: common/models.py:1566 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1551 +#: common/models.py:1572 msgid "Enforce MFA" msgstr "强制启用 MFA" -#: common/models.py:1552 +#: common/models.py:1573 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1558 +#: common/models.py:1579 msgid "Check plugins on startup" msgstr "启动时检查插件" -#: common/models.py:1559 +#: common/models.py:1580 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1566 +#: common/models.py:1587 msgid "Check plugin signatures" msgstr "检查插件签名" -#: common/models.py:1567 +#: common/models.py:1588 msgid "Check and show signatures for plugins" msgstr "检查并显示插件的签名" -#: common/models.py:1574 +#: common/models.py:1595 msgid "Enable URL integration" msgstr "启用 URL 集成" -#: common/models.py:1575 +#: common/models.py:1596 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1582 +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1583 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1590 +#: common/models.py:1611 msgid "Enable app integration" msgstr "启用应用集成" -#: common/models.py:1591 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1598 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1599 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1606 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1607 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1614 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1615 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1621 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1622 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1631 +#: common/models.py:1652 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1632 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1649 common/models.py:2014 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1668 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1689 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "查看订阅中的部件" -#: common/models.py:1690 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "在主页上显示订阅中的部件" -#: common/models.py:1696 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "查看订阅中的类别" -#: common/models.py:1697 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "在主页上显示订阅中的部件类别" -#: common/models.py:1703 +#: common/models.py:1724 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1704 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1710 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1711 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1717 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "显示未验证的物料清单" -#: common/models.py:1718 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "在主页上显示待验证的物料清单" -#: common/models.py:1724 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "显示最近的库存变化" -#: common/models.py:1725 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1731 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1732 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1738 +#: common/models.py:1759 msgid "Show low stock" msgstr "显示低库存" -#: common/models.py:1739 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "在主页上显示低库存的项目" -#: common/models.py:1745 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1746 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1752 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1753 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1759 +#: common/models.py:1780 msgid "Show expired stock" msgstr "显示过期库存" -#: common/models.py:1760 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "在主页上显示过期的库存项目" -#: common/models.py:1766 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1767 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1773 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1774 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1780 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1781 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1787 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1788 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1794 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1795 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1801 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1802 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1808 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1809 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1815 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1816 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1822 +#: common/models.py:1843 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1823 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1829 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1830 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1836 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1837 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1843 +#: common/models.py:1864 msgid "Search Parts" msgstr "搜索部件" -#: common/models.py:1844 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1850 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "搜索供应商部件" -#: common/models.py:1851 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1857 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "搜索制造商部件" -#: common/models.py:1858 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "在搜索预览窗口中显示制造商部件" -#: common/models.py:1864 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1865 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1871 +#: common/models.py:1892 msgid "Search Categories" msgstr "搜索分类" -#: common/models.py:1872 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "在搜索预览窗口中显示部件类别" -#: common/models.py:1878 +#: common/models.py:1899 msgid "Search Stock" msgstr "搜索库存" -#: common/models.py:1879 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "在搜索预览窗口中显示库存项目" -#: common/models.py:1885 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "隐藏不可用的库存项目" -#: common/models.py:1886 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "在搜索预览窗口中排除不可用的库存项目" -#: common/models.py:1892 +#: common/models.py:1913 msgid "Search Locations" msgstr "搜索位置" -#: common/models.py:1893 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "在搜索预览窗口中显示库存位置" -#: common/models.py:1899 +#: common/models.py:1920 msgid "Search Companies" msgstr "搜索公司" -#: common/models.py:1900 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "在搜索预览窗口中显示公司" -#: common/models.py:1906 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1907 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1913 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "搜索采购订单" -#: common/models.py:1914 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1920 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "排除不活动的采购订单" -#: common/models.py:1921 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1927 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1928 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1934 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1935 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1941 -msgid "Search Preview Results" -msgstr "搜索预览结果" - -#: common/models.py:1942 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1948 -msgid "Show Quantity in Forms" -msgstr "在表格中显示数量" - -#: common/models.py:1949 -msgid "Display available part quantity in some forms" -msgstr "在某些表格中显示可用的商品数量" - -#: common/models.py:1955 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1956 -msgid "Use the escape key to close modal forms" -msgstr "" - #: common/models.py:1962 -msgid "Fixed Navbar" -msgstr "固定导航栏" +msgid "Search Return Orders" +msgstr "" #: common/models.py:1963 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:1970 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:1976 +msgid "Search Preview Results" +msgstr "搜索预览结果" + +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1983 +msgid "Show Quantity in Forms" +msgstr "在表格中显示数量" + +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "在某些表格中显示可用的商品数量" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" +msgstr "固定导航栏" + +#: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 msgid "Date Format" msgstr "日期格式" -#: common/models.py:1970 +#: common/models.py:2005 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1984 part/templates/part/detail.html:41 +#: common/models.py:2019 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1985 +#: common/models.py:2020 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1991 part/templates/part/detail.html:62 +#: common/models.py:2026 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:1992 +#: common/models.py:2027 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:1998 +#: common/models.py:2033 msgid "Table String Length" msgstr "" -#: common/models.py:1999 +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2054 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2061 company/serializers.py:407 order/models.py:1021 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1542 -#: templates/js/translated/pricing.js:603 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 +#: order/models.py:1873 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "价格" -#: common/models.py:2062 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2222 common/models.py:2400 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2223 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2232 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2237 part/admin.py:50 part/models.py:1012 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2238 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2252 +#: common/models.py:2287 msgid "Token" msgstr "令牌" -#: common/models.py:2253 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2260 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2261 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2367 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2368 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "该消息的唯一标识符" -#: common/models.py:2376 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2377 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2384 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2385 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2391 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2392 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2401 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2406 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2407 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2561 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2567 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "标题" -#: common/models.py:2577 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2582 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "作者" -#: common/models.py:2587 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "概述" -#: common/models.py:2592 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2593 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3079,7 +3193,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "有新订单被创建并分配给你" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3087,19 +3201,23 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "上传文件" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3139,7 +3257,7 @@ msgstr "公司简介" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "网站" @@ -3165,6 +3283,7 @@ msgstr "联系电话" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "电子邮件" @@ -3173,6 +3292,9 @@ msgid "Contact email address" msgstr "联系人电子邮件" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:195 msgid "Contact" msgstr "联系人" @@ -3184,11 +3306,11 @@ msgstr "" msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:140 part/models.py:906 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "图片" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "公司备注" @@ -3222,209 +3344,215 @@ msgstr "该公司使用的默认货币" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "公司" -#: company/models.py:272 company/models.py:507 stock/models.py:669 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "选择商品" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 part/serializers.py:365 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2481 -#: templates/js/translated/part.js:1464 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "制造商商品编号" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "制造商商品" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2190 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1286 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2197 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "数值" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "参数值" -#: company/models.py:396 part/admin.py:40 part/models.py:979 -#: part/models.py:3325 part/templates/part/part_base.html:287 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1292 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "单位" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:282 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 #: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2110 -#: templates/js/translated/part.js:1432 templates/js/translated/pricing.js:480 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "供应商" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:523 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:146 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2258 -#: templates/js/translated/order.js:2456 templates/js/translated/part.js:1450 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:354 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:279 part/models.py:3593 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 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:94 -#: report/templates/report/inventree_so_report_base.html:95 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:393 msgid "Note" msgstr "备注" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1908 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:695 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "打包" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1346 templates/js/translated/order.js:1601 -#: templates/js/translated/order.js:2512 templates/js/translated/order.js:2529 -#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1534 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "包装数量" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "单个包装提供的的单位数量" -#: company/models.py:564 part/models.py:1910 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "订购多个" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:185 -#: templates/js/translated/part.js:614 templates/js/translated/part.js:616 -#: templates/js/translated/part.js:621 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "空闲" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "供应商的存货数量" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3433,7 +3561,7 @@ msgid "Default currency used for this supplier" msgstr "该公司使用的默认货币" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "创建采购订单" @@ -3446,7 +3574,7 @@ msgid "Edit company information" msgstr "编辑公司信息" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "编辑公司信息" @@ -3474,14 +3602,17 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "删除图片" -#: company/templates/company/company_base.html:87 order/models.py:688 -#: order/templates/order/sales_order_base.html:116 stock/models.py:714 -#: stock/models.py:715 stock/serializers.py:796 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1669 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:125 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:3019 -#: templates/js/translated/stock.js:2772 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "客户" @@ -3494,7 +3625,7 @@ msgid "Phone" msgstr "电话" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "移除图像" @@ -3503,72 +3634,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:535 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "移除" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:564 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "上传图片" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:619 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "下载图片" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "供应商商品" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "创建新的供应商商品" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "新建供应商商品" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "订购商品" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "删除商品" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "删除商品" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "制造商商品" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "供货商库存" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3582,44 +3713,74 @@ msgstr "供货商库存" msgid "Purchase Orders" msgstr "采购订单" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "新建采购订单" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "新建采购订单" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "销售订单" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "新建销售订单" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "新建销售订单" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:236 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +msgid "Add Contact" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "供应商列表" @@ -3636,12 +3797,12 @@ msgid "Order part" msgstr "订购商品" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "编辑制造商商品" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "删除生产商商品" @@ -3669,9 +3830,9 @@ msgstr "删除供应商商品" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:314 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "删除" @@ -3693,7 +3854,7 @@ msgstr "新建参数" msgid "Delete parameters" msgstr "删除参数" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "添加参数" @@ -3710,15 +3871,20 @@ msgstr "供应商部件" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:678 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1266 templates/js/translated/stock.js:2022 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "供应商商品" @@ -3739,8 +3905,8 @@ msgstr "显示二维码" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "解绑条形码" @@ -3769,13 +3935,13 @@ msgstr "更新可用性" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "编辑供应商商品" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "复制供应商部件" @@ -3809,7 +3975,7 @@ msgstr "新建库存物品" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "新库存物品" @@ -3822,7 +3988,7 @@ msgid "Pricing Information" msgstr "价格信息" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 +#: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3840,14 +4006,14 @@ msgid "Update Part Availability" msgstr "更新部件可用性" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:982 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2631 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "库存项" @@ -3897,7 +4063,7 @@ msgstr "标签" msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:124 report/models.py:259 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "已启用" @@ -3921,7 +4087,7 @@ msgstr "高度 [mm]" msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:144 report/models.py:252 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "文件名样式" @@ -3934,7 +4100,8 @@ msgid "Query filters (comma-separated list of key=value pairs)," msgstr "查询筛选器 (逗号分隔的键值对列表)" #: label/models.py:235 label/models.py:276 label/models.py:304 -#: report/models.py:280 report/models.py:411 report/models.py:449 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "筛选器" @@ -3946,457 +4113,534 @@ msgstr "查询筛选器 (逗号分隔的键值对列表" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "商品查询筛选器 (逗号分隔的键值对列表)" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1343 order/models.py:1067 order/models.py:1151 +#: order/api.py:1448 order/models.py:1123 order/models.py:1207 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2094 templates/js/translated/part.js:1409 -#: templates/js/translated/pricing.js:772 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1347 +#: order/api.py:1452 msgid "Unknown" msgstr "未知" -#: order/models.py:86 -msgid "Order description" -msgstr "订单描述" - -#: order/models.py:88 order/models.py:1339 -msgid "Link to external page" -msgstr "链接到外部页面" - -#: order/models.py:96 -msgid "Created By" -msgstr "创建者" - -#: order/models.py:103 -msgid "User or group responsible for this order" -msgstr "负责此订单的用户或群组" - -#: order/models.py:108 -msgid "Order notes" -msgstr "订单备注" - -#: order/models.py:113 report/templates/report/inventree_po_report_base.html:93 -#: report/templates/report/inventree_so_report_base.html:94 -#: templates/js/translated/order.js:2553 templates/js/translated/order.js:2745 -#: templates/js/translated/order.js:4081 templates/js/translated/order.js:4564 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1723 msgid "Total Price" msgstr "" -#: order/models.py:114 +#: order/models.py:67 msgid "Total price for this order" msgstr "" -#: order/models.py:260 order/models.py:675 -msgid "Order reference" +#: order/models.py:177 +msgid "Contact does not match selected company" msgstr "" -#: order/models.py:268 order/models.py:693 -msgid "Purchase order status" -msgstr "" +#: order/models.py:199 +msgid "Order description" +msgstr "订单描述" -#: order/models.py:283 -msgid "Company from which the items are being ordered" -msgstr "订购该商品的公司" +#: order/models.py:201 order/models.py:1395 order/models.py:1877 +msgid "Link to external page" +msgstr "链接到外部页面" -#: order/models.py:286 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2119 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:286 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:293 -msgid "received by" -msgstr "接收方" - -#: order/models.py:298 -msgid "Issue Date" -msgstr "签发日期" - -#: order/models.py:299 -msgid "Date order was issued" -msgstr "订单签发日期" - -#: order/models.py:304 -msgid "Target Delivery Date" -msgstr "目标交付日期" - -#: order/models.py:305 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "预期订单交付日期。超过该日期后订单将逾期。" -#: order/models.py:311 +#: order/models.py:215 +msgid "Created By" +msgstr "创建者" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "负责此订单的用户或群组" + +#: order/models.py:232 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:236 +msgid "Order notes" +msgstr "订单备注" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "订购该商品的公司" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "接收方" + +#: order/models.py:370 order/models.py:1692 +msgid "Issue Date" +msgstr "签发日期" + +#: order/models.py:371 order/models.py:1693 +msgid "Date order was issued" +msgstr "订单签发日期" + +#: order/models.py:377 order/models.py:1699 msgid "Date order was completed" msgstr "订单完成日期" -#: order/models.py:350 +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:509 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:689 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1686 msgid "Customer Reference " msgstr "" -#: order/models.py:700 +#: order/models.py:756 order/models.py:1687 msgid "Customer order reference code" msgstr "" -#: order/models.py:705 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:708 order/models.py:1297 -#: templates/js/translated/order.js:3066 templates/js/translated/order.js:3240 +#: order/models.py:758 order/models.py:1353 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:929 msgid "Shipment Date" msgstr "发货日期" -#: order/models.py:715 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:770 +#: order/models.py:814 msgid "Order cannot be completed as no parts have been assigned" msgstr "尚未分配部件,因此订单无法完成" -#: order/models.py:774 +#: order/models.py:818 msgid "Only a pending order can be marked as complete" msgstr "只有带完成订单可被标记为完成" -#: order/models.py:777 templates/js/translated/order.js:424 +#: order/models.py:821 templates/js/translated/sales_order.js:438 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:780 +#: order/models.py:824 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:975 +#: order/models.py:1031 msgid "Item quantity" msgstr "物品数量" -#: order/models.py:988 +#: order/models.py:1044 msgid "Line item reference" msgstr "" -#: order/models.py:990 +#: order/models.py:1046 msgid "Line item notes" msgstr "" -#: order/models.py:995 +#: order/models.py:1051 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1012 +#: order/models.py:1068 msgid "Context" msgstr "" -#: order/models.py:1013 +#: order/models.py:1069 msgid "Additional context for this line" msgstr "" -#: order/models.py:1022 +#: order/models.py:1078 msgid "Unit price" msgstr "单价" -#: order/models.py:1052 +#: order/models.py:1108 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1060 +#: order/models.py:1116 msgid "deleted" msgstr "" -#: order/models.py:1066 order/models.py:1151 order/models.py:1192 -#: order/models.py:1291 order/models.py:1423 -#: templates/js/translated/order.js:3696 +#: order/models.py:1122 order/models.py:1207 order/models.py:1248 +#: order/models.py:1347 order/models.py:1482 order/models.py:1842 +#: order/models.py:1891 templates/js/translated/sales_order.js:1380 msgid "Order" msgstr "" -#: order/models.py:1085 +#: order/models.py:1141 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1092 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1772 templates/js/translated/order.js:2597 -#: templates/js/translated/part.js:1526 templates/js/translated/part.js:1558 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1148 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1093 +#: order/models.py:1149 msgid "Number of items received" msgstr "" -#: order/models.py:1100 stock/models.py:811 stock/serializers.py:229 +#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1101 +#: order/models.py:1157 msgid "Unit purchase price" msgstr "" -#: order/models.py:1114 +#: order/models.py:1170 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1180 +#: order/models.py:1236 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1185 +#: order/models.py:1241 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1211 part/templates/part/part_pricing.html:107 +#: order/models.py:1267 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1212 +#: order/models.py:1268 msgid "Unit sale price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1278 msgid "Shipped quantity" msgstr "" -#: order/models.py:1298 +#: order/models.py:1354 msgid "Date of shipment" msgstr "" -#: order/models.py:1305 +#: order/models.py:1361 msgid "Checked By" msgstr "" -#: order/models.py:1306 +#: order/models.py:1362 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1313 order/models.py:1498 order/serializers.py:1200 -#: order/serializers.py:1328 templates/js/translated/model_renderers.js:369 +#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 +#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1314 +#: order/models.py:1370 msgid "Shipment number" msgstr "" -#: order/models.py:1318 +#: order/models.py:1374 msgid "Shipment notes" msgstr "" -#: order/models.py:1324 +#: order/models.py:1380 msgid "Tracking Number" msgstr "" -#: order/models.py:1325 +#: order/models.py:1381 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1332 +#: order/models.py:1388 msgid "Invoice Number" msgstr "" -#: order/models.py:1333 +#: order/models.py:1389 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1351 +#: order/models.py:1407 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1354 +#: order/models.py:1410 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1457 order/models.py:1459 +#: order/models.py:1517 order/models.py:1519 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1463 +#: order/models.py:1523 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1465 +#: order/models.py:1525 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1468 +#: order/models.py:1528 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1478 order/serializers.py:1062 +#: order/models.py:1538 order/serializers.py:1077 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1481 +#: order/models.py:1541 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1482 +#: order/models.py:1542 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1490 +#: order/models.py:1550 msgid "Line" msgstr "" -#: order/models.py:1499 +#: order/models.py:1559 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1512 +#: order/models.py:1572 order/models.py:1850 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "物品" -#: order/models.py:1513 +#: order/models.py:1573 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1516 +#: order/models.py:1576 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:192 +#: order/models.py:1656 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:1670 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:1681 +msgid "Return order status" +msgstr "" + +#: order/models.py:1835 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1843 order/models.py:1891 +#: 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:239 +#: templates/js/translated/stock.js:2720 +msgid "Return Order" +msgstr "" + +#: order/models.py:1851 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:1856 +msgid "Received Date" +msgstr "" + +#: order/models.py:1857 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1868 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1874 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:207 order/serializers.py:1080 +#: order/serializers.py:238 order/serializers.py:1095 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:218 order/serializers.py:1091 +#: order/serializers.py:249 order/serializers.py:1106 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:330 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:348 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:371 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:377 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:378 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:416 order/serializers.py:1168 +#: order/serializers.py:447 order/serializers.py:1183 msgid "Line Item" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:432 order/serializers.py:551 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:451 templates/js/translated/order.js:1628 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:459 templates/js/translated/order.js:1639 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:473 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:513 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:598 order/serializers.py:1569 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:905 +#: order/serializers.py:920 msgid "Sale price currency" msgstr "" -#: order/serializers.py:960 +#: order/serializers.py:975 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1023 order/serializers.py:1177 +#: order/serializers.py:1038 order/serializers.py:1192 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1045 +#: order/serializers.py:1060 msgid "Quantity must be positive" msgstr "数量必须大于0" -#: order/serializers.py:1190 +#: order/serializers.py:1205 msgid "Enter serial numbers to allocate" msgstr "输入序列号以进行分配" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1227 order/serializers.py:1351 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1215 order/serializers.py:1339 +#: order/serializers.py:1230 order/serializers.py:1354 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1269 +#: order/serializers.py:1284 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1279 +#: order/serializers.py:1294 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1520 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1527 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1530 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1562 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1642 +msgid "Line price currency" +msgstr "" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "超时采购订单" @@ -4420,22 +4664,26 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "编辑订单" #: order/templates/order/order_base.html:50 -#: order/templates/order/sales_order_base.html:61 +#: order/templates/order/return_order_base.html:61 +#: order/templates/order/sales_order_base.html:60 msgid "Cancel order" msgstr "取消订单" @@ -4453,61 +4701,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "标记订单为完成" -#: order/templates/order/order_base.html:71 -#: order/templates/order/sales_order_base.html:68 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 +#: order/templates/order/sales_order_base.html:76 msgid "Complete Order" msgstr "完成订单" -#: order/templates/order/order_base.html:93 -#: order/templates/order/sales_order_base.html:80 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:85 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 +#: order/templates/order/sales_order_base.html:94 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 -#: order/templates/order/sales_order_base.html:90 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 +#: order/templates/order/sales_order_base.html:99 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 -#: order/templates/order/sales_order_base.html:129 +#: order/templates/order/order_base.html:138 +#: order/templates/order/sales_order_base.html:138 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 -#: order/templates/order/sales_order_base.html:135 -#: order/templates/order/sales_order_base.html:145 +#: order/templates/order/order_base.html:144 +#: order/templates/order/sales_order_base.html:144 +#: order/templates/order/sales_order_base.html:154 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:213 msgid "Total cost could not be calculated" msgstr "" @@ -4560,11 +4813,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1211 templates/js/translated/order.js:1717 -#: templates/js/translated/order.js:3315 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "移除行" @@ -4606,9 +4861,11 @@ msgid "Step %(step)s of %(count)s" msgstr "步骤 %(step)s / %(count)s" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:84 -#: report/templates/report/inventree_so_report_base.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4621,77 +4878,107 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:176 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 msgid "Delete Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:66 +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:255 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +msgid "Print return order report" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" -msgstr "打印订单报表" +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 +#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:67 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:132 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:732 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:209 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:778 +msgid "Total Cost" +msgstr "总成本" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" +msgstr "" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" +#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:72 +msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 -msgid "Complete Shipments" -msgstr "" - -#: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: order/templates/order/sales_order_base.html:75 +#: templates/js/translated/sales_order.js:416 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:103 +#: order/templates/order/sales_order_base.html:112 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:3032 -msgid "Customer Reference" -msgstr "" - -#: order/templates/order/sales_order_base.html:141 +#: order/templates/order/sales_order_base.html:150 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" @@ -4707,8 +4994,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "操作" @@ -4716,34 +5003,34 @@ msgstr "操作" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "未找到价格" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3459 part/tasks.py:283 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3463 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "部件名称" @@ -4752,19 +5039,19 @@ msgstr "部件名称" msgid "Part Description" msgstr "部件描述" -#: part/admin.py:36 part/models.py:881 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1157 templates/js/translated/part.js:1886 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:888 part/templates/part/part_base.html:280 -#: report/models.py:172 templates/js/translated/part.js:1162 -#: templates/js/translated/part.js:1892 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "版本号" -#: part/admin.py:38 part/admin.py:198 part/models.py:867 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 #: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "关键词" @@ -4785,20 +5072,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:972 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "最低库存" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "有库存" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:631 templates/js/translated/part.js:1778 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "订购中" @@ -4806,22 +5093,22 @@ msgstr "订购中" msgid "Used In" msgstr "用于" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4160 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1802 msgid "Allocated" msgstr "已分配" #: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 -#: templates/js/translated/part.js:636 templates/js/translated/part.js:1782 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:887 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:897 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" @@ -4838,13 +5125,13 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:202 part/models.py:384 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2423 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" @@ -4861,7 +5148,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3467 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" @@ -4875,35 +5162,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:504 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:524 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:542 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:628 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:776 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:777 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:783 msgid "This option must be selected" msgstr "必须选择此项" -#: part/bom.py:175 part/models.py:122 part/models.py:915 +#: part/bom.py:175 part/models.py:121 part/models.py:914 #: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "默认仓储地点" @@ -4913,7 +5200,7 @@ msgid "Total Stock" msgstr "总库存" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4127 +#: templates/js/translated/sales_order.js:1769 msgid "Available Stock" msgstr "可用库存" @@ -4921,664 +5208,665 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "输入数量以计算价格" -#: part/models.py:72 part/models.py:3408 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:73 part/templates/part/category.html:135 +#: part/models.py:72 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:123 +#: part/models.py:122 msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:128 stock/models.py:119 templates/js/translated/stock.js:2637 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" -#: part/models.py:130 +#: part/models.py:129 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords" msgstr "" -#: part/models.py:134 +#: part/models.py:133 msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:139 stock/models.py:108 +#: part/models.py:138 stock/models.py:108 msgid "Icon" msgstr "图标" -#: part/models.py:140 stock/models.py:109 +#: part/models.py:139 stock/models.py:109 msgid "Icon (optional)" msgstr "图标(可选)" -#: part/models.py:159 +#: part/models.py:158 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:467 +#: part/models.py:466 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:509 part/models.py:521 +#: part/models.py:508 part/models.py:520 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:593 +#: part/models.py:592 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:664 +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:795 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:800 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:814 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:838 part/models.py:3464 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "商品名称" -#: part/models.py:844 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:845 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:855 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:856 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:862 +#: part/models.py:861 msgid "Part description" msgstr "商品描述" -#: part/models.py:868 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:875 part/models.py:3170 part/models.py:3407 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 #: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1916 templates/js/translated/part.js:2128 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "类别" -#: part/models.py:876 +#: part/models.py:875 msgid "Part category" msgstr "商品类别" -#: part/models.py:882 +#: part/models.py:881 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:887 +#: part/models.py:886 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:913 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:958 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:959 +#: part/models.py:958 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:966 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:967 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:973 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "允许的最小库存量" -#: part/models.py:980 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "该部件的计量单位" -#: part/models.py:986 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:992 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1013 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1020 +#: part/models.py:1019 msgid "Part notes" msgstr "部件注释" -#: part/models.py:1022 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:1022 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1025 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:1027 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:1031 +#: part/models.py:1030 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1033 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:1037 part/templates/part/part_base.html:348 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:1978 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1910 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2825 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2842 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2843 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2848 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2849 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2854 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "最低购买成本" -#: part/models.py:2855 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "最大购买成本" -#: part/models.py:2861 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:2866 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "最低内部价格" -#: part/models.py:2867 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2872 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "最大内部价格" -#: part/models.py:2873 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2878 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2879 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2884 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2885 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2890 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2891 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2896 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2897 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2903 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2909 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2914 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2915 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2920 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2921 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2926 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2927 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2933 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2952 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2957 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2958 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2965 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2969 part/models.py:3052 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2136 templates/js/translated/part.js:1007 -#: templates/js/translated/pricing.js:794 -#: templates/js/translated/pricing.js:915 templates/js/translated/stock.js:2681 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "日期" -#: part/models.py:2970 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2978 +#: part/models.py:2990 msgid "Additional notes" msgstr "附加注释" -#: part/models.py:2986 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2991 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2992 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2997 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3059 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "报告" -#: part/models.py:3060 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3065 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3066 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3074 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3227 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3247 templates/js/translated/part.js:2496 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3248 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3253 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3254 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3259 templates/js/translated/part.js:2505 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3260 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3265 templates/js/translated/part.js:2513 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3266 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3271 templates/js/translated/part.js:2520 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3272 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3313 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3325 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3330 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3363 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3365 part/models.py:3413 part/models.py:3414 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3367 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3418 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "默认值" -#: part/models.py:3419 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3456 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3460 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3468 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3471 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3472 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3564 +#: part/models.py:3576 msgid "Sub part" msgstr "子部件" -#: part/models.py:3565 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3571 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3575 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "可选项" -#: part/models.py:3576 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3581 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3582 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3586 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3587 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3590 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3593 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3597 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3602 templates/js/translated/table_filters.js:72 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 msgid "Validated" msgstr "" -#: part/models.py:3603 +#: part/models.py:3615 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3608 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3609 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3614 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3615 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3701 stock/models.py:571 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3710 part/models.py:3712 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3828 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3849 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3862 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3870 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3885 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3889 +#: part/models.py:3901 msgid "Select Related Part" msgstr "选择相关的部件" -#: part/models.py:3907 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3911 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" @@ -5663,7 +5951,7 @@ msgid "Supplier part matching this SKU already exists" msgstr "" #: part/serializers.py:621 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:393 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "复制部件" @@ -5671,7 +5959,7 @@ msgstr "复制部件" msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:626 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" @@ -5816,9 +6104,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2512 -#: templates/js/translated/part.js:988 templates/js/translated/part.js:1482 -#: templates/js/translated/part.js:1534 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "总数量" @@ -5901,7 +6189,7 @@ msgstr "删除类别" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "子类别" @@ -5931,23 +6219,19 @@ msgstr "设置类别" msgid "Set Category" msgstr "设置类别" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "打印标签" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "商品参数" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "新建商品类别" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "新建分类" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "创建商品类别" @@ -5984,7 +6268,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5995,7 +6279,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1958 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6093,15 +6377,15 @@ msgstr "商品制造商" msgid "Delete manufacturer parts" msgstr "删除制造商商品" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6136,13 +6420,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1087 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "格式" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1088 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6232,15 +6516,15 @@ msgid "Part is virtual (not a physical part)" msgstr "商品是虚拟的(不是实体零件)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:253 -#: templates/js/translated/part.js:736 templates/js/translated/part.js:1149 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:687 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6259,7 +6543,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" @@ -6267,8 +6551,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1195 templates/js/translated/part.js:1951 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" @@ -6291,19 +6575,19 @@ msgstr "商品二维码" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:516 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:533 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:585 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:681 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" @@ -6319,15 +6603,6 @@ msgstr "" msgid "Unit Cost" msgstr "单位成本" -#: part/templates/part/part_pricing.html:32 -#: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:99 -#: part/templates/part/part_pricing.html:114 -#: templates/js/translated/order.js:2157 templates/js/translated/order.js:3078 -#: templates/js/translated/part.js:994 -msgid "Total Cost" -msgstr "总成本" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6370,9 +6645,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1173 templates/js/translated/part.js:1775 -#: templates/js/translated/part.js:1931 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -6403,9 +6678,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "最后更新" @@ -6468,8 +6743,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:1770 templates/js/translated/part.js:1772 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "无库存" @@ -6795,87 +7070,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:154 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:167 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:253 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:260 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:281 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:289 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:290 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:337 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:338 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:377 +#: report/models.py:409 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:378 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:412 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:450 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:502 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:507 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:544 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:545 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:552 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6887,75 +7166,90 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:92 -#: report/templates/report/inventree_so_report_base.html:93 -#: templates/js/translated/order.js:2543 templates/js/translated/order.js:2735 -#: templates/js/translated/order.js:4071 templates/js/translated/order.js:4554 -#: templates/js/translated/pricing.js:509 +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1713 msgid "Unit Price" msgstr "单价" -#: report/templates/report/inventree_po_report_base.html:117 -#: report/templates/report/inventree_so_report_base.html:118 +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 msgid "Extra Line Items" msgstr "" -#: report/templates/report/inventree_po_report_base.html:134 -#: report/templates/report/inventree_so_report_base.html:135 -#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4046 +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:1855 +#: templates/js/translated/sales_order.js:1688 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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:251 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "序列号" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:719 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:181 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3815 -#: templates/js/translated/order.js:3902 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "序列号" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2178 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2185 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2184 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2191 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2930 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" @@ -6996,7 +7290,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:702 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" @@ -7021,29 +7315,29 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:775 +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:416 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:577 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:584 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:609 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:686 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7055,12 +7349,12 @@ msgstr "仓储地点" msgid "Stock Locations" msgstr "仓储地点" -#: stock/models.py:113 stock/models.py:816 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:817 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -7068,8 +7362,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2646 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -7081,218 +7375,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:577 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:594 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:604 stock/models.py:613 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:605 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:627 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:633 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:647 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:661 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:679 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:689 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:696 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:705 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:721 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:735 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:740 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:747 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:749 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:760 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:763 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:769 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:776 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:791 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:804 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:812 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:840 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1337 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1343 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1349 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1352 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1355 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1362 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1425 +#: stock/models.py:1432 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1435 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1431 +#: stock/models.py:1438 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1434 +#: stock/models.py:1441 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1437 +#: stock/models.py:1444 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1440 +#: stock/models.py:1447 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1447 stock/serializers.py:946 +#: stock/models.py:1454 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1451 +#: stock/models.py:1458 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1455 +#: stock/models.py:1462 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1459 +#: stock/models.py:1466 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1635 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2096 +#: stock/models.py:2103 msgid "Entry notes" msgstr "" -#: stock/models.py:2154 +#: stock/models.py:2161 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2167 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2179 +#: stock/models.py:2186 msgid "Test name" msgstr "" -#: stock/models.py:2185 +#: stock/models.py:2192 msgid "Test result" msgstr "" -#: stock/models.py:2191 +#: stock/models.py:2198 msgid "Test output value" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2205 msgid "Test result attachment" msgstr "" -#: stock/models.py:2204 +#: stock/models.py:2211 msgid "Test notes" msgstr "" @@ -7446,7 +7740,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:300 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7458,15 +7752,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3079 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:317 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7488,15 +7782,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7505,11 +7799,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7611,7 +7905,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "未设置仓储地点" @@ -7625,7 +7919,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7635,7 +7929,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7643,35 +7937,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "警告" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7745,15 +8039,15 @@ msgstr "新建仓储地点" msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7790,7 +8084,7 @@ msgid "You have been logged out from InvenTree." msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 -#: templates/navbar.html:142 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7933,7 +8227,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7989,7 +8283,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "设置" @@ -8040,7 +8334,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -8049,7 +8343,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8193,6 +8487,10 @@ msgstr "从不" msgid "Report Settings" msgstr "报表设置" +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "未设置值" @@ -8257,15 +8555,15 @@ msgstr "ID" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8287,7 +8585,7 @@ msgid "Home Page" msgstr "主页" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:538 templates/navbar.html:102 +#: templates/js/translated/tables.js:553 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8333,7 +8631,7 @@ msgid "Change Password" msgstr "更改密码" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "编辑" @@ -8791,11 +9089,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "添加附件" @@ -8803,19 +9101,19 @@ msgstr "添加附件" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8825,6 +9123,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8846,7 +9145,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8860,75 +9159,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2819 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8944,126 +9243,126 @@ msgstr "编辑附件" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "输入条形码数据" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "条形码" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "扫描条形码" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -9082,7 +9381,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1310 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9187,74 +9486,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4141 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1783 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1187 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9262,15 +9561,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9314,13 +9613,13 @@ msgstr "生产订单未完成" msgid "Complete Build Order" msgstr "生产订单完成" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9356,373 +9655,430 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "未指定仓储地点" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3850 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1528 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3851 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1529 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4148 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1790 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4146 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1788 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4240 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1879 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4233 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1873 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:3377 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1065 msgid "Select Parts" msgstr "选择商品" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3378 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1066 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3326 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:1014 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3392 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1080 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3489 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1177 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3566 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1254 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1861 -#: templates/js/translated/part.js:2361 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2860 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "没有用户信息" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "添加制造商" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "添加制造商商品" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "编辑制造商商品" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "添加供应商" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:938 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "添加供应商商品" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "增加新的公司信息" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "未找到该公司信息" -#: templates/js/translated/company.js:582 -msgid "All selected manufacturer parts will be deleted" +#: templates/js/translated/company.js:587 +msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:597 -msgid "Delete Manufacturer Parts" -msgstr "删除制造商商品" +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +msgid "Edit Contact" +msgstr "" -#: templates/js/translated/company.js:631 -msgid "All selected parameters will be deleted" +#: templates/js/translated/company.js:639 +msgid "All selected contacts will be deleted" msgstr "" #: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:684 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:697 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:703 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:729 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:803 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:818 +msgid "Delete Manufacturer Parts" +msgstr "删除制造商商品" + +#: templates/js/translated/company.js:852 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "删除参数" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:720 -#: templates/js/translated/part.js:1141 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:724 -#: templates/js/translated/part.js:1145 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1267 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1309 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1310 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1327 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1339 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "删除参数" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "未找到供应商商品" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "编辑供应商商品" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "删除供应商商品" -#: templates/js/translated/company.js:1171 +#: templates/js/translated/company.js:1367 #: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 +#: templates/js/translated/company.js:1377 #: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "选择筛选项" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +msgid "Print reports for selected items" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" +#: templates/js/translated/filters.js:324 +msgid "Print labels for selected items" msgstr "" -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:333 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" @@ -9755,105 +10111,83 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1335 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1789 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2005 templates/js/translated/search.js:254 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2210 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2666 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2678 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "选择库存项" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "打印标签前必须选择库存项目" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "未找到标签" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "没有找到与选定的库存项匹配的标签" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "选择仓储地点" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "打印标签前必须选择仓储地点" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "没有找到匹配选定库存地点的标签" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "打印标签前必须选择商品" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "没有找到与所选商品相匹配的标签" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "已选择库存项" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "选择标签模板" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:167 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "未找到标签" + +#: templates/js/translated/label.js:184 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9941,721 +10275,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1084 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1135 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1160 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1169 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1187 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1220 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1364 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1383 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1561 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1581 templates/js/translated/order.js:1694 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1587 templates/js/translated/order.js:1705 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1602 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1613 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1677 templates/js/translated/stock.js:2331 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1770 -msgid "Order Code" -msgstr "订单编码" - -#: templates/js/translated/order.js:1771 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1773 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1797 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2075 templates/js/translated/part.js:1380 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3009 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2152 templates/js/translated/order.js:3074 -#: templates/js/translated/order.js:3227 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2251 -msgid "All selected Line items will be deleted" -msgstr "" - -#: templates/js/translated/order.js:2269 -msgid "Delete selected Line items?" -msgstr "" - -#: templates/js/translated/order.js:2338 templates/js/translated/order.js:4292 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2355 templates/js/translated/order.js:4307 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2368 templates/js/translated/order.js:4318 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2418 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2581 templates/js/translated/order.js:4109 -#: templates/js/translated/part.js:1518 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2640 templates/js/translated/part.js:1563 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4246 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2645 templates/js/translated/order.js:4247 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2646 templates/js/translated/order.js:4251 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2780 templates/js/translated/order.js:4598 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2781 templates/js/translated/order.js:4599 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2782 templates/js/translated/order.js:4600 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2812 templates/js/translated/order.js:4629 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2827 templates/js/translated/order.js:4644 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2838 templates/js/translated/order.js:4655 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2849 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2960 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:3023 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3132 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3135 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3140 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3160 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3177 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3212 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3222 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3246 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3252 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3256 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3425 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3476 -msgid "Confirm stock allocation" -msgstr "确认库存分配" - -#: templates/js/translated/order.js:3477 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3685 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3764 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3781 -msgid "Confirm Delete Operation" -msgstr "确认删除操作" - -#: templates/js/translated/order.js:3782 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3827 templates/js/translated/order.js:3916 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3835 templates/js/translated/order.js:3925 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4230 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4236 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4243 templates/js/translated/order.js:4434 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4255 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4258 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4333 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4442 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4456 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4666 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "商品属性" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "商品创建选项" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "商品重复选项" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:276 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:292 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "编辑商品类别" -#: templates/js/translated/part.js:305 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:310 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:319 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "删除商品类别" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:328 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:352 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "创建商品" -#: templates/js/translated/part.js:354 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:355 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:383 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:385 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:396 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:454 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:468 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:470 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:471 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:479 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:541 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:554 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:579 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:607 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:670 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:693 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:712 templates/js/translated/part.js:1133 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/part.js:716 templates/js/translated/part.js:1137 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:728 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:732 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:815 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:819 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:972 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1030 templates/js/translated/part.js:1068 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1080 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1212 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1633 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1751 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1657 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1724 templates/js/translated/part.js:2013 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "找不到部件" -#: templates/js/translated/part.js:1923 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:2037 templates/js/translated/part.js:2280 -#: templates/js/translated/stock.js:2534 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "以列表显示" -#: templates/js/translated/part.js:2053 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "以网格显示" -#: templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2124 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2142 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2300 templates/js/translated/stock.js:2554 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "以树形图显示" -#: templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2396 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2533 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "编辑测试结果" -#: templates/js/translated/part.js:2534 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "删除测试结果" -#: templates/js/translated/part.js:2540 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2556 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2570 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2651 templates/js/translated/part.js:2652 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "无指定日期" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "指定的日期已过" -#: templates/js/translated/part.js:2660 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2710 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2716 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "最大数量" -#: templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10713,803 +10690,1209 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:432 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:446 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "订单编码" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:709 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:916 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1694 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1933 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1946 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1957 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1887 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1888 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1894 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "在打印报表之前必须选择库存项目" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "没有找到报表" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:53 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "打印报表前必须选择Build(s)" - -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:89 +msgid "Create Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "打印报表前必须选择商品" - -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:141 +msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:148 +msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/return_order.js:173 +msgid "Complete Return Order" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:221 +msgid "No return orders found" msgstr "" -#: templates/js/translated/search.js:285 +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:723 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" +msgstr "" + +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2093 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:103 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:118 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:227 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:232 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:272 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:292 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:348 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:352 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:362 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:384 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:445 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:467 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:472 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:491 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:496 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:550 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:660 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:828 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:831 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:836 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:853 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:868 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:901 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:935 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:941 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:945 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1113 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1164 +msgid "Confirm stock allocation" +msgstr "确认库存分配" + +#: templates/js/translated/sales_order.js:1165 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1369 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1448 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1462 +msgid "Confirm Delete Operation" +msgstr "确认删除操作" + +#: templates/js/translated/sales_order.js:1463 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1505 +#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1601 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1871 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1875 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1884 +#: templates/js/translated/sales_order.js:2071 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1898 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1901 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1972 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2079 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 msgid "No results" msgstr "" -#: templates/js/translated/search.js:307 templates/search.html:25 +#: templates/js/translated/search.js:320 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "result" msgstr "" -#: templates/js/translated/search.js:357 +#: templates/js/translated/search.js:370 msgid "results" msgstr "" -#: templates/js/translated/search.js:367 +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "编辑仓储地点" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "新仓储地点" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "确实要删除此仓储地点吗?" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "删除仓储地点" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "库存项重复" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "复制库存项" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "确定要删除此库存项吗?" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "删除库存项" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "编辑库存项" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "新建库存项" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "查找序列号" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "输入序列号" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "输入序列号" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "没有匹配的序列号" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "找到多个匹配结果" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "转移库存" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "添加库存" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "添加" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "删除库存" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "选择库存项" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2084 +#: templates/js/translated/stock.js:2052 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2346 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2361 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2593 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2722 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2744 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2763 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2782 +#: templates/js/translated/stock.js:2712 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2907 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2958 templates/js/translated/stock.js:2994 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3012 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3037 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3039 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "可追溯商品" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "正在生产" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "显示正在生产的项目" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "生产状态" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "可追溯商品" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "正在生产" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "显示正在生产的项目" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "生产状态" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "显示日历" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "列表视图" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11521,19 +11904,19 @@ msgstr "采购" msgid "Sell" msgstr "销售" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "管理员" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11679,55 +12062,51 @@ msgstr "电子邮件设置未配置" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "打印测试报表" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11747,51 +12126,51 @@ msgstr "用户" msgid "Select which users are assigned to this group" msgstr "选择分配给该组的用户" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "以下用户是多个群组的成员:" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "个人资料" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "权限" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "重要日期" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "权限设置" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "群组" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "视图" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "更改" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "删除项目权限" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 7426ee0ecd..0d7067f521 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-03-01 21:26+0000\n" +"POT-Creation-Date: 2023-03-29 08:09+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -17,10 +17,14 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:61 +#: InvenTree/api.py:63 msgid "API endpoint not found" msgstr "未找到 API 端点" +#: InvenTree/api.py:308 +msgid "User does not have permission to view this model" +msgstr "" + #: InvenTree/exceptions.py:79 msgid "Error details can be found in the admin panel" msgstr "在管理面板中可以找到错误详细信息" @@ -30,22 +34,25 @@ msgid "Enter date" msgstr "输入日期" #: InvenTree/fields.py:204 build/serializers.py:389 -#: build/templates/build/sidebar.html:21 company/models.py:549 -#: company/templates/company/sidebar.html:25 order/models.py:946 +#: build/templates/build/sidebar.html:21 company/models.py:554 +#: company/templates/company/sidebar.html:35 order/models.py:1029 #: 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:2919 part/templates/part/part_sidebar.html:63 +#: part/models.py:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202 -#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529 -#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039 +#: stock/admin.py:121 stock/models.py:2100 stock/models.py:2208 +#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 +#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219 -#: templates/js/translated/company.js:1077 -#: templates/js/translated/order.js:2532 templates/js/translated/order.js:2664 -#: templates/js/translated/order.js:3157 templates/js/translated/order.js:4099 -#: templates/js/translated/order.js:4472 templates/js/translated/part.js:973 -#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2074 +#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/part.js:997 +#: templates/js/translated/purchase_order.js:2038 +#: templates/js/translated/return_order.js:715 +#: templates/js/translated/sales_order.js:937 +#: templates/js/translated/sales_order.js:1843 +#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "备注" @@ -98,75 +105,75 @@ msgstr "所提供的主要电子邮件地址无效。" msgid "The provided email domain is not approved." msgstr "提供的电子邮件域未被核准。" -#: InvenTree/helpers.py:166 +#: InvenTree/helpers.py:168 msgid "Connection error" msgstr "连接错误" -#: InvenTree/helpers.py:170 InvenTree/helpers.py:175 +#: InvenTree/helpers.py:172 InvenTree/helpers.py:177 msgid "Server responded with invalid status code" msgstr "服务器响应状态码无效" -#: InvenTree/helpers.py:172 +#: InvenTree/helpers.py:174 msgid "Exception occurred" msgstr "发生异常" -#: InvenTree/helpers.py:180 +#: InvenTree/helpers.py:182 msgid "Server responded with invalid Content-Length value" msgstr "服务器响应的内容长度值无效" -#: InvenTree/helpers.py:183 +#: InvenTree/helpers.py:185 msgid "Image size is too large" msgstr "图片尺寸过大" -#: InvenTree/helpers.py:195 +#: InvenTree/helpers.py:197 msgid "Image download exceeded maximum size" msgstr "图像下载超过最大尺寸" -#: InvenTree/helpers.py:200 +#: InvenTree/helpers.py:202 msgid "Remote server returned empty response" msgstr "远程服务器返回了空响应" -#: InvenTree/helpers.py:208 +#: InvenTree/helpers.py:210 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" -#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495 +#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 msgid "Invalid quantity provided" msgstr "提供的数量无效" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:610 msgid "Empty serial number string" msgstr "空序列号字符串" -#: InvenTree/helpers.py:635 +#: InvenTree/helpers.py:640 msgid "Duplicate serial" msgstr "重复的序列号" -#: InvenTree/helpers.py:668 InvenTree/helpers.py:703 +#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 #, python-brace-format msgid "Invalid group range: {g}" msgstr "无效的组范围: {g}" -#: InvenTree/helpers.py:697 +#: InvenTree/helpers.py:702 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "组 {g} 超出了允许的数量 ({q})" -#: InvenTree/helpers.py:721 InvenTree/helpers.py:728 InvenTree/helpers.py:743 +#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "无效的组序列: {g}" -#: InvenTree/helpers.py:753 +#: InvenTree/helpers.py:758 msgid "No serial numbers found" msgstr "未找到序列号" -#: InvenTree/helpers.py:756 +#: InvenTree/helpers.py:761 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" -#: InvenTree/helpers.py:955 +#: InvenTree/helpers.py:960 msgid "Remove HTML tags from this value" msgstr "从这个值中删除 HTML 标签" @@ -202,8 +209,8 @@ msgstr "缺少文件" msgid "Missing external link" msgstr "缺少外部链接" -#: InvenTree/models.py:409 stock/models.py:2196 -#: templates/js/translated/attachment.js:110 +#: InvenTree/models.py:409 stock/models.py:2202 +#: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" msgstr "附件" @@ -212,23 +219,24 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:416 common/models.py:2542 company/models.py:129 -#: company/models.py:300 company/models.py:536 order/models.py:84 -#: order/models.py:1284 part/admin.py:39 part/models.py:835 -#: part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:201 +#: order/models.py:1377 order/models.py:1856 part/admin.py:39 +#: part/models.py:892 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:119 templates/js/translated/company.js:746 -#: templates/js/translated/company.js:1066 -#: templates/js/translated/order.js:3146 templates/js/translated/part.js:1990 +#: stock/admin.py:120 templates/js/translated/company.js:962 +#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1878 +#: templates/js/translated/sales_order.js:926 msgid "Link" msgstr "链接" -#: InvenTree/models.py:417 build/models.py:291 part/models.py:836 -#: stock/models.py:728 +#: InvenTree/models.py:417 build/models.py:293 part/models.py:893 +#: stock/models.py:727 msgid "Link to external URL" msgstr "链接到外部 URL" -#: InvenTree/models.py:420 templates/js/translated/attachment.js:111 +#: InvenTree/models.py:420 templates/js/translated/attachment.js:110 #: templates/js/translated/attachment.js:311 msgid "Comment" msgstr "注释" @@ -237,13 +245,13 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1991 -#: common/models.py:1992 common/models.py:2215 common/models.py:2216 -#: common/models.py:2472 common/models.py:2473 part/models.py:2927 -#: part/models.py:3015 part/models.py:3094 part/models.py:3114 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 +#: common/models.py:2057 common/models.py:2280 common/models.py:2281 +#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 -#: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2761 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:2815 msgid "User" msgstr "用户" @@ -284,47 +292,52 @@ msgstr "" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2201 -#: company/models.py:382 label/models.py:101 part/models.py:779 -#: part/models.py:3262 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: company/models.py:387 label/models.py:102 part/models.py:838 +#: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings_staff_js.html:250 -#: templates/js/translated/company.js:635 -#: templates/js/translated/company.js:848 templates/js/translated/part.js:1088 -#: templates/js/translated/part.js:1257 templates/js/translated/part.js:2395 -#: templates/js/translated/stock.js:2488 +#: templates/js/translated/company.js:643 +#: templates/js/translated/company.js:691 +#: templates/js/translated/company.js:856 +#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1103 +#: templates/js/translated/part.js:1259 templates/js/translated/part.js:2312 +#: templates/js/translated/stock.js:2519 msgid "Name" msgstr "名称" -#: InvenTree/models.py:578 build/models.py:164 -#: build/templates/build/detail.html:24 company/models.py:306 -#: company/models.py:542 company/templates/company/company_base.html:72 +#: InvenTree/models.py:578 build/models.py:166 +#: build/templates/build/detail.html:24 company/models.py:311 +#: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802 -#: part/models.py:3271 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:109 +#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:165 -#: report/models.py:506 report/models.py:550 +#: part/templates/part/part_scheduling.html:12 report/models.py:171 +#: report/models.py:578 report/models.py:622 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings_staff_js.html:261 -#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:2628 templates/js/translated/company.js:499 -#: templates/js/translated/company.js:757 -#: templates/js/translated/company.js:1041 -#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2366 -#: templates/js/translated/order.js:2934 templates/js/translated/part.js:1150 -#: templates/js/translated/part.js:1600 templates/js/translated/part.js:1874 -#: templates/js/translated/part.js:2431 templates/js/translated/part.js:2528 -#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823 -#: templates/js/translated/stock.js:2520 templates/js/translated/stock.js:2598 +#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903 +#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496 +#: templates/js/translated/company.js:973 +#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 +#: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 +#: templates/js/translated/purchase_order.js:1548 +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/return_order.js:272 +#: templates/js/translated/sales_order.js:714 +#: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 +#: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" msgstr "描述信息" @@ -337,7 +350,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:594 InvenTree/models.py:595 -#: templates/js/translated/part.js:2440 templates/js/translated/stock.js:2529 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:2560 msgid "Path" msgstr "路径" @@ -349,7 +362,7 @@ msgstr "条码数据" msgid "Third party barcode data" msgstr "第三方条形码数据" -#: InvenTree/models.py:702 order/serializers.py:470 +#: InvenTree/models.py:702 order/serializers.py:503 msgid "Barcode Hash" msgstr "条码哈希" @@ -369,12 +382,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:59 part/models.py:3618 +#: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" msgstr "必须是有效数字" #: InvenTree/serializers.py:82 company/models.py:153 -#: company/templates/company/company_base.html:107 part/models.py:2766 +#: company/templates/company/company_base.html:107 part/models.py:2836 #: templates/InvenTree/settings/settings_staff_js.html:44 msgid "Currency" msgstr "货币" @@ -446,124 +459,125 @@ msgstr "远程图像文件的 URL" msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/settings.py:696 +#: InvenTree/settings.py:705 msgid "Czech" msgstr "捷克语" -#: InvenTree/settings.py:697 +#: InvenTree/settings.py:706 msgid "Danish" msgstr "丹麦语" -#: InvenTree/settings.py:698 +#: InvenTree/settings.py:707 msgid "German" msgstr "德语" -#: InvenTree/settings.py:699 +#: InvenTree/settings.py:708 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:700 +#: InvenTree/settings.py:709 msgid "English" msgstr "英语" -#: InvenTree/settings.py:701 +#: InvenTree/settings.py:710 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:702 +#: InvenTree/settings.py:711 msgid "Spanish (Mexican)" msgstr "西班牙语(墨西哥)" -#: InvenTree/settings.py:703 +#: InvenTree/settings.py:712 msgid "Farsi / Persian" msgstr "波斯语" -#: InvenTree/settings.py:704 +#: InvenTree/settings.py:713 msgid "French" msgstr "法语" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:714 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:715 msgid "Hungarian" msgstr "匈牙利语" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:716 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:717 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:718 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:719 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:720 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:721 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:722 msgid "Portuguese" msgstr "葡萄牙语" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:723 msgid "Portuguese (Brazilian)" msgstr "葡萄牙语 (巴西)" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:724 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:725 msgid "Slovenian" msgstr "斯洛文尼亚" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:726 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:727 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:728 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:729 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:730 msgid "Chinese" msgstr "中文(简体)" -#: InvenTree/status.py:98 part/serializers.py:862 +#: InvenTree/status.py:92 part/serializers.py:879 msgid "Background worker check failed" msgstr "后台工作人员检查失败" -#: InvenTree/status.py:102 +#: InvenTree/status.py:96 msgid "Email backend not configured" msgstr "未配置电子邮件后端" -#: InvenTree/status.py:105 +#: InvenTree/status.py:99 msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:389 +#: InvenTree/status_codes.py:313 InvenTree/status_codes.py:350 +#: InvenTree/status_codes.py:385 templates/js/translated/table_filters.js:417 msgid "Pending" msgstr "待定" @@ -571,14 +585,14 @@ msgstr "待定" msgid "Placed" msgstr "已添加" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 -#: order/templates/order/order_base.html:143 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:352 order/templates/order/order_base.html:142 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "完成" #: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:315 InvenTree/status_codes.py:353 msgid "Cancelled" msgstr "已取消" @@ -592,8 +606,9 @@ msgstr "丢失" msgid "Returned" msgstr "已退回" -#: InvenTree/status_codes.py:141 order/models.py:1167 -#: templates/js/translated/order.js:3734 templates/js/translated/order.js:4074 +#: InvenTree/status_codes.py:141 order/models.py:1260 +#: templates/js/translated/sales_order.js:1503 +#: templates/js/translated/sales_order.js:1818 msgid "Shipped" msgstr "已发货" @@ -621,116 +636,155 @@ msgstr "已拒绝" msgid "Quarantined" msgstr "隔离" -#: InvenTree/status_codes.py:259 +#: InvenTree/status_codes.py:263 msgid "Legacy stock tracking entry" msgstr "旧库存跟踪条目" -#: InvenTree/status_codes.py:261 +#: InvenTree/status_codes.py:265 msgid "Stock item created" msgstr "库存项已创建" -#: InvenTree/status_codes.py:263 +#: InvenTree/status_codes.py:267 msgid "Edited stock item" msgstr "已编辑库存项" -#: InvenTree/status_codes.py:264 +#: InvenTree/status_codes.py:268 msgid "Assigned serial number" msgstr "已分配序列号" -#: InvenTree/status_codes.py:266 +#: InvenTree/status_codes.py:270 msgid "Stock counted" msgstr "库存计数" -#: InvenTree/status_codes.py:267 +#: InvenTree/status_codes.py:271 msgid "Stock manually added" msgstr "已手动添加库存" -#: InvenTree/status_codes.py:268 +#: InvenTree/status_codes.py:272 msgid "Stock manually removed" msgstr "库存手动删除" -#: InvenTree/status_codes.py:270 +#: InvenTree/status_codes.py:274 msgid "Location changed" msgstr "仓储地点已更改" -#: InvenTree/status_codes.py:272 +#: InvenTree/status_codes.py:276 msgid "Installed into assembly" msgstr "安装到组装中" -#: InvenTree/status_codes.py:273 +#: InvenTree/status_codes.py:277 msgid "Removed from assembly" msgstr "已从组装中删除" -#: InvenTree/status_codes.py:275 +#: InvenTree/status_codes.py:279 msgid "Installed component item" msgstr "已安装组件项" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:280 msgid "Removed component item" msgstr "已删除组件项" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:282 msgid "Split from parent item" msgstr "从父项拆分" -#: InvenTree/status_codes.py:279 +#: InvenTree/status_codes.py:283 msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2178 +#: InvenTree/status_codes.py:285 templates/js/translated/stock.js:2213 msgid "Merged stock items" msgstr "合并的库存项目" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:287 msgid "Converted to variant" msgstr "转换为变量" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245 +#: InvenTree/status_codes.py:289 templates/js/translated/table_filters.js:273 msgid "Sent to customer" msgstr "发送给客户" -#: InvenTree/status_codes.py:286 +#: InvenTree/status_codes.py:290 msgid "Returned from customer" msgstr "从客户退货" -#: InvenTree/status_codes.py:288 +#: InvenTree/status_codes.py:292 msgid "Build order output created" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:293 msgid "Build order output completed" msgstr "生产订单输出已完成" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:294 msgid "Consumed by build order" msgstr "被生产订单消耗" -#: InvenTree/status_codes.py:292 -msgid "Received against purchase order" +#: InvenTree/status_codes.py:296 +#, fuzzy +#| msgid "Received against purchase order" +msgid "Shipped against Sales Order" msgstr "收到定购单" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:298 +#, fuzzy +#| msgid "Received against purchase order" +msgid "Received against Purchase Order" +msgstr "收到定购单" + +#: InvenTree/status_codes.py:300 +#, fuzzy +#| msgid "Received against purchase order" +msgid "Returned against Return Order" +msgstr "收到定购单" + +#: InvenTree/status_codes.py:314 msgid "Production" msgstr "生产中" -#: InvenTree/validators.py:20 +#: InvenTree/status_codes.py:351 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:386 +#, fuzzy +#| msgid "Returned" +msgid "Return" +msgstr "已退回" + +#: InvenTree/status_codes.py:387 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:388 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:389 +#, fuzzy +#| msgid "Placed" +msgid "Replace" +msgstr "已添加" + +#: InvenTree/status_codes.py:390 +#, fuzzy +#| msgid "Rejected" +msgid "Reject" +msgstr "已拒绝" + +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "不是有效的货币代码" -#: InvenTree/validators.py:91 -#, python-brace-format -msgid "IPN must match regex pattern {pat}" -msgstr "IPN 必须匹配正则表达式 {pat}" - -#: InvenTree/validators.py:133 InvenTree/validators.py:149 +#: InvenTree/validators.py:87 InvenTree/validators.py:103 msgid "Overage value must not be negative" msgstr "备损值不能为负数" -#: InvenTree/validators.py:151 +#: InvenTree/validators.py:105 msgid "Overage must not exceed 100%" msgstr "备损不能超过 100%" -#: InvenTree/validators.py:158 +#: InvenTree/validators.py:112 msgid "Invalid value for overage" msgstr "无效的备损值" @@ -750,369 +804,396 @@ msgstr "密码字段必须相匹配。" msgid "Wrong password provided" msgstr "密码错误" -#: InvenTree/views.py:651 templates/navbar.html:152 +#: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" msgstr "系统信息" -#: InvenTree/views.py:658 templates/navbar.html:163 +#: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" msgstr "关于 InventTree" -#: build/api.py:243 +#: build/api.py:245 msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/models.py:71 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: 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:799 +#: templates/js/translated/build.js:791 msgid "Build Order" msgstr "生产订单" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:72 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:119 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:254 users/models.py:42 +#: templates/js/translated/search.js:214 users/models.py:42 msgid "Build Orders" msgstr "生产订单" -#: build/models.py:111 +#: build/models.py:113 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:155 +#: build/models.py:157 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:156 order/models.py:240 order/models.py:655 -#: order/models.py:944 part/admin.py:277 part/models.py:3528 -#: part/templates/part/upload_bom.html:54 +#: build/models.py:158 order/models.py:326 order/models.py:722 +#: order/models.py:1027 order/models.py:1638 part/admin.py:278 +#: part/models.py:3602 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 -#: report/templates/report/inventree_po_report.html:91 -#: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915 -#: templates/js/translated/build.js:1869 templates/js/translated/order.js:2397 -#: templates/js/translated/order.js:2613 templates/js/translated/order.js:3938 -#: templates/js/translated/order.js:4421 templates/js/translated/pricing.js:370 +#: 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:739 templates/js/translated/bom.js:913 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/pricing.js:368 +#: templates/js/translated/purchase_order.js:1903 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:1682 msgid "Reference" msgstr "引用" -#: build/models.py:167 +#: build/models.py:169 msgid "Brief description of the build" msgstr "生产的简短描述." -#: build/models.py:175 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:172 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:176 +#: build/models.py:178 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:181 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:715 -#: order/models.py:1040 order/models.py:1151 order/models.py:1152 -#: part/models.py:382 part/models.py:2779 part/models.py:2893 -#: part/models.py:3033 part/models.py:3052 part/models.py:3071 -#: part/models.py:3092 part/models.py:3184 part/models.py:3305 -#: part/models.py:3397 part/models.py:3493 part/models.py:3798 -#: part/serializers.py:826 part/serializers.py:1231 +#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/templates/build/detail.html:29 company/models.py:720 +#: order/models.py:1123 order/models.py:1239 order/models.py:1240 +#: part/models.py:382 part/models.py:2849 part/models.py:2963 +#: part/models.py:3103 part/models.py:3122 part/models.py:3141 +#: part/models.py:3162 part/models.py:3254 part/models.py:3375 +#: part/models.py:3467 part/models.py:3567 part/models.py:3881 +#: part/serializers.py:843 part/serializers.py:1246 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144 -#: stock/serializers.py:482 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_so_report_base.html:27 +#: stock/serializers.py:144 stock/serializers.py:484 +#: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601 -#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859 -#: templates/js/translated/build.js:1233 templates/js/translated/build.js:1734 -#: templates/js/translated/build.js:2235 templates/js/translated/build.js:2639 -#: templates/js/translated/company.js:319 -#: templates/js/translated/company.js:586 -#: templates/js/translated/company.js:698 -#: templates/js/translated/company.js:959 templates/js/translated/order.js:111 -#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:3289 -#: templates/js/translated/order.js:3685 templates/js/translated/order.js:3922 -#: templates/js/translated/part.js:1585 templates/js/translated/part.js:1657 -#: templates/js/translated/part.js:1851 templates/js/translated/pricing.js:353 -#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791 -#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779 -#: templates/js/translated/stock.js:2624 templates/js/translated/stock.js:2819 -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 +#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 +#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 +#: templates/js/translated/company.js:322 +#: templates/js/translated/company.js:807 +#: templates/js/translated/company.js:914 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 +#: templates/js/translated/pricing.js:351 +#: templates/js/translated/purchase_order.js:694 +#: templates/js/translated/purchase_order.js:1195 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1845 +#: templates/js/translated/return_order.js:482 +#: templates/js/translated/return_order.js:649 +#: templates/js/translated/sales_order.js:235 +#: templates/js/translated/sales_order.js:1068 +#: templates/js/translated/sales_order.js:1454 +#: templates/js/translated/sales_order.js:1666 +#: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 +#: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:3010 msgid "Part" msgstr "商品" -#: build/models.py:189 +#: build/models.py:191 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:194 +#: build/models.py:196 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:198 +#: build/models.py:200 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:203 build/serializers.py:825 -#: templates/js/translated/build.js:2223 templates/js/translated/order.js:3277 +#: build/models.py:205 build/serializers.py:825 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/sales_order.js:1056 msgid "Source Location" msgstr "来源地点" -#: build/models.py:207 +#: build/models.py:209 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)" -#: build/models.py:212 +#: build/models.py:214 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:216 +#: build/models.py:218 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:220 +#: build/models.py:222 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:223 +#: build/models.py:225 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:227 +#: build/models.py:229 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:229 +#: build/models.py:231 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:233 +#: build/models.py:235 msgid "Build Status" msgstr "生产状态" -#: build/models.py:237 +#: build/models.py:239 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:246 build/serializers.py:226 order/serializers.py:448 -#: stock/models.py:732 templates/js/translated/order.js:1626 +#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 +#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:250 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:227 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:253 order/models.py:86 part/models.py:971 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2947 +#: build/models.py:255 order/models.py:209 part/models.py:1028 +#: part/templates/part/part_base.html:319 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:727 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:257 order/models.py:685 +#: build/models.py:259 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:258 +#: build/models.py:260 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:261 order/models.py:291 -#: templates/js/translated/build.js:2724 +#: build/models.py:263 order/models.py:376 order/models.py:1681 +#: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:267 +#: build/models.py:269 msgid "completed by" msgstr "完成人" -#: build/models.py:275 templates/js/translated/build.js:2684 +#: build/models.py:277 templates/js/translated/build.js:2660 msgid "Issued by" msgstr "发布者" -#: build/models.py:276 +#: build/models.py:278 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:284 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:100 -#: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:975 -#: part/templates/part/part_base.html:398 +#: build/models.py:286 build/templates/build/build_base.html:193 +#: build/templates/build/detail.html:122 order/models.py:223 +#: order/templates/order/order_base.html:194 +#: order/templates/order/return_order_base.html:162 +#: order/templates/order/sales_order_base.html:193 part/models.py:1032 +#: part/templates/part/part_base.html:399 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2696 templates/js/translated/order.js:2156 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/build.js:2672 +#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/return_order.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Responsible" msgstr "责任人" -#: build/models.py:285 +#: build/models.py:287 msgid "User or group responsible for this build order" msgstr "构建此订单的用户或组" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:391 stock/models.py:726 +#: part/templates/part/part_base.html:392 stock/models.py:725 #: stock/templates/stock/item_base.html:206 msgid "External Link" msgstr "外部链接" -#: build/models.py:295 +#: build/models.py:297 msgid "Extra build notes" msgstr "额外的生产备注" -#: build/models.py:299 +#: build/models.py:301 msgid "Build Priority" msgstr "创建优先级" -#: build/models.py:302 +#: build/models.py:304 msgid "Priority of this build order" msgstr "此构建订单的优先级" -#: build/models.py:540 +#: build/models.py:542 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:546 +#: build/models.py:548 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:725 +#: build/models.py:727 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:728 +#: build/models.py:730 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:731 +#: build/models.py:733 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:1188 +#: build/models.py:1190 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1197 +#: build/models.py:1199 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1207 order/models.py:1418 +#: build/models.py:1209 order/models.py:1515 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1213 order/models.py:1421 +#: build/models.py:1215 order/models.py:1518 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1219 +#: build/models.py:1221 msgid "Quantity must be 1 for serialized stock" msgstr "序列化库存的数量必须是 1" -#: build/models.py:1276 +#: build/models.py:1278 msgid "Selected stock item not found in BOM" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1345 stock/templates/stock/item_base.html:175 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2612 +#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" msgstr "生产" -#: build/models.py:1346 +#: build/models.py:1348 msgid "Build to allocate parts" msgstr "生产以分配部件" -#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008 -#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739 -#: stock/serializers.py:865 stock/templates/stock/item_base.html:10 +#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1013 +#: order/serializers.py:1034 stock/serializers.py:388 stock/serializers.py:741 +#: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:200 -#: templates/js/translated/build.js:809 templates/js/translated/build.js:814 -#: templates/js/translated/build.js:2237 templates/js/translated/build.js:2809 -#: templates/js/translated/order.js:112 templates/js/translated/order.js:3290 -#: templates/js/translated/order.js:3592 templates/js/translated/order.js:3597 -#: templates/js/translated/order.js:3692 templates/js/translated/order.js:3784 -#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792 -#: templates/js/translated/stock.js:2697 +#: templates/js/translated/build.js:801 templates/js/translated/build.js:806 +#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 +#: templates/js/translated/sales_order.js:236 +#: templates/js/translated/sales_order.js:1069 +#: templates/js/translated/sales_order.js:1367 +#: templates/js/translated/sales_order.js:1372 +#: templates/js/translated/sales_order.js:1461 +#: templates/js/translated/sales_order.js:1551 +#: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 +#: templates/js/translated/stock.js:2756 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1363 +#: build/models.py:1365 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1375 build/serializers.py:194 +#: build/models.py:1377 build/serializers.py:194 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2023 -#: order/models.py:937 order/models.py:1462 order/serializers.py:1182 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276 -#: part/forms.py:47 part/models.py:2906 part/models.py:3509 +#: build/templates/build/detail.html:34 common/models.py:2088 +#: order/models.py:1013 order/models.py:1559 order/serializers.py:1187 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 +#: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report.html:90 -#: report/templates/report/inventree_so_report.html:91 -#: report/templates/report/inventree_test_report_base.html:81 -#: report/templates/report/inventree_test_report_base.html:139 -#: stock/admin.py:103 stock/serializers.py:279 +#: report/templates/report/inventree_po_report_base.html:29 +#: 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:281 #: stock/templates/stock/item_base.html:293 #: stock/templates/stock/item_base.html:301 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740 -#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481 -#: templates/js/translated/build.js:642 templates/js/translated/build.js:836 -#: templates/js/translated/build.js:1255 templates/js/translated/build.js:1760 -#: templates/js/translated/build.js:2238 -#: templates/js/translated/company.js:1214 -#: templates/js/translated/model_renderers.js:132 -#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267 -#: templates/js/translated/order.js:2403 templates/js/translated/order.js:2619 -#: templates/js/translated/order.js:3291 templates/js/translated/order.js:3611 -#: templates/js/translated/order.js:3698 templates/js/translated/order.js:3790 -#: templates/js/translated/order.js:3944 templates/js/translated/order.js:4427 -#: templates/js/translated/part.js:850 templates/js/translated/part.js:1455 -#: templates/js/translated/part.js:2969 templates/js/translated/pricing.js:365 -#: templates/js/translated/pricing.js:458 -#: templates/js/translated/pricing.js:506 -#: templates/js/translated/pricing.js:600 templates/js/translated/stock.js:496 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822 -#: templates/js/translated/stock.js:2746 templates/js/translated/stock.js:2831 +#: templates/js/translated/barcode.js:504 templates/js/translated/bom.js:740 +#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 +#: templates/js/translated/build.js:638 templates/js/translated/build.js:828 +#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2216 +#: templates/js/translated/company.js:1406 +#: templates/js/translated/model_renderers.js:201 +#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 +#: templates/js/translated/pricing.js:363 +#: templates/js/translated/pricing.js:456 +#: templates/js/translated/pricing.js:504 +#: templates/js/translated/pricing.js:598 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/sales_order.js:252 +#: templates/js/translated/sales_order.js:1070 +#: templates/js/translated/sales_order.js:1386 +#: templates/js/translated/sales_order.js:1467 +#: templates/js/translated/sales_order.js:1557 +#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 +#: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 +#: templates/js/translated/stock.js:2885 msgid "Quantity" msgstr "数量" -#: build/models.py:1376 +#: build/models.py:1378 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1384 +#: build/models.py:1386 msgid "Install into" msgstr "安装到" -#: build/models.py:1385 +#: build/models.py:1387 msgid "Destination stock item" msgstr "目标库存项" #: build/serializers.py:145 build/serializers.py:703 -#: templates/js/translated/build.js:1243 +#: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "生产产出" @@ -1136,10 +1217,10 @@ msgstr "生产产出未被完成分配" msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:326 -#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1071 -#: part/serializers.py:1394 stock/models.py:586 stock/models.py:1338 -#: stock/serializers.py:288 +#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 +#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1344 +#: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1151,9 +1232,9 @@ msgstr "对于可追踪的部件,需要整数型数值" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186 -#: stock/serializers.py:297 templates/js/translated/order.js:1637 -#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497 +#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1191 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "序列号" @@ -1169,7 +1250,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:283 stock/api.py:645 +#: build/serializers.py:283 stock/api.py:647 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1177,18 +1258,21 @@ msgstr "以下序列号已存在或无效" msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548 -#: part/serializers.py:838 stock/serializers.py:308 stock/serializers.py:443 -#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142 -#: stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:504 -#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:821 -#: templates/js/translated/build.js:1775 templates/js/translated/order.js:1664 -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3709 -#: templates/js/translated/order.js:3717 templates/js/translated/order.js:3798 -#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793 -#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931 -#: templates/js/translated/stock.js:2638 +#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 +#: order/serializers.py:1540 part/serializers.py:855 stock/serializers.py:310 +#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 +#: templates/js/translated/barcode.js:503 +#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: templates/js/translated/build.js:1755 +#: templates/js/translated/purchase_order.js:1096 +#: templates/js/translated/sales_order.js:1379 +#: templates/js/translated/sales_order.js:1478 +#: templates/js/translated/sales_order.js:1486 +#: templates/js/translated/sales_order.js:1565 +#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 +#: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 +#: templates/js/translated/stock.js:2663 msgid "Location" msgstr "地点" @@ -1197,13 +1281,16 @@ msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" #: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:674 -#: order/serializers.py:466 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:748 +#: order/models.py:1664 order/serializers.py:499 stock/admin.py:106 #: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2668 -#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126 -#: templates/js/translated/order.js:2939 templates/js/translated/stock.js:1906 -#: templates/js/translated/stock.js:2715 templates/js/translated/stock.js:2847 +#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1200 +#: templates/js/translated/purchase_order.js:1552 +#: templates/js/translated/return_order.js:277 +#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 +#: templates/js/translated/stock.js:2901 msgid "Status" msgstr "状态" @@ -1263,7 +1350,7 @@ msgstr "接受库存项未被完成分配至此生产订单" msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076 +#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1081 msgid "Accept Incomplete" msgstr "接受未完成" @@ -1279,8 +1366,8 @@ msgstr "所需生产数量尚未完成" msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3420 -#: part/models.py:3790 +#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: part/models.py:3873 msgid "BOM Item" msgstr "BOM项" @@ -1296,11 +1383,11 @@ msgstr "生产产出必须指向相同的生产" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:680 stock/serializers.py:752 +#: build/serializers.py:680 stock/serializers.py:754 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:729 order/serializers.py:1066 +#: build/serializers.py:729 order/serializers.py:1071 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" @@ -1317,7 +1404,7 @@ msgstr "对于未被追踪的部件,无法指定生产产出" msgid "This stock item has already been allocated to this build output" msgstr "此库存项已被分配至此生产产出" -#: build/serializers.py:770 order/serializers.py:1350 +#: build/serializers.py:770 order/serializers.py:1355 msgid "Allocation items must be provided" msgstr "必须提供分配的项" @@ -1372,6 +1459,7 @@ msgstr "生成订单 {bo} 现在已过期" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 +#: order/templates/order/return_order_base.html:38 #: order/templates/order/sales_order_base.html:38 msgid "Print actions" msgstr "打印操作" @@ -1440,13 +1528,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:950 -#: order/templates/order/order_base.html:171 +#: build/templates/build/detail.html:138 order/models.py:205 +#: order/models.py:1033 order/templates/order/order_base.html:170 +#: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2716 templates/js/translated/order.js:2143 -#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2955 -#: templates/js/translated/order.js:3987 templates/js/translated/part.js:1470 +#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 +#: templates/js/translated/purchase_order.js:1569 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/return_order.js:690 +#: templates/js/translated/sales_order.js:735 +#: templates/js/translated/sales_order.js:1731 msgid "Target Date" msgstr "预计日期" @@ -1457,31 +1550,35 @@ msgstr "此次生产的截止日期为 %(target)s" #: build/templates/build/build_base.html:159 #: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:107 +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:98 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:356 -#: templates/js/translated/table_filters.js:416 -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:384 +#: templates/js/translated/table_filters.js:444 +#: templates/js/translated/table_filters.js:474 msgid "Overdue" msgstr "逾期" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:455 +#: order/templates/order/sales_order_base.html:174 +#: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1292 order/models.py:1144 -#: order/models.py:1238 order/models.py:1369 +#: build/templates/build/detail.html:101 order/api.py:1516 order/models.py:1232 +#: order/models.py:1331 order/models.py:1465 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 -#: report/templates/report/inventree_so_report.html:77 +#: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:371 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2901 templates/js/translated/pricing.js:896 +#: templates/js/translated/pricing.js:894 +#: templates/js/translated/sales_order.js:681 +#: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "销售订单" @@ -1492,11 +1589,11 @@ msgid "Issued By" msgstr "发布者" #: build/templates/build/build_base.html:200 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2633 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "优先级" -#: build/templates/build/build_base.html:259 +#: build/templates/build/build_base.html:263 msgid "Delete Build Order" msgstr "删除生产订单" @@ -1512,8 +1609,9 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1062 -#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2521 +#: build/templates/build/detail.html:49 order/models.py:1150 +#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:2027 msgid "Destination" msgstr "目的地" @@ -1527,19 +1625,20 @@ msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:168 -#: templates/js/translated/build.js:1262 -#: templates/js/translated/model_renderers.js:137 -#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920 -#: templates/js/translated/stock.js:2854 -#: templates/js/translated/table_filters.js:183 -#: templates/js/translated/table_filters.js:274 +#: templates/js/translated/build.js:1259 +#: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:2908 +#: templates/js/translated/table_filters.js:211 +#: templates/js/translated/table_filters.js:302 msgid "Batch" msgstr "批量" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:157 +#: order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2676 +#: templates/js/translated/build.js:2652 msgid "Created" msgstr "已创建" @@ -1559,7 +1658,7 @@ msgstr "子生产订单" msgid "Allocate Stock to Build" msgstr "为生产分配库存" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2046 +#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027 msgid "Unallocate stock" msgstr "未分配库存" @@ -1588,9 +1687,10 @@ msgid "Order required parts" msgstr "订单所需部件" #: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:184 templates/js/translated/order.js:1307 +#: company/templates/company/detail.html:38 +#: company/templates/company/detail.html:86 +#: part/templates/part/category.html:184 +#: templates/js/translated/purchase_order.js:737 msgid "Order Parts" msgstr "订购商品" @@ -1642,27 +1742,19 @@ msgstr "删除选中的构建输出" msgid "Delete outputs" msgstr "删除输出" -#: build/templates/build/detail.html:274 -#: stock/templates/stock/location.html:234 templates/stock_table.html:27 -msgid "Printing Actions" -msgstr "打印操作" - -#: build/templates/build/detail.html:278 build/templates/build/detail.html:279 -#: stock/templates/stock/location.html:238 templates/stock_table.html:31 -msgid "Print labels" -msgstr "打印标签" - -#: build/templates/build/detail.html:296 +#: build/templates/build/detail.html:283 msgid "Completed Build Outputs" msgstr "已完成构建输出" -#: build/templates/build/detail.html:308 build/templates/build/sidebar.html:19 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:295 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:261 #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:27 +#: company/templates/company/sidebar.html:37 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/purchase_order_detail.html:103 +#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:134 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 @@ -1670,15 +1762,15 @@ msgstr "已完成构建输出" msgid "Attachments" msgstr "附件" -#: build/templates/build/detail.html:323 +#: build/templates/build/detail.html:310 msgid "Build Notes" msgstr "生产备注" -#: build/templates/build/detail.html:506 +#: build/templates/build/detail.html:475 msgid "Allocation Complete" msgstr "分配完成" -#: build/templates/build/detail.html:507 +#: build/templates/build/detail.html:476 msgid "All untracked stock items have been allocated" msgstr "所有未跟踪的库存项目都已分配" @@ -1686,10 +1778,6 @@ msgstr "所有未跟踪的库存项目都已分配" msgid "New Build Order" msgstr "新建生产订单" -#: build/templates/build/index.html:37 build/templates/build/index.html:38 -msgid "Print Build Orders" -msgstr "打印生产订单" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "生产订单详情" @@ -1881,1165 +1969,1242 @@ msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they msgstr "" #: common/models.py:988 -msgid "Automatic Backup" +msgid "Update Check Inverval" msgstr "" #: common/models.py:989 -msgid "Enable automatic backup of database and media files" +msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:995 -msgid "Days Between Backup" -msgstr "" - -#: common/models.py:996 -msgid "Specify number of days between automated backup events" -msgstr "" - -#: common/models.py:1005 -msgid "Delete Old Tasks" -msgstr "" - -#: common/models.py:1006 -msgid "Background task results will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1016 -msgid "Delete Error Logs" -msgstr "" - -#: common/models.py:1017 -msgid "Error logs will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1027 templates/InvenTree/notifications/history.html:13 -#: templates/InvenTree/notifications/history.html:14 -#: templates/InvenTree/notifications/notifications.html:77 -msgid "Delete Notifications" -msgstr "" - -#: common/models.py:1028 -msgid "User notifications will be deleted after specified number of days" -msgstr "" - -#: common/models.py:1038 templates/InvenTree/settings/sidebar.html:31 -msgid "Barcode Support" -msgstr "" - -#: common/models.py:1039 -msgid "Enable barcode scanner support" -msgstr "启用条形码扫描支持" - -#: common/models.py:1045 -msgid "Barcode Input Delay" -msgstr "" - -#: common/models.py:1046 -msgid "Barcode input processing delay time" -msgstr "" - -#: common/models.py:1056 -msgid "Barcode Webcam Support" -msgstr "" - -#: common/models.py:1057 -msgid "Allow barcode scanning via webcam in browser" -msgstr "" - -#: common/models.py:1063 -msgid "IPN Regex" -msgstr "" - -#: common/models.py:1064 -msgid "Regular expression pattern for matching Part IPN" -msgstr "" - -#: common/models.py:1068 -msgid "Allow Duplicate IPN" -msgstr "" - -#: common/models.py:1069 -msgid "Allow multiple parts to share the same IPN" -msgstr "" - -#: common/models.py:1075 -msgid "Allow Editing IPN" -msgstr "" - -#: common/models.py:1076 -msgid "Allow changing the IPN value while editing a part" -msgstr "" - -#: common/models.py:1082 -msgid "Copy Part BOM Data" -msgstr "" - -#: common/models.py:1083 -msgid "Copy BOM data by default when duplicating a part" -msgstr "" - -#: common/models.py:1089 -msgid "Copy Part Parameter Data" -msgstr "" - -#: common/models.py:1090 -msgid "Copy parameter data by default when duplicating a part" -msgstr "" - -#: common/models.py:1096 -msgid "Copy Part Test Data" -msgstr "" - -#: common/models.py:1097 -msgid "Copy test data by default when duplicating a part" -msgstr "" - -#: common/models.py:1103 -msgid "Copy Category Parameter Templates" -msgstr "" - -#: common/models.py:1104 -msgid "Copy category parameter templates when creating a part" -msgstr "" - -#: common/models.py:1110 part/admin.py:55 part/models.py:3307 -#: report/models.py:158 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:543 -msgid "Template" -msgstr "模板" - -#: common/models.py:1111 -msgid "Parts are templates by default" -msgstr "" - -#: common/models.py:1117 part/admin.py:51 part/admin.py:282 part/models.py:927 -#: templates/js/translated/bom.js:1602 -#: templates/js/translated/table_filters.js:200 -#: templates/js/translated/table_filters.js:502 -msgid "Assembly" -msgstr "组装" - -#: common/models.py:1118 -msgid "Parts can be assembled from other components by default" -msgstr "" - -#: common/models.py:1124 part/admin.py:52 part/models.py:933 -#: templates/js/translated/table_filters.js:510 -msgid "Component" -msgstr "组件" - -#: common/models.py:1125 -msgid "Parts can be used as sub-components by default" -msgstr "" - -#: common/models.py:1131 part/admin.py:53 part/models.py:944 -msgid "Purchaseable" -msgstr "可购买" - -#: common/models.py:1132 -msgid "Parts are purchaseable by default" -msgstr "商品默认可购买" - -#: common/models.py:1138 part/admin.py:54 part/models.py:949 -#: templates/js/translated/table_filters.js:531 -msgid "Salable" -msgstr "可销售" - -#: common/models.py:1139 -msgid "Parts are salable by default" -msgstr "商品默认可销售" - -#: common/models.py:1145 part/admin.py:56 part/models.py:939 -#: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:547 -msgid "Trackable" -msgstr "可追踪" - -#: common/models.py:1146 -msgid "Parts are trackable by default" -msgstr "商品默认可跟踪" - -#: common/models.py:1152 part/admin.py:57 part/models.py:959 -#: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:551 -msgid "Virtual" -msgstr "虚拟" - -#: common/models.py:1153 -msgid "Parts are virtual by default" -msgstr "商品默认是虚拟的" - -#: common/models.py:1159 -msgid "Show Import in Views" -msgstr "视图中显示导入" - -#: common/models.py:1160 -msgid "Display the import wizard in some part views" -msgstr "在一些商品视图中显示导入向导" - -#: common/models.py:1166 -msgid "Show related parts" -msgstr "显示相关商品" - -#: common/models.py:1167 -msgid "Display related parts for a part" -msgstr "" - -#: common/models.py:1173 -msgid "Initial Stock Data" -msgstr "" - -#: common/models.py:1174 -msgid "Allow creation of initial stock when adding a new part" -msgstr "" - -#: common/models.py:1180 templates/js/translated/part.js:74 -msgid "Initial Supplier Data" -msgstr "" - -#: common/models.py:1181 -msgid "Allow creation of initial supplier data when adding a new part" -msgstr "" - -#: common/models.py:1187 -msgid "Part Name Display Format" -msgstr "" - -#: common/models.py:1188 -msgid "Format to display the part name" -msgstr "" - -#: common/models.py:1195 -msgid "Part Category Default Icon" -msgstr "" - -#: common/models.py:1196 -msgid "Part category default icon (empty means no icon)" -msgstr "" - -#: common/models.py:1201 -msgid "Pricing Decimal Places" -msgstr "" - -#: common/models.py:1202 -msgid "Number of decimal places to display when rendering pricing data" -msgstr "" - -#: common/models.py:1212 -msgid "Use Supplier Pricing" -msgstr "" - -#: common/models.py:1213 -msgid "Include supplier price breaks in overall pricing calculations" -msgstr "" - -#: common/models.py:1219 -msgid "Purchase History Override" -msgstr "" - -#: common/models.py:1220 -msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "" - -#: common/models.py:1226 -msgid "Use Stock Item Pricing" -msgstr "" - -#: common/models.py:1227 -msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "" - -#: common/models.py:1233 -msgid "Stock Item Pricing Age" -msgstr "" - -#: common/models.py:1234 -msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "" - -#: common/models.py:1244 -msgid "Use Variant Pricing" -msgstr "" - -#: common/models.py:1245 -msgid "Include variant pricing in overall pricing calculations" -msgstr "" - -#: common/models.py:1251 -msgid "Active Variants Only" -msgstr "" - -#: common/models.py:1252 -msgid "Only use active variant parts for calculating variant pricing" -msgstr "" - -#: common/models.py:1258 -msgid "Pricing Rebuild Time" -msgstr "" - -#: common/models.py:1259 -msgid "Number of days before part pricing is automatically updated" -msgstr "" - -#: common/models.py:1260 common/models.py:1383 +#: common/models.py:995 common/models.py:1013 common/models.py:1020 +#: common/models.py:1031 common/models.py:1042 common/models.py:1266 +#: common/models.py:1290 common/models.py:1413 common/models.py:1655 msgid "days" msgstr "天" -#: common/models.py:1269 +#: common/models.py:999 +msgid "Automatic Backup" +msgstr "" + +#: common/models.py:1000 +msgid "Enable automatic backup of database and media files" +msgstr "" + +#: common/models.py:1006 +msgid "Auto Backup Interval" +msgstr "" + +#: common/models.py:1007 +msgid "Specify number of days between automated backup events" +msgstr "" + +#: common/models.py:1017 +msgid "Task Deletion Interval" +msgstr "" + +#: common/models.py:1018 +msgid "Background task results will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1028 +msgid "Error Log Deletion Interval" +msgstr "" + +#: common/models.py:1029 +msgid "Error logs will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1039 +msgid "Notification Deletion Interval" +msgstr "" + +#: common/models.py:1040 +msgid "User notifications will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1050 templates/InvenTree/settings/sidebar.html:31 +msgid "Barcode Support" +msgstr "" + +#: common/models.py:1051 +msgid "Enable barcode scanner support" +msgstr "启用条形码扫描支持" + +#: common/models.py:1057 +msgid "Barcode Input Delay" +msgstr "" + +#: common/models.py:1058 +msgid "Barcode input processing delay time" +msgstr "" + +#: common/models.py:1068 +msgid "Barcode Webcam Support" +msgstr "" + +#: common/models.py:1069 +msgid "Allow barcode scanning via webcam in browser" +msgstr "" + +#: common/models.py:1075 +#, fuzzy +#| msgid "Part description" +msgid "Part Revisions" +msgstr "商品描述" + +#: common/models.py:1076 +#, fuzzy +#| msgid "Enable internal prices for parts" +msgid "Enable revision field for Part" +msgstr "启用内部商品价格" + +#: common/models.py:1082 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1083 +msgid "Regular expression pattern for matching Part IPN" +msgstr "" + +#: common/models.py:1087 +msgid "Allow Duplicate IPN" +msgstr "" + +#: common/models.py:1088 +msgid "Allow multiple parts to share the same IPN" +msgstr "" + +#: common/models.py:1094 +msgid "Allow Editing IPN" +msgstr "" + +#: common/models.py:1095 +msgid "Allow changing the IPN value while editing a part" +msgstr "" + +#: common/models.py:1101 +msgid "Copy Part BOM Data" +msgstr "" + +#: common/models.py:1102 +msgid "Copy BOM data by default when duplicating a part" +msgstr "" + +#: common/models.py:1108 +msgid "Copy Part Parameter Data" +msgstr "" + +#: common/models.py:1109 +msgid "Copy parameter data by default when duplicating a part" +msgstr "" + +#: common/models.py:1115 +msgid "Copy Part Test Data" +msgstr "" + +#: common/models.py:1116 +msgid "Copy test data by default when duplicating a part" +msgstr "" + +#: common/models.py:1122 +msgid "Copy Category Parameter Templates" +msgstr "" + +#: common/models.py:1123 +msgid "Copy category parameter templates when creating a part" +msgstr "" + +#: common/models.py:1129 part/admin.py:55 part/models.py:3377 +#: report/models.py:164 templates/js/translated/table_filters.js:66 +#: templates/js/translated/table_filters.js:575 +msgid "Template" +msgstr "模板" + +#: common/models.py:1130 +msgid "Parts are templates by default" +msgstr "" + +#: common/models.py:1136 part/admin.py:51 part/admin.py:283 part/models.py:984 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:228 +#: templates/js/translated/table_filters.js:534 +msgid "Assembly" +msgstr "组装" + +#: common/models.py:1137 +msgid "Parts can be assembled from other components by default" +msgstr "" + +#: common/models.py:1143 part/admin.py:52 part/models.py:990 +#: templates/js/translated/table_filters.js:542 +msgid "Component" +msgstr "组件" + +#: common/models.py:1144 +msgid "Parts can be used as sub-components by default" +msgstr "" + +#: common/models.py:1150 part/admin.py:53 part/models.py:1001 +msgid "Purchaseable" +msgstr "可购买" + +#: common/models.py:1151 +msgid "Parts are purchaseable by default" +msgstr "商品默认可购买" + +#: common/models.py:1157 part/admin.py:54 part/models.py:1006 +#: templates/js/translated/table_filters.js:563 +msgid "Salable" +msgstr "可销售" + +#: common/models.py:1158 +msgid "Parts are salable by default" +msgstr "商品默认可销售" + +#: common/models.py:1164 part/admin.py:56 part/models.py:996 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/table_filters.js:579 +msgid "Trackable" +msgstr "可追踪" + +#: common/models.py:1165 +msgid "Parts are trackable by default" +msgstr "商品默认可跟踪" + +#: common/models.py:1171 part/admin.py:57 part/models.py:1016 +#: part/templates/part/part_base.html:156 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:583 +msgid "Virtual" +msgstr "虚拟" + +#: common/models.py:1172 +msgid "Parts are virtual by default" +msgstr "商品默认是虚拟的" + +#: common/models.py:1178 +msgid "Show Import in Views" +msgstr "视图中显示导入" + +#: common/models.py:1179 +msgid "Display the import wizard in some part views" +msgstr "在一些商品视图中显示导入向导" + +#: common/models.py:1185 +msgid "Show related parts" +msgstr "显示相关商品" + +#: common/models.py:1186 +msgid "Display related parts for a part" +msgstr "" + +#: common/models.py:1192 +msgid "Initial Stock Data" +msgstr "" + +#: common/models.py:1193 +msgid "Allow creation of initial stock when adding a new part" +msgstr "" + +#: common/models.py:1199 templates/js/translated/part.js:73 +msgid "Initial Supplier Data" +msgstr "" + +#: common/models.py:1200 +msgid "Allow creation of initial supplier data when adding a new part" +msgstr "" + +#: common/models.py:1206 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:1207 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:1214 +msgid "Part Category Default Icon" +msgstr "" + +#: common/models.py:1215 +msgid "Part category default icon (empty means no icon)" +msgstr "" + +#: common/models.py:1220 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1221 +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1231 +msgid "Maximum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1232 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1242 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1243 +msgid "Include supplier price breaks in overall pricing calculations" +msgstr "" + +#: common/models.py:1249 +msgid "Purchase History Override" +msgstr "" + +#: common/models.py:1250 +msgid "Historical purchase order pricing overrides supplier price breaks" +msgstr "" + +#: common/models.py:1256 +msgid "Use Stock Item Pricing" +msgstr "" + +#: common/models.py:1257 +msgid "Use pricing from manually entered stock data for pricing calculations" +msgstr "" + +#: common/models.py:1263 +msgid "Stock Item Pricing Age" +msgstr "" + +#: common/models.py:1264 +msgid "Exclude stock items older than this number of days from pricing calculations" +msgstr "" + +#: common/models.py:1274 +msgid "Use Variant Pricing" +msgstr "" + +#: common/models.py:1275 +msgid "Include variant pricing in overall pricing calculations" +msgstr "" + +#: common/models.py:1281 +msgid "Active Variants Only" +msgstr "" + +#: common/models.py:1282 +msgid "Only use active variant parts for calculating variant pricing" +msgstr "" + +#: common/models.py:1288 +msgid "Pricing Rebuild Interval" +msgstr "" + +#: common/models.py:1289 +msgid "Number of days before part pricing is automatically updated" +msgstr "" + +#: common/models.py:1299 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1270 +#: common/models.py:1300 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1276 +#: common/models.py:1306 msgid "Internal Price Override" msgstr "" -#: common/models.py:1277 +#: common/models.py:1307 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1313 msgid "Enable label printing" msgstr "" -#: common/models.py:1284 +#: common/models.py:1314 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1290 +#: common/models.py:1320 msgid "Label Image DPI" msgstr "" -#: common/models.py:1291 +#: common/models.py:1321 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1300 +#: common/models.py:1330 msgid "Enable Reports" msgstr "" -#: common/models.py:1301 +#: common/models.py:1331 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1307 templates/stats.html:25 +#: common/models.py:1337 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1308 +#: common/models.py:1338 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1314 +#: common/models.py:1344 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1315 +#: common/models.py:1345 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1325 +#: common/models.py:1355 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1326 +#: common/models.py:1356 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1332 +#: common/models.py:1362 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1333 +#: common/models.py:1363 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1339 +#: common/models.py:1369 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1340 +#: common/models.py:1370 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1346 +#: common/models.py:1376 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1347 +#: common/models.py:1377 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1353 +#: common/models.py:1383 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1384 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1360 +#: common/models.py:1390 msgid "Batch Code Template" msgstr "" -#: common/models.py:1361 +#: common/models.py:1391 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1366 +#: common/models.py:1396 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1367 +#: common/models.py:1397 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1373 +#: common/models.py:1403 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1374 +#: common/models.py:1404 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1380 +#: common/models.py:1410 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1381 +#: common/models.py:1411 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1388 +#: common/models.py:1418 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1389 +#: common/models.py:1419 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1395 +#: common/models.py:1425 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1396 +#: common/models.py:1426 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1402 +#: common/models.py:1432 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1403 +#: common/models.py:1433 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1408 +#: common/models.py:1438 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1409 +#: common/models.py:1439 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1415 -msgid "Sales Order Reference Pattern" -msgstr "" +#: common/models.py:1445 +#, fuzzy +#| msgid "Sales Orders" +msgid "Enable Return Orders" +msgstr "销售订单" -#: common/models.py:1416 -msgid "Required pattern for generating Sales Order reference field" -msgstr "" - -#: common/models.py:1422 -msgid "Sales Order Default Shipment" -msgstr "" - -#: common/models.py:1423 -msgid "Enable creation of default shipment with sales orders" -msgstr "" - -#: common/models.py:1429 -msgid "Edit Completed Sales Orders" -msgstr "" - -#: common/models.py:1430 -msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "" - -#: common/models.py:1436 -msgid "Purchase Order Reference Pattern" -msgstr "" - -#: common/models.py:1437 -msgid "Required pattern for generating Purchase Order reference field" -msgstr "" - -#: common/models.py:1443 -msgid "Edit Completed Purchase Orders" -msgstr "" - -#: common/models.py:1444 -msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "" - -#: common/models.py:1451 -msgid "Enable password forgot" +#: common/models.py:1446 +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1452 -msgid "Enable password forgot function on the login pages" -msgstr "" +#, fuzzy +#| msgid "Build Order Reference" +msgid "Return Order Reference Pattern" +msgstr "相关生产订单" -#: common/models.py:1458 -msgid "Enable registration" +#: common/models.py:1453 +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1459 -msgid "Enable self-registration for users on the login pages" -msgstr "" +#, fuzzy +#| msgid "Complete Build Order" +msgid "Edit Completed Return Orders" +msgstr "生产订单完成" -#: common/models.py:1465 -msgid "Enable SSO" +#: common/models.py:1460 +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1466 -msgid "Enable SSO on the login pages" +msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1472 -msgid "Enable SSO registration" +#: common/models.py:1467 +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1473 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1479 -msgid "Email required" +#: common/models.py:1474 +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1480 -msgid "Require user to supply mail on signup" +msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1486 -msgid "Auto-fill SSO users" +#: common/models.py:1481 +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1487 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1493 -msgid "Mail twice" +#: common/models.py:1488 +msgid "Required pattern for generating Purchase Order reference field" msgstr "" #: common/models.py:1494 -msgid "On signup ask users twice for their mail" +msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1500 -msgid "Password twice" +#: common/models.py:1495 +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1501 -msgid "On signup ask users twice for their password" +#: common/models.py:1502 +msgid "Enable password forgot" msgstr "" -#: common/models.py:1507 -msgid "Allowed domains" +#: common/models.py:1503 +msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1508 -msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +#: common/models.py:1509 +msgid "Enable registration" msgstr "" -#: common/models.py:1514 -msgid "Group on signup" +#: common/models.py:1510 +msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1515 -msgid "Group to which new users are assigned on registration" +#: common/models.py:1516 +msgid "Enable SSO" msgstr "" -#: common/models.py:1521 -msgid "Enforce MFA" +#: common/models.py:1517 +msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1522 -msgid "Users must use multifactor security." +#: common/models.py:1523 +msgid "Enable SSO registration" msgstr "" -#: common/models.py:1528 -msgid "Check plugins on startup" +#: common/models.py:1524 +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1529 -msgid "Check that all plugins are installed on startup - enable in container environments" +#: common/models.py:1530 +msgid "Email required" msgstr "" -#: common/models.py:1536 -msgid "Check plugin signatures" +#: common/models.py:1531 +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1537 -msgid "Check and show signatures for plugins" +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:1538 +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1544 -msgid "Enable URL integration" +msgid "Mail twice" msgstr "" #: common/models.py:1545 -msgid "Enable plugins to add URL routes" +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:1551 +msgid "Password twice" msgstr "" #: common/models.py:1552 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:1558 +msgid "Allowed domains" +msgstr "" + +#: common/models.py:1559 +msgid "Restrict signup to certain domains (comma-separated, strarting with @)" +msgstr "" + +#: common/models.py:1565 +msgid "Group on signup" +msgstr "" + +#: common/models.py:1566 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1572 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1573 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1579 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1580 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1587 +msgid "Check plugin signatures" +msgstr "" + +#: common/models.py:1588 +msgid "Check and show signatures for plugins" +msgstr "" + +#: common/models.py:1595 +msgid "Enable URL integration" +msgstr "" + +#: common/models.py:1596 +msgid "Enable plugins to add URL routes" +msgstr "" + +#: common/models.py:1603 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1553 +#: common/models.py:1604 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1560 +#: common/models.py:1611 msgid "Enable app integration" msgstr "" -#: common/models.py:1561 +#: common/models.py:1612 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1568 +#: common/models.py:1619 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1569 +#: common/models.py:1620 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1576 +#: common/models.py:1627 msgid "Enable event integration" msgstr "" -#: common/models.py:1577 +#: common/models.py:1628 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1584 +#: common/models.py:1635 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1585 +#: common/models.py:1636 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1591 +#: common/models.py:1642 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1592 +#: common/models.py:1643 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1601 -msgid "Delete Old Reports" +#: common/models.py:1652 +msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1602 +#: common/models.py:1653 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1619 common/models.py:1984 +#: common/models.py:1670 common/models.py:2049 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1638 +#: common/models.py:1689 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1659 +#: common/models.py:1710 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1711 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1666 +#: common/models.py:1717 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1667 +#: common/models.py:1718 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1673 +#: common/models.py:1724 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1674 +#: common/models.py:1725 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1680 +#: common/models.py:1731 msgid "Recent Part Count" msgstr "" -#: common/models.py:1681 +#: common/models.py:1732 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1687 +#: common/models.py:1738 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1688 +#: common/models.py:1739 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1694 +#: common/models.py:1745 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1695 +#: common/models.py:1746 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1701 +#: common/models.py:1752 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1702 +#: common/models.py:1753 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1708 +#: common/models.py:1759 msgid "Show low stock" msgstr "" -#: common/models.py:1709 +#: common/models.py:1760 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1715 +#: common/models.py:1766 msgid "Show depleted stock" msgstr "" -#: common/models.py:1716 +#: common/models.py:1767 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1722 +#: common/models.py:1773 msgid "Show needed stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1774 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1729 +#: common/models.py:1780 msgid "Show expired stock" msgstr "" -#: common/models.py:1730 +#: common/models.py:1781 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1736 +#: common/models.py:1787 msgid "Show stale stock" msgstr "" -#: common/models.py:1737 +#: common/models.py:1788 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1743 +#: common/models.py:1794 msgid "Show pending builds" msgstr "" -#: common/models.py:1744 +#: common/models.py:1795 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1750 +#: common/models.py:1801 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1751 +#: common/models.py:1802 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1757 +#: common/models.py:1808 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1758 +#: common/models.py:1809 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1764 +#: common/models.py:1815 msgid "Show overdue POs" msgstr "" -#: common/models.py:1765 +#: common/models.py:1816 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1771 +#: common/models.py:1822 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1772 +#: common/models.py:1823 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1778 +#: common/models.py:1829 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1779 +#: common/models.py:1830 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1785 +#: common/models.py:1836 msgid "Show News" msgstr "" -#: common/models.py:1786 +#: common/models.py:1837 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1792 +#: common/models.py:1843 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1793 +#: common/models.py:1844 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1799 +#: common/models.py:1850 msgid "Default label printer" msgstr "" -#: common/models.py:1800 +#: common/models.py:1851 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1806 +#: common/models.py:1857 msgid "Inline report display" msgstr "" -#: common/models.py:1807 +#: common/models.py:1858 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1813 +#: common/models.py:1864 msgid "Search Parts" msgstr "" -#: common/models.py:1814 +#: common/models.py:1865 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1820 +#: common/models.py:1871 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1821 +#: common/models.py:1872 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1827 +#: common/models.py:1878 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1879 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1834 +#: common/models.py:1885 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1835 +#: common/models.py:1886 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1841 +#: common/models.py:1892 msgid "Search Categories" msgstr "" -#: common/models.py:1842 +#: common/models.py:1893 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1848 +#: common/models.py:1899 msgid "Search Stock" msgstr "" -#: common/models.py:1849 +#: common/models.py:1900 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1855 +#: common/models.py:1906 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1856 +#: common/models.py:1907 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1862 +#: common/models.py:1913 msgid "Search Locations" msgstr "" -#: common/models.py:1863 +#: common/models.py:1914 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1869 +#: common/models.py:1920 msgid "Search Companies" msgstr "" -#: common/models.py:1870 +#: common/models.py:1921 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1876 +#: common/models.py:1927 msgid "Search Build Orders" msgstr "" -#: common/models.py:1877 +#: common/models.py:1928 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1883 +#: common/models.py:1934 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1884 +#: common/models.py:1935 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1890 +#: common/models.py:1941 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1891 +#: common/models.py:1942 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1897 +#: common/models.py:1948 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1898 +#: common/models.py:1949 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1904 +#: common/models.py:1955 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1905 +#: common/models.py:1956 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1911 -msgid "Search Preview Results" -msgstr "搜索预览结果" - -#: common/models.py:1912 -msgid "Number of results to show in each section of the search preview window" -msgstr "" - -#: common/models.py:1918 -msgid "Show Quantity in Forms" -msgstr "在表格中显示数量" - -#: common/models.py:1919 -msgid "Display available part quantity in some forms" -msgstr "在某些表格中显示可用的商品数量" - -#: common/models.py:1925 -msgid "Escape Key Closes Forms" -msgstr "" - -#: common/models.py:1926 -msgid "Use the escape key to close modal forms" -msgstr "" - -#: common/models.py:1932 -msgid "Fixed Navbar" -msgstr "" - -#: common/models.py:1933 -msgid "The navbar position is fixed to the top of the screen" -msgstr "" - -#: common/models.py:1939 -msgid "Date Format" -msgstr "" - -#: common/models.py:1940 -msgid "Preferred format for displaying dates" -msgstr "" - -#: common/models.py:1954 part/templates/part/detail.html:41 -msgid "Part Scheduling" -msgstr "" - -#: common/models.py:1955 -msgid "Display part scheduling information" -msgstr "" - -#: common/models.py:1961 part/templates/part/detail.html:62 -msgid "Part Stocktake" -msgstr "" - #: common/models.py:1962 -msgid "Display part stocktake information (if stocktake functionality is enabled)" -msgstr "" +#, fuzzy +#| msgid "Purchase Orders" +msgid "Search Return Orders" +msgstr "采购订单" -#: common/models.py:1968 -msgid "Table String Length" +#: common/models.py:1963 +msgid "Display return orders in search preview window" msgstr "" #: common/models.py:1969 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:1970 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:1976 +msgid "Search Preview Results" +msgstr "搜索预览结果" + +#: common/models.py:1977 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:1983 +msgid "Show Quantity in Forms" +msgstr "在表格中显示数量" + +#: common/models.py:1984 +msgid "Display available part quantity in some forms" +msgstr "在某些表格中显示可用的商品数量" + +#: common/models.py:1990 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1991 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1997 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1998 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2004 +msgid "Date Format" +msgstr "" + +#: common/models.py:2005 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2019 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2020 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2026 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2027 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2033 +msgid "Table String Length" +msgstr "" + +#: common/models.py:2034 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2024 +#: common/models.py:2089 msgid "Price break quantity" msgstr "" -#: common/models.py:2031 company/serializers.py:407 order/models.py:977 -#: templates/js/translated/company.js:1219 templates/js/translated/part.js:1522 -#: templates/js/translated/pricing.js:605 +#: common/models.py:2096 company/serializers.py:424 order/models.py:1060 +#: order/models.py:1852 templates/js/translated/company.js:1411 +#: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 +#: templates/js/translated/return_order.js:680 msgid "Price" msgstr "价格" -#: common/models.py:2032 +#: common/models.py:2097 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2192 common/models.py:2370 +#: common/models.py:2257 common/models.py:2435 msgid "Endpoint" msgstr "" -#: common/models.py:2193 +#: common/models.py:2258 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2202 +#: common/models.py:2267 msgid "Name for this webhook" msgstr "" -#: common/models.py:2207 part/admin.py:50 part/models.py:954 -#: plugin/models.py:100 templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:352 -#: templates/js/translated/table_filters.js:497 +#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: plugin/models.py:100 templates/js/translated/table_filters.js:62 +#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/table_filters.js:529 msgid "Active" msgstr "" -#: common/models.py:2208 +#: common/models.py:2273 msgid "Is this webhook active" msgstr "" -#: common/models.py:2222 +#: common/models.py:2287 msgid "Token" msgstr "令牌" -#: common/models.py:2223 +#: common/models.py:2288 msgid "Token for access" msgstr "" -#: common/models.py:2230 +#: common/models.py:2295 msgid "Secret" msgstr "" -#: common/models.py:2231 +#: common/models.py:2296 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2337 +#: common/models.py:2402 msgid "Message ID" msgstr "" -#: common/models.py:2338 +#: common/models.py:2403 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2346 +#: common/models.py:2411 msgid "Host" msgstr "" -#: common/models.py:2347 +#: common/models.py:2412 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2354 +#: common/models.py:2419 msgid "Header" msgstr "" -#: common/models.py:2355 +#: common/models.py:2420 msgid "Header of this message" msgstr "" -#: common/models.py:2361 +#: common/models.py:2426 msgid "Body" msgstr "" -#: common/models.py:2362 +#: common/models.py:2427 msgid "Body of this message" msgstr "" -#: common/models.py:2371 +#: common/models.py:2436 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2376 +#: common/models.py:2441 msgid "Worked on" msgstr "" -#: common/models.py:2377 +#: common/models.py:2442 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2531 +#: common/models.py:2596 msgid "Id" msgstr "" -#: common/models.py:2537 templates/js/translated/news.js:35 +#: common/models.py:2602 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2547 templates/js/translated/news.js:51 +#: common/models.py:2612 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2552 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2557 templates/js/translated/news.js:43 +#: common/models.py:2622 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2562 +#: common/models.py:2627 msgid "Read" msgstr "" -#: common/models.py:2563 +#: common/models.py:2628 msgid "Was this news item read?" msgstr "" @@ -3052,7 +3217,7 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:302 +#: common/notifications.py:302 common/notifications.py:309 msgid "Items Received" msgstr "" @@ -3060,19 +3225,25 @@ msgstr "" msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:416 +#: common/notifications.py:311 +#, fuzzy +#| msgid "Received against purchase order" +msgid "Items have been received against a return order" +msgstr "收到定购单" + +#: common/notifications.py:423 msgid "Error raised by plugin" msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 -#: order/templates/order/purchase_order_detail.html:25 order/views.py:102 +#: order/templates/order/purchase_order_detail.html:25 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "上传文件" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:103 +#: order/views.py:119 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 @@ -3112,7 +3283,7 @@ msgstr "公司简介" #: company/models.py:110 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:503 +#: templates/js/translated/company.js:500 msgid "Website" msgstr "网站" @@ -3138,6 +3309,7 @@ msgstr "联系电话" #: company/models.py:123 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:48 +#: templates/js/translated/company.js:644 msgid "Email" msgstr "电子邮件" @@ -3146,6 +3318,9 @@ msgid "Contact email address" msgstr "联系人电子邮件" #: company/models.py:126 company/templates/company/company_base.html:140 +#: order/models.py:231 order/templates/order/order_base.html:187 +#: order/templates/order/return_order_base.html:155 +#: order/templates/order/sales_order_base.html:186 msgid "Contact" msgstr "联系人" @@ -3157,11 +3332,11 @@ msgstr "" msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:140 part/models.py:848 +#: company/models.py:140 part/models.py:905 msgid "Image" msgstr "图片" -#: company/models.py:143 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:221 msgid "Company Notes" msgstr "公司备注" @@ -3195,205 +3370,215 @@ msgstr "该公司使用的默认货币" #: company/models.py:222 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:476 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473 msgid "Company" msgstr "公司" -#: company/models.py:272 company/models.py:507 stock/models.py:668 +#: company/models.py:277 company/models.py:512 stock/models.py:667 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:276 company/models.py:511 +#: company/models.py:281 company/models.py:516 msgid "Select part" msgstr "选择商品" -#: company/models.py:287 company/templates/company/company_base.html:77 +#: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:353 +#: company/templates/company/supplier_part.html:152 part/serializers.py:359 #: stock/templates/stock/item_base.html:213 -#: templates/js/translated/company.js:487 -#: templates/js/translated/company.js:588 -#: templates/js/translated/company.js:723 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/table_filters.js:474 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:809 +#: templates/js/translated/company.js:939 +#: templates/js/translated/company.js:1206 +#: templates/js/translated/table_filters.js:506 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:288 +#: company/models.py:293 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:294 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:359 -#: templates/js/translated/company.js:322 -#: templates/js/translated/company.js:587 -#: templates/js/translated/company.js:739 -#: templates/js/translated/company.js:1030 -#: templates/js/translated/order.js:2385 templates/js/translated/part.js:1444 +#: company/models.py:299 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: templates/js/translated/company.js:325 +#: templates/js/translated/company.js:808 +#: templates/js/translated/company.js:955 +#: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 +#: templates/js/translated/purchase_order.js:1684 +#: templates/js/translated/purchase_order.js:1891 msgid "MPN" msgstr "" -#: company/models.py:295 +#: company/models.py:300 msgid "Manufacturer Part Number" msgstr "制造商商品编号" -#: company/models.py:301 +#: company/models.py:306 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:307 +#: company/models.py:312 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:352 company/models.py:376 company/models.py:530 +#: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:223 msgid "Manufacturer Part" msgstr "制造商商品" -#: company/models.py:383 +#: company/models.py:388 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:389 -#: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2189 templates/js/translated/company.js:636 -#: templates/js/translated/company.js:854 templates/js/translated/part.js:1266 -#: templates/js/translated/stock.js:1442 +#: company/models.py:394 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2195 templates/js/translated/company.js:857 +#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 +#: templates/js/translated/stock.js:1425 msgid "Value" msgstr "数值" -#: company/models.py:390 +#: company/models.py:395 msgid "Parameter value" msgstr "参数值" -#: company/models.py:396 part/admin.py:40 part/models.py:921 -#: part/models.py:3267 part/templates/part/part_base.html:286 +#: company/models.py:401 part/admin.py:40 part/models.py:978 +#: part/models.py:3337 part/templates/part/part_base.html:287 #: templates/InvenTree/settings/settings_staff_js.html:255 -#: templates/js/translated/company.js:860 templates/js/translated/part.js:1272 +#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" msgstr "单位" -#: company/models.py:397 +#: company/models.py:402 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:475 +#: company/models.py:480 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:517 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:342 stock/templates/stock/item_base.html:230 +#: company/models.py:522 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:136 order/models.py:349 +#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:230 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:321 -#: templates/js/translated/company.js:491 -#: templates/js/translated/company.js:984 templates/js/translated/order.js:2109 -#: templates/js/translated/part.js:1412 templates/js/translated/pricing.js:482 -#: templates/js/translated/table_filters.js:478 +#: templates/js/translated/company.js:324 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 +#: templates/js/translated/pricing.js:480 +#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "供应商" -#: company/models.py:518 +#: company/models.py:523 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:523 company/templates/company/supplier_part.html:146 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:348 -#: templates/js/translated/company.js:320 templates/js/translated/order.js:2372 -#: templates/js/translated/part.js:1430 templates/js/translated/pricing.js:494 +#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:354 +#: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 +#: templates/js/translated/pricing.js:492 +#: templates/js/translated/purchase_order.js:1683 +#: templates/js/translated/purchase_order.js:1866 msgid "SKU" msgstr "" -#: company/models.py:524 part/serializers.py:348 +#: company/models.py:529 part/serializers.py:354 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:531 +#: company/models.py:536 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:537 +#: company/models.py:542 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:543 +#: company/models.py:548 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:548 company/templates/company/supplier_part.html:181 -#: part/admin.py:278 part/models.py:3531 part/templates/part/upload_bom.html:59 +#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 -#: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_so_report_base.html:32 +#: stock/serializers.py:393 msgid "Note" msgstr "备注" -#: company/models.py:552 part/models.py:1850 +#: company/models.py:557 part/models.py:1910 msgid "base cost" msgstr "" -#: company/models.py:552 part/models.py:1850 +#: company/models.py:557 part/models.py:1910 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:554 company/templates/company/supplier_part.html:167 -#: stock/admin.py:118 stock/models.py:694 +#: company/models.py:559 company/templates/company/supplier_part.html:167 +#: stock/admin.py:119 stock/models.py:693 #: stock/templates/stock/item_base.html:246 -#: templates/js/translated/company.js:1046 -#: templates/js/translated/stock.js:2070 +#: templates/js/translated/company.js:1241 +#: templates/js/translated/stock.js:2130 msgid "Packaging" msgstr "打包" -#: company/models.py:554 +#: company/models.py:559 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:557 company/serializers.py:302 +#: company/models.py:562 company/serializers.py:319 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:1051 templates/js/translated/order.js:901 -#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600 -#: templates/js/translated/order.js:2416 templates/js/translated/order.js:2433 -#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1514 +#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 +#: templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:250 +#: templates/js/translated/purchase_order.js:775 +#: templates/js/translated/purchase_order.js:1032 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1939 msgid "Pack Quantity" msgstr "" -#: company/models.py:558 +#: company/models.py:563 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:564 part/models.py:1852 +#: company/models.py:569 part/models.py:1912 msgid "multiple" msgstr "" -#: company/models.py:564 +#: company/models.py:569 msgid "Order multiple" msgstr "" -#: company/models.py:572 company/templates/company/supplier_part.html:115 +#: company/models.py:577 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:1125 templates/js/translated/build.js:1907 -#: templates/js/translated/build.js:2816 -#: templates/js/translated/model_renderers.js:130 -#: templates/js/translated/part.js:606 templates/js/translated/part.js:609 -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885 +#: templates/js/translated/build.js:2792 +#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/part.js:613 templates/js/translated/part.js:615 +#: templates/js/translated/part.js:620 +#: templates/js/translated/table_filters.js:238 msgid "Available" msgstr "空闲" -#: company/models.py:573 +#: company/models.py:578 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:577 +#: company/models.py:582 msgid "Availability Updated" msgstr "" -#: company/models.py:578 +#: company/models.py:583 msgid "Date of last update of availability data" msgstr "" @@ -3402,7 +3587,7 @@ msgid "Default currency used for this supplier" msgstr "该公司使用的默认货币" #: company/templates/company/company_base.html:22 -#: templates/js/translated/order.js:742 +#: templates/js/translated/purchase_order.js:178 msgid "Create Purchase Order" msgstr "创建采购订单" @@ -3415,7 +3600,7 @@ msgid "Edit company information" msgstr "编辑公司信息" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:422 msgid "Edit Company" msgstr "编辑公司信息" @@ -3443,14 +3628,17 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:669 -#: order/templates/order/sales_order_base.html:116 stock/models.py:713 -#: stock/models.py:714 stock/serializers.py:794 +#: company/templates/company/company_base.html:87 order/models.py:736 +#: order/models.py:1652 order/templates/order/return_order_base.html:112 +#: order/templates/order/sales_order_base.html:116 stock/models.py:712 +#: stock/models.py:713 stock/serializers.py:796 #: stock/templates/stock/item_base.html:402 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:483 templates/js/translated/order.js:2916 -#: templates/js/translated/stock.js:2679 -#: templates/js/translated/table_filters.js:482 +#: templates/js/translated/company.js:480 +#: templates/js/translated/return_order.js:254 +#: templates/js/translated/sales_order.js:696 +#: templates/js/translated/stock.js:2738 +#: templates/js/translated/table_filters.js:514 msgid "Customer" msgstr "客户" @@ -3463,7 +3651,7 @@ msgid "Phone" msgstr "电话" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:536 msgid "Remove Image" msgstr "" @@ -3472,72 +3660,72 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:534 +#: part/templates/part/part_base.html:539 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:563 +#: part/templates/part/part_base.html:568 msgid "Upload Image" msgstr "上传图片" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:618 +#: part/templates/part/part_base.html:623 msgid "Download Image" msgstr "下载图片" -#: company/templates/company/detail.html:14 +#: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:172 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 msgid "Supplier Parts" msgstr "供应商商品" -#: company/templates/company/detail.html:18 +#: company/templates/company/detail.html:19 msgid "Create new supplier part" msgstr "创建新的供应商商品" -#: company/templates/company/detail.html:19 +#: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:381 msgid "New Supplier Part" msgstr "新建供应商商品" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:37 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:183 msgid "Order parts" msgstr "订购商品" -#: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:42 +#: company/templates/company/detail.html:90 msgid "Delete parts" msgstr "删除商品" -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 +#: company/templates/company/detail.html:43 +#: company/templates/company/detail.html:91 msgid "Delete Parts" msgstr "删除商品" -#: company/templates/company/detail.html:61 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:185 +#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:179 msgid "Manufacturer Parts" msgstr "制造商商品" -#: company/templates/company/detail.html:65 +#: company/templates/company/detail.html:66 msgid "Create new manufacturer part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 msgid "New Manufacturer Part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:107 +#: company/templates/company/detail.html:108 msgid "Supplier Stock" msgstr "供货商库存" -#: company/templates/company/detail.html:117 +#: company/templates/company/detail.html:118 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 @@ -3546,49 +3734,89 @@ msgstr "供货商库存" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:293 templates/navbar.html:50 +#: templates/js/translated/search.js:233 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "采购订单" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "新建采购订单" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:123 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "新建采购订单" -#: company/templates/company/detail.html:143 -#: company/templates/company/sidebar.html:20 +#: company/templates/company/detail.html:146 +#: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:317 templates/navbar.html:61 +#: templates/js/translated/search.js:247 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "销售订单" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:150 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "新建销售订单" -#: company/templates/company/detail.html:148 +#: company/templates/company/detail.html:151 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "新建销售订单" -#: company/templates/company/detail.html:168 -#: templates/js/translated/build.js:1745 +#: company/templates/company/detail.html:173 +#: templates/js/translated/build.js:1725 msgid "Assigned Stock" msgstr "" +#: company/templates/company/detail.html:191 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: users/models.py:45 +#, fuzzy +#| msgid "Returned" +msgid "Return Orders" +msgstr "已退回" + +#: company/templates/company/detail.html:195 +#: order/templates/order/return_orders.html:21 +#, fuzzy +#| msgid "Create new sales order" +msgid "Create new return order" +msgstr "新建销售订单" + +#: company/templates/company/detail.html:196 +#: order/templates/order/return_orders.html:22 +#, fuzzy +#| msgid "New Build Order" +msgid "New Return Order" +msgstr "新建生产订单" + +#: company/templates/company/detail.html:236 +#, fuzzy +#| msgid "Company Notes" +msgid "Company Contacts" +msgstr "公司备注" + +#: company/templates/company/detail.html:240 +#: company/templates/company/detail.html:241 +#, fuzzy +#| msgid "Contact" +msgid "Add Contact" +msgstr "联系人" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "供应商列表" @@ -3605,12 +3833,12 @@ msgid "Order part" msgstr "订购商品" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:771 +#: templates/js/translated/company.js:986 msgid "Edit manufacturer part" msgstr "编辑制造商商品" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:772 +#: templates/js/translated/company.js:987 msgid "Delete manufacturer part" msgstr "删除生产商商品" @@ -3638,9 +3866,9 @@ msgstr "删除供应商商品" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:510 templates/js/translated/helpers.js:47 -#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188 -#: users/models.py:231 +#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58 +#: templates/js/translated/part.js:313 templates/js/translated/stock.js:186 +#: users/models.py:243 msgid "Delete" msgstr "删除" @@ -3654,7 +3882,7 @@ msgstr "参数" #: company/templates/company/manufacturer_part.html:170 #: part/templates/part/detail.html:213 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:63 +#: templates/InvenTree/settings/part.html:64 msgid "New Parameter" msgstr "新建参数" @@ -3662,7 +3890,7 @@ msgstr "新建参数" msgid "Delete parameters" msgstr "删除参数" -#: company/templates/company/manufacturer_part.html:245 +#: company/templates/company/manufacturer_part.html:227 #: part/templates/part/detail.html:872 msgid "Add Parameter" msgstr "添加参数" @@ -3679,15 +3907,22 @@ msgstr "" msgid "Supplied Stock Items" msgstr "" -#: company/templates/company/sidebar.html:22 +#: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" msgstr "" +#: company/templates/company/sidebar.html:33 +#, fuzzy +#| msgid "Contact" +msgid "Contacts" +msgstr "联系人" + #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: company/templates/company/supplier_part.html:24 stock/models.py:676 #: stock/templates/stock/item_base.html:239 -#: templates/js/translated/company.js:1000 -#: templates/js/translated/order.js:1265 templates/js/translated/stock.js:2010 +#: templates/js/translated/company.js:1195 +#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "供应商商品" @@ -3708,8 +3943,8 @@ msgstr "" #: company/templates/company/supplier_part.html:42 #: stock/templates/stock/item_base.html:48 #: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:454 -#: templates/js/translated/barcode.js:459 +#: templates/js/translated/barcode.js:453 +#: templates/js/translated/barcode.js:458 msgid "Unlink Barcode" msgstr "" @@ -3738,13 +3973,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:268 msgid "Edit Supplier Part" msgstr "编辑供应商商品" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:243 msgid "Duplicate Supplier Part" msgstr "" @@ -3757,7 +3992,7 @@ msgid "Delete Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:307 +#: part/templates/part/part_base.html:308 #: stock/templates/stock/item_base.html:161 #: stock/templates/stock/location.html:156 msgid "Barcode Identifier" @@ -3778,7 +4013,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" @@ -3791,8 +4026,8 @@ msgid "Pricing Information" msgstr "价格信息" #: company/templates/company/supplier_part.html:247 -#: templates/js/translated/company.js:370 -#: templates/js/translated/pricing.js:668 +#: templates/js/translated/company.js:373 +#: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" @@ -3809,14 +4044,14 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 -#: part/templates/part/category.html:204 +#: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:174 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:953 -#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2538 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 +#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "库存项" @@ -3842,7 +4077,7 @@ msgstr "客户信息" msgid "New Customer" msgstr "新建客户" -#: company/views.py:52 templates/js/translated/search.js:270 +#: company/views.py:52 templates/js/translated/search.js:220 msgid "Companies" msgstr "公司" @@ -3850,511 +4085,620 @@ msgstr "公司" msgid "New Company" msgstr "新建公司信息" -#: label/models.py:102 +#: label/models.py:103 msgid "Label name" msgstr "标签名称" -#: label/models.py:109 +#: label/models.py:110 msgid "Label description" msgstr "标签说明" -#: label/models.py:116 +#: label/models.py:117 msgid "Label" msgstr "标签" -#: label/models.py:117 +#: label/models.py:118 msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:123 report/models.py:258 +#: label/models.py:124 report/models.py:264 msgid "Enabled" msgstr "已启用" -#: label/models.py:124 +#: label/models.py:125 msgid "Label template is enabled" msgstr "标签模板已启用" -#: label/models.py:129 +#: label/models.py:130 msgid "Width [mm]" msgstr "宽度 [mm]" -#: label/models.py:130 +#: label/models.py:131 msgid "Label width, specified in mm" msgstr "标注宽度,以毫米为单位。" -#: label/models.py:136 +#: label/models.py:137 msgid "Height [mm]" msgstr "高度 [mm]" -#: label/models.py:137 +#: label/models.py:138 msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:143 report/models.py:251 +#: label/models.py:144 report/models.py:257 msgid "Filename Pattern" msgstr "文件名样式" -#: label/models.py:144 +#: label/models.py:145 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:233 +#: label/models.py:234 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "查询筛选器 (逗号分隔的键值对列表)" -#: label/models.py:234 label/models.py:275 label/models.py:303 -#: report/models.py:279 report/models.py:410 report/models.py:448 +#: label/models.py:235 label/models.py:276 label/models.py:304 +#: report/models.py:285 report/models.py:443 report/models.py:481 +#: report/models.py:519 msgid "Filters" msgstr "筛选器" -#: label/models.py:274 +#: label/models.py:275 msgid "Query filters (comma-separated list of key=value pairs" msgstr "查询筛选器 (逗号分隔的键值对列表" -#: label/models.py:302 +#: label/models.py:303 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "商品查询筛选器 (逗号分隔的键值对列表)" -#: order/api.py:165 +#: order/api.py:229 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1290 order/models.py:1023 order/models.py:1102 +#: order/api.py:1514 order/models.py:1106 order/models.py:1190 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report.html:76 +#: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266 -#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1389 -#: templates/js/translated/pricing.js:774 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 +#: templates/js/translated/purchase_order.js:108 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1294 +#: order/api.py:1518 msgid "Unknown" msgstr "" -#: order/models.py:82 +#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:299 +#: templates/js/translated/purchase_order.js:1963 +#: templates/js/translated/sales_order.js:1711 +msgid "Total Price" +msgstr "" + +#: order/models.py:67 +#, fuzzy +#| msgid "User or group responsible for this order" +msgid "Total price for this order" +msgstr "负责此订单的用户或群组" + +#: order/models.py:177 +#, fuzzy +#| msgid "Build output does not match the parent build" +msgid "Contact does not match selected company" +msgstr "生产产出与对应生产不匹配" + +#: order/models.py:199 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1285 +#: order/models.py:201 order/models.py:1378 order/models.py:1856 msgid "Link to external page" msgstr "" -#: order/models.py:92 -msgid "Created By" -msgstr "" - -#: order/models.py:99 -msgid "User or group responsible for this order" -msgstr "负责此订单的用户或群组" - -#: order/models.py:104 -msgid "Order notes" -msgstr "" - -#: order/models.py:241 order/models.py:656 -msgid "Order reference" -msgstr "" - -#: order/models.py:249 order/models.py:674 -msgid "Purchase order status" -msgstr "" - -#: order/models.py:264 -msgid "Company from which the items are being ordered" -msgstr "订购该商品的公司" - -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:2118 -msgid "Supplier Reference" -msgstr "" - -#: order/models.py:267 -msgid "Supplier order reference code" -msgstr "" - -#: order/models.py:274 -msgid "received by" -msgstr "" - -#: order/models.py:279 -msgid "Issue Date" -msgstr "" - -#: order/models.py:280 -msgid "Date order was issued" -msgstr "" - -#: order/models.py:285 -msgid "Target Delivery Date" -msgstr "" - -#: order/models.py:286 +#: order/models.py:206 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:215 +msgid "Created By" +msgstr "" + +#: order/models.py:222 +msgid "User or group responsible for this order" +msgstr "负责此订单的用户或群组" + +#: order/models.py:232 +#, fuzzy +#| msgid "Priority of this build order" +msgid "Point of contact for this order" +msgstr "此构建订单的优先级" + +#: order/models.py:236 +msgid "Order notes" +msgstr "" + +#: order/models.py:327 order/models.py:723 +msgid "Order reference" +msgstr "" + +#: order/models.py:335 order/models.py:748 +msgid "Purchase order status" +msgstr "" + +#: order/models.py:350 +msgid "Company from which the items are being ordered" +msgstr "订购该商品的公司" + +#: order/models.py:358 order/templates/order/order_base.html:132 +#: templates/js/translated/purchase_order.js:1544 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:358 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:365 +msgid "received by" +msgstr "" + +#: order/models.py:370 order/models.py:1675 +msgid "Issue Date" +msgstr "" + +#: order/models.py:371 order/models.py:1676 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:377 order/models.py:1682 msgid "Date order was completed" msgstr "" -#: order/models.py:331 +#: order/models.py:412 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:490 +#: order/models.py:560 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:670 +#: order/models.py:737 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:681 +#: order/models.py:756 order/models.py:1669 msgid "Customer Reference " msgstr "" -#: order/models.py:681 +#: order/models.py:756 order/models.py:1670 msgid "Customer order reference code" msgstr "" -#: order/models.py:686 -msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" - -#: order/models.py:689 order/models.py:1243 -#: templates/js/translated/order.js:2963 templates/js/translated/order.js:3126 +#: order/models.py:758 order/models.py:1336 +#: templates/js/translated/sales_order.js:743 +#: templates/js/translated/sales_order.js:906 msgid "Shipment Date" msgstr "" -#: order/models.py:696 +#: order/models.py:765 msgid "shipped by" msgstr "" -#: order/models.py:751 +#: order/models.py:809 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:755 +#: order/models.py:813 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:758 templates/js/translated/order.js:424 +#: order/models.py:816 templates/js/translated/sales_order.js:437 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:761 +#: order/models.py:819 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:938 +#: order/models.py:1014 msgid "Item quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:1027 msgid "Line item reference" msgstr "" -#: order/models.py:946 +#: order/models.py:1029 msgid "Line item notes" msgstr "" -#: order/models.py:951 +#: order/models.py:1034 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:968 +#: order/models.py:1051 msgid "Context" msgstr "" -#: order/models.py:969 +#: order/models.py:1052 msgid "Additional context for this line" msgstr "" -#: order/models.py:978 +#: order/models.py:1061 msgid "Unit price" msgstr "" -#: order/models.py:1008 +#: order/models.py:1091 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:1099 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1102 order/models.py:1143 -#: order/models.py:1237 order/models.py:1369 -#: templates/js/translated/order.js:3582 +#: order/models.py:1105 order/models.py:1190 order/models.py:1231 +#: order/models.py:1330 order/models.py:1465 order/models.py:1821 +#: order/models.py:1870 templates/js/translated/sales_order.js:1357 msgid "Order" msgstr "" -#: order/models.py:1041 +#: order/models.py:1124 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1048 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2501 -#: templates/js/translated/part.js:1506 templates/js/translated/part.js:1538 -#: templates/js/translated/table_filters.js:393 +#: order/models.py:1131 order/templates/order/order_base.html:180 +#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 +#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:703 +#: templates/js/translated/table_filters.js:48 +#: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1049 +#: order/models.py:1132 msgid "Number of items received" msgstr "" -#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227 +#: order/models.py:1139 stock/models.py:809 stock/serializers.py:229 #: stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1057 +#: order/models.py:1140 msgid "Unit purchase price" msgstr "" -#: order/models.py:1065 +#: order/models.py:1153 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1131 +#: order/models.py:1219 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1136 +#: order/models.py:1224 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1162 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:924 +#: order/models.py:1250 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1163 +#: order/models.py:1251 msgid "Unit sale price" msgstr "" -#: order/models.py:1168 +#: order/models.py:1261 msgid "Shipped quantity" msgstr "" -#: order/models.py:1244 +#: order/models.py:1337 msgid "Date of shipment" msgstr "" -#: order/models.py:1251 +#: order/models.py:1344 msgid "Checked By" msgstr "" -#: order/models.py:1252 +#: order/models.py:1345 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197 -#: order/serializers.py:1325 templates/js/translated/model_renderers.js:338 +#: order/models.py:1352 order/models.py:1541 order/serializers.py:1202 +#: order/serializers.py:1330 templates/js/translated/model_renderers.js:403 msgid "Shipment" msgstr "" -#: order/models.py:1260 +#: order/models.py:1353 msgid "Shipment number" msgstr "" -#: order/models.py:1264 +#: order/models.py:1357 msgid "Shipment notes" msgstr "" -#: order/models.py:1270 +#: order/models.py:1363 msgid "Tracking Number" msgstr "" -#: order/models.py:1271 +#: order/models.py:1364 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1278 +#: order/models.py:1371 msgid "Invoice Number" msgstr "" -#: order/models.py:1279 +#: order/models.py:1372 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1297 +#: order/models.py:1390 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1300 +#: order/models.py:1393 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1403 order/models.py:1405 +#: order/models.py:1500 order/models.py:1502 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1409 +#: order/models.py:1506 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1411 +#: order/models.py:1508 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1414 +#: order/models.py:1511 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1424 order/serializers.py:1059 +#: order/models.py:1521 order/serializers.py:1064 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1427 +#: order/models.py:1524 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1525 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1436 +#: order/models.py:1533 msgid "Line" msgstr "" -#: order/models.py:1445 +#: order/models.py:1542 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1458 +#: order/models.py:1555 order/models.py:1829 +#: templates/js/translated/return_order.js:661 msgid "Item" msgstr "" -#: order/models.py:1459 +#: order/models.py:1556 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1462 +#: order/models.py:1559 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:190 +#: order/models.py:1639 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Return Order reference" +msgstr "相关生产订单" + +#: order/models.py:1653 +#, fuzzy +#| msgid "Company from which the items are being ordered" +msgid "Company from which items are being returned" +msgstr "订购该商品的公司" + +#: order/models.py:1664 +msgid "Return order status" +msgstr "" + +#: order/models.py:1814 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:1822 order/models.py:1870 +#: 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:239 +#: templates/js/translated/stock.js:2720 +#, fuzzy +#| msgid "Returned" +msgid "Return Order" +msgstr "已退回" + +#: order/models.py:1830 +#, fuzzy +#| msgid "Returned from customer" +msgid "Select item to return from customer" +msgstr "从客户退货" + +#: order/models.py:1835 +msgid "Received Date" +msgstr "" + +#: order/models.py:1836 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:1847 templates/js/translated/return_order.js:672 +#: templates/js/translated/table_filters.js:51 +msgid "Outcome" +msgstr "" + +#: order/models.py:1847 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:1853 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:223 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:205 order/serializers.py:1077 +#: order/serializers.py:238 order/serializers.py:1082 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:216 order/serializers.py:1088 +#: order/serializers.py:249 order/serializers.py:1093 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:328 +#: order/serializers.py:361 msgid "Order is not open" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:379 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:364 +#: order/serializers.py:397 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:369 +#: order/serializers.py:402 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:375 +#: order/serializers.py:408 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:376 +#: order/serializers.py:409 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:414 order/serializers.py:1165 +#: order/serializers.py:447 order/serializers.py:1170 msgid "Line Item" msgstr "" -#: order/serializers.py:420 +#: order/serializers.py:453 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:430 order/serializers.py:549 +#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1541 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:449 templates/js/translated/order.js:1627 +#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:457 templates/js/translated/order.js:1638 +#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:471 +#: order/serializers.py:504 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:485 +#: order/serializers.py:518 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:511 +#: order/serializers.py:544 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:565 +#: order/serializers.py:598 order/serializers.py:1556 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:582 +#: order/serializers.py:615 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:593 +#: order/serializers.py:626 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:902 +#: order/serializers.py:907 msgid "Sale price currency" msgstr "" -#: order/serializers.py:957 +#: order/serializers.py:962 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1020 order/serializers.py:1174 +#: order/serializers.py:1025 order/serializers.py:1179 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1042 +#: order/serializers.py:1047 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1192 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1209 order/serializers.py:1333 +#: order/serializers.py:1214 order/serializers.py:1338 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1212 order/serializers.py:1336 +#: order/serializers.py:1217 order/serializers.py:1341 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1271 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1276 +#: order/serializers.py:1281 msgid "The following serial numbers are already allocated" msgstr "" +#: order/serializers.py:1507 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1514 +#, fuzzy +#| msgid "Build output does not match Build Order" +msgid "Line item does not match return order" +msgstr "生产产出与订单不匹配" + +#: order/serializers.py:1517 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Line item has already been received" +msgstr "此生产产出已经完成" + +#: order/serializers.py:1549 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1629 +#, fuzzy +#| msgid "Uses default currency" +msgid "Line price currency" +msgstr "使用默认货币" + #: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" @@ -4378,21 +4722,25 @@ msgid "Print purchase order report" msgstr "" #: order/templates/order/order_base.html:35 +#: order/templates/order/return_order_base.html:45 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" msgstr "" #: order/templates/order/order_base.html:41 +#: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" msgstr "" #: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:59 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" msgstr "" #: order/templates/order/order_base.html:50 +#: order/templates/order/return_order_base.html:61 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" msgstr "取消订单" @@ -4403,6 +4751,8 @@ msgstr "" #: order/templates/order/order_base.html:61 #: order/templates/order/order_base.html:62 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/return_order_base.html:66 msgid "Submit Order" msgstr "" @@ -4411,61 +4761,66 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" #: order/templates/order/order_base.html:69 +#: order/templates/order/return_order_base.html:69 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:71 +#: order/templates/order/order_base.html:70 +#: order/templates/order/return_order_base.html:70 #: order/templates/order/sales_order_base.html:68 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:93 +#: order/templates/order/order_base.html:92 +#: order/templates/order/return_order_base.html:84 #: order/templates/order/sales_order_base.html:80 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:98 +#: order/templates/order/order_base.html:97 +#: order/templates/order/return_order_base.html:89 #: order/templates/order/sales_order_base.html:85 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:103 +#: order/templates/order/order_base.html:102 +#: order/templates/order/return_order_base.html:94 #: order/templates/order/sales_order_base.html:90 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:126 +#: order/templates/order/order_base.html:125 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:139 +#: order/templates/order/order_base.html:138 #: order/templates/order/sales_order_base.html:129 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:144 #: order/templates/order/sales_order_base.html:135 #: order/templates/order/sales_order_base.html:145 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:163 +#: order/templates/order/return_order_base.html:138 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:192 -#: order/templates/order/sales_order_base.html:190 +#: order/templates/order/order_base.html:201 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:196 -#: order/templates/order/sales_order_base.html:194 +#: order/templates/order/order_base.html:205 +#: order/templates/order/return_order_base.html:173 +#: order/templates/order/sales_order_base.html:204 msgid "Total cost could not be calculated" msgstr "" @@ -4518,11 +4873,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:102 templates/js/translated/build.js:489 -#: templates/js/translated/build.js:650 templates/js/translated/build.js:2119 -#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716 -#: templates/js/translated/order.js:3201 templates/js/translated/stock.js:663 -#: templates/js/translated/stock.js:833 +#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 +#: templates/js/translated/purchase_order.js:640 +#: templates/js/translated/purchase_order.js:1144 +#: templates/js/translated/return_order.js:449 +#: templates/js/translated/sales_order.js:979 +#: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "移除行" @@ -4564,9 +4921,11 @@ msgid "Step %(step)s of %(count)s" msgstr "步骤 %(step)s / %(count)s" #: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report.html:84 -#: report/templates/report/inventree_so_report.html:85 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" msgstr "" @@ -4579,59 +4938,98 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/order.js:609 templates/js/translated/order.js:782 +#: templates/js/translated/purchase_order.js:367 +#: templates/js/translated/return_order.js:402 +#: templates/js/translated/sales_order.js:175 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:31 -msgid "Receive selected items" +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/purchase_order_detail.html:33 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" msgstr "" #: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/purchase_order_detail.html:51 +#, fuzzy +#| msgid "Delete parameters" +msgid "Delete Line Items" +msgstr "删除参数" + +#: order/templates/order/purchase_order_detail.html:67 +#: order/templates/order/return_order_detail.html:47 #: order/templates/order/sales_order_detail.html:43 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/purchase_order_detail.html:73 +#: order/templates/order/return_order_detail.html:53 #: order/templates/order/sales_order_detail.html:49 -#: order/templates/order/sales_order_detail.html:283 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:76 +#: order/templates/order/purchase_order_detail.html:93 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/purchase_order_detail.html:118 +#: order/templates/order/return_order_detail.html:89 #: order/templates/order/sales_order_detail.html:149 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:239 -msgid "Add Order Line" +#: order/templates/order/return_order_base.html:43 +#, fuzzy +#| msgid "Print build order report" +msgid "Print return order report" +msgstr "打印构建订单报告" + +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +msgid "Print packing list" msgstr "" -#: order/templates/order/purchase_orders.html:30 -#: order/templates/order/sales_orders.html:33 -msgid "Print Order Reports" -msgstr "打印订单报表" +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:123 +#: templates/js/translated/return_order.js:267 +#: templates/js/translated/sales_order.js:709 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:169 +#: order/templates/order/sales_order_base.html:200 +#: part/templates/part/part_pricing.html:32 +#: 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:989 +#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/return_order.js:327 +#: templates/js/translated/sales_order.js:755 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +#, fuzzy +#| msgid "Build Order Details" +msgid "Order Details" +msgstr "生产订单详情" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:47 -msgid "Print packing list" -msgstr "" - #: order/templates/order/sales_order_base.html:60 -#: templates/js/translated/order.js:237 +#: templates/js/translated/sales_order.js:361 msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: templates/js/translated/order.js:402 +#: templates/js/translated/sales_order.js:415 msgid "Complete Sales Order" msgstr "" @@ -4639,11 +5037,6 @@ msgstr "" msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2929 -msgid "Customer Reference" -msgstr "" - #: order/templates/order/sales_order_base.html:141 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 @@ -4660,8 +5053,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231 -#: templates/js/translated/build.js:2020 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232 +#: templates/js/translated/build.js:2000 msgid "Actions" msgstr "" @@ -4669,34 +5062,34 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:104 +#: order/views.py:120 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:377 +#: order/views.py:393 msgid "Sales order not found" msgstr "" -#: order/views.py:383 +#: order/views.py:399 msgid "Price not found" msgstr "" -#: order/views.py:386 +#: order/views.py:402 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:391 +#: order/views.py:407 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:272 part/models.py:3401 part/tasks.py:283 -#: stock/admin.py:101 templates/js/translated/model_renderers.js:225 +#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283 +#: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:274 part/models.py:3405 part/tasks.py:284 +#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -4705,24 +5098,24 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:1140 templates/js/translated/part.js:1868 -#: templates/js/translated/stock.js:1801 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 +#: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:1145 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: report/models.py:177 templates/js/translated/part.js:1148 +#: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:808 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 +#: part/admin.py:38 part/admin.py:198 part/models.py:866 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 msgid "Keywords" msgstr "关键词" #: part/admin.py:42 part/admin.py:192 part/tasks.py:286 -#: templates/js/translated/model_renderers.js:362 msgid "Category ID" msgstr "类别 ID" @@ -4738,21 +5131,20 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 msgid "Minimum Stock" msgstr "最低库存" #: part/admin.py:61 part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1082 -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/company.js:1277 +#: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1962 -#: templates/js/translated/part.js:618 templates/js/translated/part.js:1758 -#: templates/js/translated/part.js:1934 -#: templates/js/translated/table_filters.js:68 +#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 +#: templates/js/translated/table_filters.js:96 msgid "On Order" msgstr "" @@ -4760,31 +5152,30 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:1974 -#: templates/js/translated/build.js:2236 templates/js/translated/build.js:2823 -#: templates/js/translated/order.js:4046 +#: part/admin.py:64 templates/js/translated/build.js:1954 +#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 +#: templates/js/translated/sales_order.js:1790 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:1762 -#: templates/js/translated/part.js:1941 +#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2844 templates/js/translated/part.js:858 +#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:886 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2850 templates/js/translated/part.js:868 +#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:896 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115 +#: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:271 stock/admin.py:43 +#: part/admin.py:196 part/admin.py:272 stock/admin.py:43 msgid "Parent Name" msgstr "" @@ -4799,67 +5190,67 @@ msgstr "类别路径" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2450 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" -#: part/admin.py:264 +#: part/admin.py:265 msgid "BOM Level" msgstr "" -#: part/admin.py:266 +#: part/admin.py:267 msgid "BOM Item ID" msgstr "" -#: part/admin.py:270 +#: part/admin.py:271 msgid "Parent IPN" msgstr "" -#: part/admin.py:273 part/models.py:3409 +#: part/admin.py:274 part/models.py:3479 msgid "Part IPN" msgstr "" -#: part/admin.py:279 templates/js/translated/pricing.js:342 -#: templates/js/translated/pricing.js:991 +#: part/admin.py:280 templates/js/translated/pricing.js:340 +#: templates/js/translated/pricing.js:989 msgid "Minimum Price" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:337 -#: templates/js/translated/pricing.js:999 +#: part/admin.py:281 templates/js/translated/pricing.js:335 +#: templates/js/translated/pricing.js:997 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:515 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:554 +#: part/api.py:535 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:572 +#: part/api.py:553 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:658 +#: part/api.py:639 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:816 +#: part/api.py:797 msgid "Valid" msgstr "" -#: part/api.py:817 +#: part/api.py:798 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:823 +#: part/api.py:804 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:121 part/models.py:857 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:375 +#: part/bom.py:175 part/models.py:121 part/models.py:914 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 msgid "Default Location" msgstr "默认仓储地点" @@ -4868,7 +5259,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:4013 +#: templates/js/translated/sales_order.js:1757 msgid "Available Stock" msgstr "可用库存" @@ -4876,13 +5267,13 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:71 part/models.py:3350 part/templates/part/category.html:16 +#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 #: users/models.py:37 msgid "Part Categories" msgstr "商品类别" @@ -4891,9 +5282,9 @@ msgstr "商品类别" msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2544 -#: templates/js/translated/table_filters.js:135 -#: templates/js/translated/table_filters.js:154 +#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:182 msgid "Structural" msgstr "" @@ -4930,822 +5321,838 @@ msgstr "" msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:610 +#: part/models.py:592 +#, python-brace-format +msgid "IPN must match regex pattern {pat}" +msgstr "IPN 必须匹配正则表达式 {pat}" + +#: part/models.py:663 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:741 +#: part/models.py:794 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:746 +#: part/models.py:799 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:760 +#: part/models.py:813 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:778 part/models.py:3406 +#: part/models.py:837 part/models.py:3476 msgid "Part name" msgstr "商品名称" -#: part/models.py:785 +#: part/models.py:843 msgid "Is Template" msgstr "" -#: part/models.py:786 +#: part/models.py:844 msgid "Is this part a template part?" msgstr "" -#: part/models.py:796 +#: part/models.py:854 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:797 +#: part/models.py:855 msgid "Variant Of" msgstr "" -#: part/models.py:803 +#: part/models.py:861 msgid "Part description" msgstr "商品描述" -#: part/models.py:809 +#: part/models.py:867 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:816 part/models.py:3112 part/models.py:3349 -#: part/serializers.py:832 part/templates/part/part_base.html:263 +#: part/models.py:874 part/models.py:3182 part/models.py:3419 +#: part/serializers.py:849 part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1890 templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 msgid "Category" msgstr "类别" -#: part/models.py:817 +#: part/models.py:875 msgid "Part category" msgstr "商品类别" -#: part/models.py:823 +#: part/models.py:881 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:829 +#: part/models.py:886 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:855 +#: part/models.py:912 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:900 part/templates/part/part_base.html:384 +#: part/models.py:957 part/templates/part/part_base.html:385 msgid "Default Supplier" msgstr "" -#: part/models.py:901 +#: part/models.py:958 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:908 +#: part/models.py:965 msgid "Default Expiry" msgstr "" -#: part/models.py:909 +#: part/models.py:966 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:915 +#: part/models.py:972 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:922 +#: part/models.py:979 msgid "Units of measure for this part" msgstr "" -#: part/models.py:928 +#: part/models.py:985 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:934 +#: part/models.py:991 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:940 +#: part/models.py:997 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:945 +#: part/models.py:1002 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:950 +#: part/models.py:1007 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:955 +#: part/models.py:1012 msgid "Is this part active?" msgstr "" -#: part/models.py:960 +#: part/models.py:1017 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:962 +#: part/models.py:1019 msgid "Part notes" msgstr "" -#: part/models.py:964 +#: part/models.py:1021 msgid "BOM checksum" msgstr "" -#: part/models.py:964 +#: part/models.py:1021 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:967 +#: part/models.py:1024 msgid "BOM checked by" msgstr "" -#: part/models.py:969 +#: part/models.py:1026 msgid "BOM checked date" msgstr "" -#: part/models.py:973 +#: part/models.py:1030 msgid "Creation User" msgstr "新建用户" -#: part/models.py:975 +#: part/models.py:1032 msgid "User responsible for this part" msgstr "" -#: part/models.py:979 part/templates/part/part_base.html:347 +#: part/models.py:1036 part/templates/part/part_base.html:348 #: stock/templates/stock/item_base.html:448 -#: templates/js/translated/part.js:2005 +#: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" -#: part/models.py:1852 +#: part/models.py:1912 msgid "Sell multiple" msgstr "" -#: part/models.py:2767 +#: part/models.py:2837 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2784 +#: part/models.py:2854 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2785 +#: part/models.py:2855 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2790 +#: part/models.py:2860 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2791 +#: part/models.py:2861 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2796 +#: part/models.py:2866 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2797 +#: part/models.py:2867 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2802 +#: part/models.py:2872 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2803 +#: part/models.py:2873 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2808 +#: part/models.py:2878 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2809 +#: part/models.py:2879 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2814 +#: part/models.py:2884 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2815 +#: part/models.py:2885 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2820 +#: part/models.py:2890 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2821 +#: part/models.py:2891 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2826 +#: part/models.py:2896 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2827 +#: part/models.py:2897 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2832 +#: part/models.py:2902 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2833 +#: part/models.py:2903 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2838 +#: part/models.py:2908 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2839 +#: part/models.py:2909 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2845 +#: part/models.py:2915 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2851 +#: part/models.py:2921 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2856 +#: part/models.py:2926 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2857 +#: part/models.py:2927 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2862 +#: part/models.py:2932 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2863 +#: part/models.py:2933 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2868 +#: part/models.py:2938 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2869 +#: part/models.py:2939 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2874 +#: part/models.py:2944 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2945 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2894 +#: part/models.py:2964 msgid "Part for stocktake" msgstr "" -#: part/models.py:2899 +#: part/models.py:2969 msgid "Item Count" msgstr "" -#: part/models.py:2900 +#: part/models.py:2970 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2907 +#: part/models.py:2977 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2911 part/models.py:2994 +#: part/models.py:2981 part/models.py:3064 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/InvenTree/settings/settings_staff_js.html:374 -#: templates/js/translated/order.js:2135 templates/js/translated/part.js:978 -#: templates/js/translated/pricing.js:796 -#: templates/js/translated/pricing.js:917 templates/js/translated/stock.js:2588 +#: templates/InvenTree/settings/settings_staff_js.html:368 +#: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 +#: templates/js/translated/pricing.js:915 +#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" -#: part/models.py:2912 +#: part/models.py:2982 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2920 +#: part/models.py:2990 msgid "Additional notes" msgstr "" -#: part/models.py:2928 +#: part/models.py:2998 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:2933 +#: part/models.py:3003 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:2934 +#: part/models.py:3004 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:2939 +#: part/models.py:3009 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:2940 +#: part/models.py:3010 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3001 templates/InvenTree/settings/settings_staff_js.html:363 +#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:357 msgid "Report" msgstr "" -#: part/models.py:3002 +#: part/models.py:3072 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3007 templates/InvenTree/settings/settings_staff_js.html:370 +#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:364 msgid "Part Count" msgstr "" -#: part/models.py:3008 +#: part/models.py:3078 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3016 +#: part/models.py:3086 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3152 +#: part/models.py:3222 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3169 +#: part/models.py:3239 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3189 templates/js/translated/part.js:2523 +#: part/models.py:3259 templates/js/translated/part.js:2434 msgid "Test Name" msgstr "" -#: part/models.py:3190 +#: part/models.py:3260 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3195 +#: part/models.py:3265 msgid "Test Description" msgstr "" -#: part/models.py:3196 +#: part/models.py:3266 msgid "Enter description for this test" msgstr "" -#: part/models.py:3201 templates/js/translated/part.js:2532 -#: templates/js/translated/table_filters.js:338 +#: part/models.py:3271 templates/js/translated/part.js:2443 +#: templates/js/translated/table_filters.js:366 msgid "Required" msgstr "" -#: part/models.py:3202 +#: part/models.py:3272 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3207 templates/js/translated/part.js:2540 +#: part/models.py:3277 templates/js/translated/part.js:2451 msgid "Requires Value" msgstr "" -#: part/models.py:3208 +#: part/models.py:3278 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3213 templates/js/translated/part.js:2547 +#: part/models.py:3283 templates/js/translated/part.js:2458 msgid "Requires Attachment" msgstr "" -#: part/models.py:3214 +#: part/models.py:3284 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3255 +#: part/models.py:3325 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3263 +#: part/models.py:3333 msgid "Parameter Name" msgstr "" -#: part/models.py:3267 +#: part/models.py:3337 msgid "Parameter Units" msgstr "" -#: part/models.py:3272 +#: part/models.py:3342 msgid "Parameter description" msgstr "" -#: part/models.py:3305 +#: part/models.py:3375 msgid "Parent Part" msgstr "" -#: part/models.py:3307 part/models.py:3355 part/models.py:3356 +#: part/models.py:3377 part/models.py:3425 part/models.py:3426 #: templates/InvenTree/settings/settings_staff_js.html:127 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3309 +#: part/models.py:3379 msgid "Data" msgstr "" -#: part/models.py:3309 +#: part/models.py:3379 msgid "Parameter Value" msgstr "" -#: part/models.py:3360 templates/InvenTree/settings/settings_staff_js.html:136 +#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:136 msgid "Default Value" msgstr "默认值" -#: part/models.py:3361 +#: part/models.py:3431 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3398 +#: part/models.py:3468 msgid "Part ID or part name" msgstr "" -#: part/models.py:3402 +#: part/models.py:3472 msgid "Unique part ID value" msgstr "" -#: part/models.py:3410 +#: part/models.py:3480 msgid "Part IPN value" msgstr "" -#: part/models.py:3413 +#: part/models.py:3483 msgid "Level" msgstr "" -#: part/models.py:3414 +#: part/models.py:3484 msgid "BOM level" msgstr "" -#: part/models.py:3494 +#: part/models.py:3568 msgid "Select parent part" msgstr "" -#: part/models.py:3502 +#: part/models.py:3576 msgid "Sub part" msgstr "" -#: part/models.py:3503 +#: part/models.py:3577 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3509 +#: part/models.py:3583 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3513 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996 -#: templates/js/translated/build.js:1884 -#: templates/js/translated/table_filters.js:84 +#: part/models.py:3587 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 +#: templates/js/translated/build.js:1862 #: templates/js/translated/table_filters.js:112 +#: templates/js/translated/table_filters.js:140 msgid "Optional" msgstr "可选项" -#: part/models.py:3514 +#: part/models.py:3588 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3519 templates/js/translated/bom.js:939 -#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1875 -#: templates/js/translated/table_filters.js:88 +#: part/models.py:3593 templates/js/translated/bom.js:937 +#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853 +#: templates/js/translated/table_filters.js:116 msgid "Consumable" msgstr "" -#: part/models.py:3520 +#: part/models.py:3594 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3524 part/templates/part/upload_bom.html:55 +#: part/models.py:3598 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3525 +#: part/models.py:3599 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3528 +#: part/models.py:3602 msgid "BOM item reference" msgstr "" -#: part/models.py:3531 +#: part/models.py:3605 msgid "BOM item notes" msgstr "" -#: part/models.py:3533 +#: part/models.py:3609 msgid "Checksum" msgstr "" -#: part/models.py:3533 +#: part/models.py:3609 msgid "BOM line checksum" msgstr "" -#: part/models.py:3537 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1022 -#: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:108 +#: part/models.py:3614 templates/js/translated/table_filters.js:100 +msgid "Validated" +msgstr "" + +#: part/models.py:3615 +#, fuzzy +#| msgid "Some stock items have been overallocated" +msgid "This BOM item has been validated" +msgstr "一些库存项已被过度分配" + +#: part/models.py:3620 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1020 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:136 msgid "Gets inherited" msgstr "" -#: part/models.py:3538 +#: part/models.py:3621 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3543 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1014 +#: part/models.py:3626 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3544 +#: part/models.py:3627 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3630 stock/models.py:570 +#: part/models.py:3713 stock/models.py:569 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3639 part/models.py:3641 +#: part/models.py:3722 part/models.py:3724 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3757 +#: part/models.py:3840 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3778 +#: part/models.py:3861 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3874 msgid "Parent BOM item" msgstr "" -#: part/models.py:3799 +#: part/models.py:3882 msgid "Substitute part" msgstr "" -#: part/models.py:3814 +#: part/models.py:3897 msgid "Part 1" msgstr "" -#: part/models.py:3818 +#: part/models.py:3901 msgid "Part 2" msgstr "" -#: part/models.py:3818 +#: part/models.py:3901 msgid "Select Related Part" msgstr "" -#: part/models.py:3836 +#: part/models.py:3919 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:3840 +#: part/models.py:3923 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232 +#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:301 +#: part/serializers.py:307 msgid "Original Part" msgstr "" -#: part/serializers.py:301 +#: part/serializers.py:307 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:306 +#: part/serializers.py:312 msgid "Copy Image" msgstr "" -#: part/serializers.py:306 +#: part/serializers.py:312 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:311 part/templates/part/detail.html:296 +#: part/serializers.py:317 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:311 +#: part/serializers.py:317 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:316 +#: part/serializers.py:322 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:316 +#: part/serializers.py:322 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:326 +#: part/serializers.py:332 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:326 +#: part/serializers.py:332 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:332 +#: part/serializers.py:338 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:332 +#: part/serializers.py:338 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:342 +#: part/serializers.py:348 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:353 +#: part/serializers.py:359 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:365 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:366 +#: part/serializers.py:372 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:374 +#: part/serializers.py:380 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:392 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:400 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:604 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:386 +#: part/serializers.py:621 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:392 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:604 +#: part/serializers.py:621 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:609 templates/js/translated/part.js:69 +#: part/serializers.py:626 templates/js/translated/part.js:68 msgid "Initial Stock" msgstr "" -#: part/serializers.py:609 +#: part/serializers.py:626 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:614 +#: part/serializers.py:631 msgid "Supplier Information" msgstr "" -#: part/serializers.py:614 +#: part/serializers.py:631 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:637 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:621 +#: part/serializers.py:638 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:843 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:849 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:855 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:860 msgid "Generate Report" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:861 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:866 msgid "Update Parts" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:867 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:858 +#: part/serializers.py:875 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:964 msgid "Update" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:965 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1247 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1240 +#: part/serializers.py:1255 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1256 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1261 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1262 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1252 +#: part/serializers.py:1267 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1268 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1258 +#: part/serializers.py:1273 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1259 +#: part/serializers.py:1274 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1299 +#: part/serializers.py:1314 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1300 +#: part/serializers.py:1315 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1345 msgid "No part column specified" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1388 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1391 msgid "No matching part found" msgstr "" -#: part/serializers.py:1379 +#: part/serializers.py:1394 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1403 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1411 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1417 +#: part/serializers.py:1432 msgid "At least one BOM item is required" msgstr "" @@ -5758,9 +6165,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:289 templates/js/translated/order.js:2416 -#: templates/js/translated/part.js:959 templates/js/translated/part.js:1462 -#: templates/js/translated/part.js:1514 +#: part/tasks.py:289 templates/js/translated/part.js:983 +#: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 +#: templates/js/translated/purchase_order.js:1922 msgid "Total Quantity" msgstr "" @@ -5843,7 +6250,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:230 +#: part/templates/part/category.html:121 part/templates/part/category.html:225 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "子类别" @@ -5873,23 +6280,19 @@ msgstr "设置类别" msgid "Set Category" msgstr "设置类别" -#: part/templates/part/category.html:187 part/templates/part/category.html:188 -msgid "Print Labels" -msgstr "打印标签" - -#: part/templates/part/category.html:213 +#: part/templates/part/category.html:208 msgid "Part Parameters" msgstr "商品参数" -#: part/templates/part/category.html:234 +#: part/templates/part/category.html:229 msgid "Create new part category" msgstr "新建商品类别" -#: part/templates/part/category.html:235 +#: part/templates/part/category.html:230 msgid "New Category" msgstr "" -#: part/templates/part/category.html:352 +#: part/templates/part/category.html:347 msgid "Create Part Category" msgstr "创建商品类别" @@ -5926,7 +6329,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:562 msgid "Refresh" msgstr "" @@ -5935,9 +6338,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29 +#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/stock.js:1946 users/models.py:39 +#: templates/js/translated/stock.js:1926 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6035,15 +6438,15 @@ msgstr "商品制造商" msgid "Delete manufacturer parts" msgstr "删除制造商商品" -#: part/templates/part/detail.html:703 +#: part/templates/part/detail.html:707 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:711 +#: part/templates/part/detail.html:715 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:799 +#: part/templates/part/detail.html:801 msgid "Add Test Result Template" msgstr "" @@ -6078,13 +6481,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:168 +#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:1087 +#: templates/js/translated/order.js:110 msgid "Select file format" msgstr "" @@ -6174,15 +6577,15 @@ msgid "Part is virtual (not a physical part)" msgstr "商品是虚拟的(不是实体零件)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:714 -#: templates/js/translated/company.js:975 -#: templates/js/translated/model_renderers.js:217 -#: templates/js/translated/part.js:707 templates/js/translated/part.js:1132 +#: templates/js/translated/company.js:930 +#: templates/js/translated/company.js:1170 +#: templates/js/translated/model_renderers.js:267 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1135 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:686 +#: part/templates/part/part_base.html:691 msgid "Show Part Details" msgstr "" @@ -6201,56 +6604,56 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:293 +#: part/templates/part/part_base.html:294 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039 -#: templates/js/translated/part.js:1175 templates/js/translated/part.js:1979 -#: templates/js/translated/pricing.js:375 -#: templates/js/translated/pricing.js:1021 +#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 +#: templates/js/translated/pricing.js:373 +#: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:360 +#: part/templates/part/part_base.html:361 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:364 +#: part/templates/part/part_base.html:365 #: stock/templates/stock/item_base.html:334 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:452 +#: part/templates/part/part_base.html:453 msgid "Part QR Code" msgstr "商品二维码" -#: part/templates/part/part_base.html:469 +#: part/templates/part/part_base.html:470 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:515 +#: part/templates/part/part_base.html:520 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:532 +#: part/templates/part/part_base.html:537 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:584 +#: part/templates/part/part_base.html:589 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:680 +#: part/templates/part/part_base.html:685 msgid "Hide Part Details" msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73 -#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:469 +#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:467 msgid "Supplier Pricing" msgstr "" @@ -6261,14 +6664,6 @@ msgstr "" msgid "Unit Cost" msgstr "" -#: part/templates/part/part_pricing.html:32 -#: 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:965 -msgid "Total Cost" -msgstr "" - #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" @@ -6311,9 +6706,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:1154 templates/js/translated/part.js:1755 -#: templates/js/translated/part.js:1909 templates/js/translated/stock.js:1004 -#: templates/js/translated/stock.js:1835 templates/navbar.html:31 +#: templates/js/translated/part.js:1159 templates/js/translated/part.js:1746 +#: templates/js/translated/part.js:1900 templates/js/translated/stock.js:1001 +#: templates/js/translated/stock.js:1803 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -6342,11 +6737,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:123 +#: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:443 -#: templates/js/translated/company.js:1093 -#: templates/js/translated/company.js:1102 -#: templates/js/translated/stock.js:1976 +#: templates/js/translated/company.js:1291 +#: templates/js/translated/company.js:1301 +#: templates/js/translated/stock.js:1956 msgid "Last Updated" msgstr "" @@ -6409,8 +6804,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:613 -#: templates/js/translated/part.js:1750 templates/js/translated/part.js:1752 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1741 templates/js/translated/part.js:1743 msgid "No Stock" msgstr "" @@ -6464,11 +6859,11 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:213 +#: part/templatetags/inventree_extras.py:187 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:265 +#: part/templatetags/inventree_extras.py:239 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -6723,100 +7118,104 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:180 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" -#: report/api.py:216 report/api.py:252 +#: report/api.py:208 report/api.py:244 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:355 +#: report/api.py:311 msgid "Test report" msgstr "" -#: report/models.py:153 +#: report/models.py:159 msgid "Template name" msgstr "" -#: report/models.py:159 +#: report/models.py:165 msgid "Report template file" msgstr "" -#: report/models.py:166 +#: report/models.py:172 msgid "Report template description" msgstr "" -#: report/models.py:172 +#: report/models.py:178 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:252 +#: report/models.py:258 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:259 +#: report/models.py:265 msgid "Report template is enabled" msgstr "" -#: report/models.py:280 +#: report/models.py:286 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:288 +#: report/models.py:294 msgid "Include Installed Tests" msgstr "" -#: report/models.py:289 +#: report/models.py:295 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:336 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:337 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:376 +#: report/models.py:409 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:377 +#: report/models.py:410 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:444 msgid "Purchase order query filters" msgstr "" -#: report/models.py:449 +#: report/models.py:482 msgid "Sales order query filters" msgstr "" -#: report/models.py:501 +#: report/models.py:520 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:573 msgid "Snippet" msgstr "" -#: report/models.py:502 +#: report/models.py:574 msgid "Report snippet file" msgstr "" -#: report/models.py:506 +#: report/models.py:578 msgid "Snippet file description" msgstr "" -#: report/models.py:543 +#: report/models.py:615 msgid "Asset" msgstr "" -#: report/models.py:544 +#: report/models.py:616 msgid "Report asset file" msgstr "" -#: report/models.py:551 +#: report/models.py:623 msgid "Asset file description" msgstr "" @@ -6828,63 +7227,102 @@ msgstr "" msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report.html:77 +#: report/templates/report/inventree_po_report_base.html:15 msgid "Supplier was deleted" msgstr "" +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/pricing.js:578 +#: templates/js/translated/pricing.js:802 +#: templates/js/translated/purchase_order.js:1953 +#: templates/js/translated/sales_order.js:1701 +msgid "Unit Price" +msgstr "单价" + +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 +#, fuzzy +#| msgid "Extra build notes" +msgid "Extra Line Items" +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:1855 +#: templates/js/translated/sales_order.js:1676 +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:717 stock/templates/stock/item_base.html:323 +#: templates/js/translated/build.js:475 templates/js/translated/build.js:636 +#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 +#: templates/js/translated/model_renderers.js:195 +#: templates/js/translated/return_order.js:483 +#: templates/js/translated/return_order.js:663 +#: templates/js/translated/sales_order.js:250 +#: templates/js/translated/sales_order.js:1470 +#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/stock.js:526 +msgid "Serial Number" +msgstr "序列号" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:718 stock/templates/stock/item_base.html:323 -#: templates/js/translated/build.js:479 templates/js/translated/build.js:640 -#: templates/js/translated/build.js:1253 templates/js/translated/build.js:1758 -#: templates/js/translated/model_renderers.js:126 -#: templates/js/translated/order.js:126 templates/js/translated/order.js:3701 -#: templates/js/translated/order.js:3788 templates/js/translated/stock.js:528 -msgid "Serial Number" -msgstr "序列号" - -#: report/templates/report/inventree_test_report_base.html:88 +#: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2177 templates/js/translated/stock.js:1415 +#: report/templates/report/inventree_test_report_base.html:102 +#: stock/models.py:2183 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2183 +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2189 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:108 +#: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:110 +#: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:123 +#: report/templates/report/inventree_test_report_base.html:139 +#, fuzzy +#| msgid "Restart required" +msgid "No result (required)" +msgstr "需要重启" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:137 -#: stock/admin.py:104 templates/js/translated/stock.js:648 -#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2837 +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:104 templates/js/translated/stock.js:646 +#: templates/js/translated/stock.js:817 templates/js/translated/stock.js:2891 msgid "Serial" msgstr "" -#: stock/admin.py:39 stock/admin.py:107 -#: templates/js/translated/model_renderers.js:172 +#: stock/admin.py:39 stock/admin.py:108 msgid "Location ID" msgstr "" -#: stock/admin.py:40 stock/admin.py:108 +#: stock/admin.py:40 stock/admin.py:109 msgid "Location Name" msgstr "" @@ -6897,79 +7335,95 @@ msgstr "" msgid "Stock Item ID" msgstr "" -#: stock/admin.py:109 templates/js/translated/model_renderers.js:442 +#: stock/admin.py:107 +#, fuzzy +#| msgid "Status" +msgid "Status Code" +msgstr "状态" + +#: stock/admin.py:110 msgid "Supplier Part ID" msgstr "供应商商品ID" -#: stock/admin.py:110 +#: stock/admin.py:111 msgid "Supplier ID" msgstr "" -#: stock/admin.py:111 +#: stock/admin.py:112 msgid "Supplier Name" msgstr "" -#: stock/admin.py:112 +#: stock/admin.py:113 msgid "Customer ID" msgstr "" -#: stock/admin.py:113 stock/models.py:701 +#: stock/admin.py:114 stock/models.py:700 #: stock/templates/stock/item_base.html:362 msgid "Installed In" msgstr "" -#: stock/admin.py:114 templates/js/translated/model_renderers.js:190 +#: stock/admin.py:115 msgid "Build ID" msgstr "" -#: stock/admin.py:116 +#: stock/admin.py:117 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:117 +#: stock/admin.py:118 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:125 stock/models.py:774 +#: stock/admin.py:125 +msgid "Review Needed" +msgstr "" + +#: stock/admin.py:126 +#, fuzzy +#| msgid "Delete Template" +msgid "Delete on Deplete" +msgstr "删除模板" + +#: stock/admin.py:131 stock/models.py:773 #: stock/templates/stock/item_base.html:430 -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:424 templates/js/translated/table_filters.js:297 +#: stock/api.py:426 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:585 +#: stock/api.py:587 msgid "Quantity is required" msgstr "" -#: stock/api.py:592 +#: stock/api.py:594 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:617 +#: stock/api.py:619 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:685 +#: stock/models.py:53 stock/models.py:684 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" #: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 #: users/models.py:40 msgid "Stock Locations" msgstr "仓储地点" -#: stock/models.py:113 stock/models.py:815 +#: stock/models.py:113 stock/models.py:814 #: stock/templates/stock/item_base.html:253 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:816 +#: stock/models.py:114 stock/models.py:815 msgid "Select Owner" msgstr "" @@ -6977,8 +7431,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2553 -#: templates/js/translated/table_filters.js:139 +#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" @@ -6990,218 +7444,218 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:551 +#: stock/models.py:549 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:576 stock/serializers.py:151 +#: stock/models.py:575 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:593 +#: stock/models.py:592 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:603 stock/models.py:612 +#: stock/models.py:602 stock/models.py:611 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:604 +#: stock/models.py:603 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:626 +#: stock/models.py:625 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:632 +#: stock/models.py:631 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:646 +#: stock/models.py:645 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:660 +#: stock/models.py:659 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:670 +#: stock/models.py:669 msgid "Base part" msgstr "" -#: stock/models.py:678 +#: stock/models.py:677 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:688 +#: stock/models.py:687 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:695 +#: stock/models.py:694 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:704 +#: stock/models.py:703 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:720 +#: stock/models.py:719 msgid "Serial number for this item" msgstr "" -#: stock/models.py:734 +#: stock/models.py:733 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:739 +#: stock/models.py:738 msgid "Stock Quantity" msgstr "" -#: stock/models.py:746 +#: stock/models.py:745 msgid "Source Build" msgstr "" -#: stock/models.py:748 +#: stock/models.py:747 msgid "Build for this stock item" msgstr "" -#: stock/models.py:759 +#: stock/models.py:758 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:762 +#: stock/models.py:761 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:768 +#: stock/models.py:767 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:775 +#: stock/models.py:774 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:790 +#: stock/models.py:789 msgid "Delete on deplete" msgstr "" -#: stock/models.py:790 +#: stock/models.py:789 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:803 stock/templates/stock/item.html:132 +#: stock/models.py:802 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:811 +#: stock/models.py:810 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:839 +#: stock/models.py:838 msgid "Converted to part" msgstr "" -#: stock/models.py:1329 +#: stock/models.py:1335 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1335 +#: stock/models.py:1341 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1341 +#: stock/models.py:1347 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1344 +#: stock/models.py:1350 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1353 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1360 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1430 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1427 +#: stock/models.py:1433 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1430 +#: stock/models.py:1436 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1433 +#: stock/models.py:1439 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1436 +#: stock/models.py:1442 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1439 +#: stock/models.py:1445 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1446 stock/serializers.py:944 +#: stock/models.py:1452 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1450 +#: stock/models.py:1456 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1454 +#: stock/models.py:1460 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1464 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1627 +#: stock/models.py:1633 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2095 +#: stock/models.py:2101 msgid "Entry notes" msgstr "" -#: stock/models.py:2153 +#: stock/models.py:2159 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2159 +#: stock/models.py:2165 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2178 +#: stock/models.py:2184 msgid "Test name" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2190 msgid "Test result" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2196 msgid "Test output value" msgstr "" -#: stock/models.py:2197 +#: stock/models.py:2203 msgid "Test result attachment" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2209 msgid "Test notes" msgstr "" @@ -7209,128 +7663,128 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:229 +#: stock/serializers.py:231 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:282 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:294 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:300 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143 +#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:316 +#: stock/serializers.py:318 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:328 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:347 +#: stock/serializers.py:349 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/serializers.py:387 +#: stock/serializers.py:389 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:400 +#: stock/serializers.py:402 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:407 +#: stock/serializers.py:409 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:444 +#: stock/serializers.py:446 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:451 stock/serializers.py:532 msgid "Add transaction note (optional)" msgstr "添加交易备注 (可选)" -#: stock/serializers.py:483 +#: stock/serializers.py:485 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:494 +#: stock/serializers.py:496 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:525 +#: stock/serializers.py:527 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:756 +#: stock/serializers.py:758 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:762 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:766 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:797 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:801 +#: stock/serializers.py:803 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:809 +#: stock/serializers.py:811 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:819 stock/serializers.py:1050 +#: stock/serializers.py:821 stock/serializers.py:1052 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:908 +#: stock/serializers.py:910 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:913 +#: stock/serializers.py:915 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:916 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:921 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:920 +#: stock/serializers.py:922 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:932 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1012 +#: stock/serializers.py:1014 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1042 msgid "Stock transaction notes" msgstr "" @@ -7355,7 +7809,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:302 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 msgid "Delete Test Data" msgstr "" @@ -7367,15 +7821,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2986 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3038 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:290 +#: stock/templates/stock/item.html:276 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607 +#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1590 msgid "Add Test Result" msgstr "" @@ -7397,15 +7851,15 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:47 +#: stock/templates/stock/location.html:88 templates/stock_table.html:35 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:45 +#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:46 +#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 msgid "Remove stock" msgstr "" @@ -7414,11 +7868,11 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:48 +#: stock/templates/stock/location.html:94 templates/stock_table.html:36 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:51 +#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 msgid "Assign to customer" msgstr "" @@ -7520,7 +7974,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/build.js:1784 +#: templates/js/translated/build.js:1764 msgid "No location set" msgstr "未设置仓储地点" @@ -7534,7 +7988,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" @@ -7544,7 +7998,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:436 -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" @@ -7552,35 +8006,35 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:522 +#: stock/templates/stock/item_base.html:530 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:538 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:542 +#: stock/templates/stock/item_base.html:550 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:606 +#: stock/templates/stock/item_base.html:614 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:609 +#: stock/templates/stock/item_base.html:617 msgid "Warning" msgstr "警告" -#: stock/templates/stock/item_base.html:610 +#: stock/templates/stock/item_base.html:618 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:626 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:648 +#: stock/templates/stock/item_base.html:656 msgid "Return to Stock" msgstr "" @@ -7654,15 +8108,15 @@ msgstr "新建仓储地点" msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:330 +#: stock/templates/stock/location.html:309 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:382 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:414 +#: stock/templates/stock/location.html:393 msgid "Link Barcode to Stock Location" msgstr "" @@ -7698,7 +8152,8 @@ msgstr "" msgid "You have been logged out from InvenTree." msgstr "" -#: templates/403_csrf.html:19 templates/navbar.html:142 +#: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 +#: templates/navbar.html:147 msgid "Login" msgstr "" @@ -7807,6 +8262,12 @@ msgstr "" msgid "Notification History" msgstr "" +#: templates/InvenTree/notifications/history.html:13 +#: templates/InvenTree/notifications/history.html:14 +#: templates/InvenTree/notifications/notifications.html:77 +msgid "Delete Notifications" +msgstr "" + #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" msgstr "" @@ -7835,7 +8296,7 @@ msgstr "" msgid "Delete all read notifications" msgstr "" -#: templates/InvenTree/notifications/notifications.html:93 +#: templates/InvenTree/notifications/notifications.html:91 #: templates/js/translated/notification.js:73 msgid "Delete Notification" msgstr "" @@ -7874,7 +8335,6 @@ msgid "Label Settings" msgstr "标签设置" #: templates/InvenTree/settings/login.html:9 -#: templates/InvenTree/settings/sidebar.html:29 msgid "Login Settings" msgstr "" @@ -7892,7 +8352,7 @@ msgid "Single Sign On" msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 -#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" msgstr "设置" @@ -7910,7 +8370,8 @@ msgid "Open in new tab" msgstr "" #: templates/InvenTree/settings/notifications.html:9 -msgid "Global Notification Settings" +#: templates/InvenTree/settings/user_notifications.html:9 +msgid "Notification Settings" msgstr "" #: templates/InvenTree/settings/notifications.html:18 @@ -7921,15 +8382,15 @@ msgstr "" msgid "Part Settings" msgstr "商品设置" -#: templates/InvenTree/settings/part.html:41 +#: templates/InvenTree/settings/part.html:42 msgid "Part Import" msgstr "商品导入" -#: templates/InvenTree/settings/part.html:45 +#: templates/InvenTree/settings/part.html:46 msgid "Import Part" msgstr "导入商品" -#: templates/InvenTree/settings/part.html:59 +#: templates/InvenTree/settings/part.html:60 msgid "Part Parameter Templates" msgstr "商品参数模板" @@ -7942,7 +8403,7 @@ msgid "Stocktake Reports" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:57 +#: templates/InvenTree/settings/sidebar.html:58 msgid "Plugin Settings" msgstr "" @@ -7951,7 +8412,7 @@ msgid "Changing the settings below require you to immediately restart the server msgstr "" #: templates/InvenTree/settings/plugin.html:38 -#: templates/InvenTree/settings/sidebar.html:59 +#: templates/InvenTree/settings/sidebar.html:60 msgid "Plugins" msgstr "" @@ -8073,20 +8534,20 @@ msgstr "采购订单设置" msgid "Pricing Settings" msgstr "" -#: templates/InvenTree/settings/pricing.html:33 +#: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" msgstr "汇率" -#: templates/InvenTree/settings/pricing.html:37 +#: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" msgstr "立即更新" -#: templates/InvenTree/settings/pricing.html:45 -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" msgstr "上次更新" -#: templates/InvenTree/settings/pricing.html:49 +#: templates/InvenTree/settings/pricing.html:50 msgid "Never" msgstr "从不" @@ -8095,6 +8556,12 @@ msgstr "从不" msgid "Report Settings" msgstr "报表设置" +#: templates/InvenTree/settings/returns.html:7 +#, fuzzy +#| msgid "Build Order Settings" +msgid "Return Order Settings" +msgstr "生产订单设置" + #: templates/InvenTree/settings/setting.html:31 msgid "No value set" msgstr "未设置值" @@ -8159,15 +8626,15 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:305 +#: templates/InvenTree/settings/settings_staff_js.html:303 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:319 +#: templates/InvenTree/settings/settings_staff_js.html:315 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:327 +#: templates/InvenTree/settings/settings_staff_js.html:323 msgid "Delete Part Parameter Template" msgstr "" @@ -8177,13 +8644,13 @@ msgid "User Settings" msgstr "用户设置" #: templates/InvenTree/settings/sidebar.html:9 -#: templates/InvenTree/settings/user.html:12 -msgid "Account Settings" +#, fuzzy +#| msgid "Account Settings" +msgid "Account" msgstr "帐户设置" #: templates/InvenTree/settings/sidebar.html:11 -#: templates/InvenTree/settings/user_display.html:9 -msgid "Display Settings" +msgid "Display" msgstr "" #: templates/InvenTree/settings/sidebar.html:13 @@ -8191,9 +8658,11 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/InvenTree/settings/user_search.html:9 -msgid "Search Settings" -msgstr "搜索设置" +#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/search.html:8 templates/search_form.html:6 +#: templates/search_form.html:7 +msgid "Search" +msgstr "搜索" #: templates/InvenTree/settings/sidebar.html:19 #: templates/InvenTree/settings/sidebar.html:39 @@ -8204,13 +8673,15 @@ msgstr "" msgid "Global Settings" msgstr "" -#: templates/InvenTree/settings/sidebar.html:27 -msgid "Server Configuration" +#: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 +msgid "Server" msgstr "" #: templates/InvenTree/settings/sidebar.html:37 -msgid "Label Printing" -msgstr "" +#, fuzzy +#| msgid "Label" +msgid "Labels" +msgstr "标签" #: templates/InvenTree/settings/sidebar.html:41 msgid "Categories" @@ -8224,6 +8695,10 @@ msgstr "销售订单设置" msgid "Stock Settings" msgstr "库存设置" +#: templates/InvenTree/settings/user.html:12 +msgid "Account Settings" +msgstr "帐户设置" + #: templates/InvenTree/settings/user.html:18 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 @@ -8231,7 +8706,7 @@ msgid "Change Password" msgstr "更改密码" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:42 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:53 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "编辑" @@ -8382,6 +8857,10 @@ msgstr "" msgid "Do you really want to remove the selected email address?" msgstr "" +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" msgstr "主题设置" @@ -8447,9 +8926,9 @@ msgstr "" msgid "Home Page Settings" msgstr "主页设置" -#: templates/InvenTree/settings/user_notifications.html:9 -msgid "Notification Settings" -msgstr "" +#: templates/InvenTree/settings/user_search.html:9 +msgid "Search Settings" +msgstr "搜索设置" #: templates/about.html:9 msgid "InvenTree Version" @@ -8517,7 +8996,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:713 +#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:702 msgid "Confirm" msgstr "确认" @@ -8685,11 +9164,11 @@ msgstr "" msgid "Verify" msgstr "" -#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61 +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:60 msgid "Add Link" msgstr "" -#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39 +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:38 msgid "Add Attachment" msgstr "添加附件" @@ -8697,19 +9176,19 @@ msgstr "添加附件" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:119 msgid "Delete Attachments" msgstr "" -#: templates/base.html:101 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:104 +#: templates/base.html:105 msgid "Contact your system administrator for further information" msgstr "" @@ -8719,6 +9198,7 @@ msgstr "" #: templates/email/overdue_purchase_order.html:9 #: templates/email/overdue_sales_order.html:9 #: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" msgstr "" @@ -8740,7 +9220,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1637 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -8754,75 +9234,75 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2846 +#: templates/js/translated/part.js:2753 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110 +#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:202 +#: templates/js/translated/api.js:231 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:203 +#: templates/js/translated/api.js:232 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130 +#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:222 +#: templates/js/translated/api.js:251 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:223 +#: templates/js/translated/api.js:252 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:231 +#: templates/js/translated/api.js:260 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:232 +#: templates/js/translated/api.js:261 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:105 +#: templates/js/translated/attachment.js:104 msgid "All selected attachments will be deleted" msgstr "" @@ -8838,126 +9318,126 @@ msgstr "编辑附件" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:339 +#: templates/js/translated/attachment.js:336 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:348 +#: templates/js/translated/attachment.js:344 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:32 msgid "Scan barcode data here using barcode scanner" msgstr "" -#: templates/js/translated/barcode.js:35 +#: templates/js/translated/barcode.js:34 msgid "Enter barcode data" msgstr "输入条形码数据" -#: templates/js/translated/barcode.js:42 +#: templates/js/translated/barcode.js:41 msgid "Barcode" msgstr "条形码" -#: templates/js/translated/barcode.js:49 +#: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" -#: templates/js/translated/barcode.js:126 +#: templates/js/translated/barcode.js:125 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:127 +#: templates/js/translated/barcode.js:126 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:173 +#: templates/js/translated/barcode.js:172 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:202 +#: templates/js/translated/barcode.js:201 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:237 +#: templates/js/translated/barcode.js:236 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:355 +#: templates/js/translated/barcode.js:354 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:405 templates/navbar.html:109 +#: templates/js/translated/barcode.js:404 templates/navbar.html:114 msgid "Scan Barcode" msgstr "扫描条形码" -#: templates/js/translated/barcode.js:417 +#: templates/js/translated/barcode.js:416 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:456 +#: templates/js/translated/barcode.js:455 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:462 +#: templates/js/translated/barcode.js:461 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103 +#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:567 +#: templates/js/translated/barcode.js:566 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:569 +#: templates/js/translated/barcode.js:568 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:572 -#: templates/js/translated/barcode.js:764 +#: templates/js/translated/barcode.js:571 +#: templates/js/translated/barcode.js:763 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:603 +#: templates/js/translated/barcode.js:602 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:643 +#: templates/js/translated/barcode.js:642 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:647 +#: templates/js/translated/barcode.js:646 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:654 +#: templates/js/translated/barcode.js:653 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:663 +#: templates/js/translated/barcode.js:662 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:680 +#: templates/js/translated/barcode.js:679 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:682 +#: templates/js/translated/barcode.js:681 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:716 +#: templates/js/translated/barcode.js:715 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:759 +#: templates/js/translated/barcode.js:758 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:827 -#: templates/js/translated/barcode.js:836 +#: templates/js/translated/barcode.js:826 +#: templates/js/translated/barcode.js:835 msgid "Barcode does not match a valid location" msgstr "" @@ -8976,7 +9456,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/order.js:1309 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9081,74 +9561,74 @@ msgstr "" msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:878 +#: templates/js/translated/bom.js:876 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:888 +#: templates/js/translated/bom.js:886 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1861 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:982 +#: templates/js/translated/bom.js:980 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1102 +#: templates/js/translated/bom.js:1100 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1107 +#: templates/js/translated/bom.js:1105 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1114 +#: templates/js/translated/bom.js:1112 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1944 -#: templates/js/translated/order.js:4027 +#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 +#: templates/js/translated/sales_order.js:1771 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1948 +#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1950 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:1947 +#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928 +#: templates/js/translated/part.js:1173 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1952 +#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1935 -#: templates/js/translated/build.js:2026 +#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913 +#: templates/js/translated/build.js:2006 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1239 +#: templates/js/translated/bom.js:1240 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1241 +#: templates/js/translated/bom.js:1242 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1243 +#: templates/js/translated/bom.js:1244 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441 +#: templates/js/translated/bom.js:1246 templates/js/translated/bom.js:1441 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1247 +#: templates/js/translated/bom.js:1248 msgid "Delete BOM Item" msgstr "" @@ -9156,15 +9636,15 @@ msgstr "" msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1701 +#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1844 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1646 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -9208,13 +9688,13 @@ msgstr "生产订单未完成" msgid "Complete Build Order" msgstr "生产订单完成" -#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:237 +#: templates/js/translated/build.js:318 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:235 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96 -#: templates/js/translated/stock.js:239 +#: templates/js/translated/build.js:320 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:237 msgid "Latest serial number" msgstr "" @@ -9250,504 +9730,567 @@ msgstr "" msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:405 +#: templates/js/translated/build.js:404 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:424 msgid "Are you sure you wish to unallocate stock items from this build?" msgstr "" -#: templates/js/translated/build.js:446 +#: templates/js/translated/build.js:442 msgid "Unallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:466 templates/js/translated/build.js:627 +#: templates/js/translated/build.js:462 templates/js/translated/build.js:623 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:467 templates/js/translated/build.js:628 +#: templates/js/translated/build.js:463 templates/js/translated/build.js:624 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:524 templates/js/translated/build.js:685 +#: templates/js/translated/build.js:520 templates/js/translated/build.js:681 msgid "Output" msgstr "" -#: templates/js/translated/build.js:548 +#: templates/js/translated/build.js:544 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:698 +#: templates/js/translated/build.js:694 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:788 +#: templates/js/translated/build.js:780 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:825 +#: templates/js/translated/build.js:817 msgid "Location not specified" msgstr "未指定仓储地点" -#: templates/js/translated/build.js:1213 +#: templates/js/translated/build.js:1210 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1287 +#: templates/js/translated/build.js:1284 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1291 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1316 +#: templates/js/translated/build.js:1313 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1321 +#: templates/js/translated/build.js:1318 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1801 templates/js/translated/build.js:2827 -#: templates/js/translated/order.js:3736 +#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 +#: templates/js/translated/sales_order.js:1505 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1803 templates/js/translated/build.js:2828 -#: templates/js/translated/order.js:3737 +#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 +#: templates/js/translated/sales_order.js:1506 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1821 +#: templates/js/translated/build.js:1799 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1831 +#: templates/js/translated/build.js:1809 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1857 +#: templates/js/translated/build.js:1835 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1893 +#: templates/js/translated/build.js:1871 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1938 templates/js/translated/order.js:4034 +#: templates/js/translated/build.js:1916 +#: templates/js/translated/sales_order.js:1778 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1940 templates/js/translated/order.js:4032 +#: templates/js/translated/build.js:1918 +#: templates/js/translated/sales_order.js:1776 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2034 templates/js/translated/order.js:4126 +#: templates/js/translated/build.js:2014 +#: templates/js/translated/sales_order.js:1870 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2038 templates/stock_table.html:50 +#: templates/js/translated/build.js:2018 templates/stock_table.html:38 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2041 templates/js/translated/order.js:4119 +#: templates/js/translated/build.js:2021 +#: templates/js/translated/sales_order.js:1863 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2080 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3263 -#: templates/js/translated/report.js:225 +#: templates/js/translated/build.js:2059 +#: templates/js/translated/purchase_order.js:564 +#: templates/js/translated/sales_order.js:1042 msgid "Select Parts" msgstr "选择商品" -#: templates/js/translated/build.js:2081 templates/js/translated/order.js:3264 +#: templates/js/translated/build.js:2060 +#: templates/js/translated/sales_order.js:1043 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2130 templates/js/translated/order.js:3212 +#: templates/js/translated/build.js:2108 +#: templates/js/translated/sales_order.js:991 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2209 +#: templates/js/translated/build.js:2187 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2210 +#: templates/js/translated/build.js:2188 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2224 templates/js/translated/order.js:3278 +#: templates/js/translated/build.js:2202 +#: templates/js/translated/sales_order.js:1057 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2252 +#: templates/js/translated/build.js:2230 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2263 templates/js/translated/order.js:3375 +#: templates/js/translated/build.js:2241 +#: templates/js/translated/sales_order.js:1154 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2336 templates/js/translated/order.js:3452 +#: templates/js/translated/build.js:2314 +#: templates/js/translated/sales_order.js:1231 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2433 +#: templates/js/translated/build.js:2411 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2434 +#: templates/js/translated/build.js:2412 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2436 +#: templates/js/translated/build.js:2414 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2437 +#: templates/js/translated/build.js:2415 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:2416 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:2465 +#: templates/js/translated/build.js:2443 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2547 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2606 templates/js/translated/part.js:1843 -#: templates/js/translated/part.js:2388 templates/js/translated/stock.js:1765 -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1830 +#: templates/js/translated/part.js:2305 templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:2513 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2620 +#: templates/js/translated/build.js:2596 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2630 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2690 templates/js/translated/stock.js:2767 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2821 msgid "No user information" msgstr "没有用户信息" -#: templates/js/translated/build.js:2705 +#: templates/js/translated/build.js:2681 msgid "group" msgstr "" -#: templates/js/translated/build.js:2804 +#: templates/js/translated/build.js:2780 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:69 +#: templates/js/translated/company.js:72 msgid "Add Manufacturer" msgstr "添加制造商" -#: templates/js/translated/company.js:82 templates/js/translated/company.js:184 +#: templates/js/translated/company.js:85 templates/js/translated/company.js:187 msgid "Add Manufacturer Part" msgstr "添加制造商商品" -#: templates/js/translated/company.js:103 +#: templates/js/translated/company.js:106 msgid "Edit Manufacturer Part" msgstr "编辑制造商商品" -#: templates/js/translated/company.js:172 templates/js/translated/order.js:630 +#: templates/js/translated/company.js:175 +#: templates/js/translated/purchase_order.js:54 msgid "Add Supplier" msgstr "添加供应商" -#: templates/js/translated/company.js:214 templates/js/translated/order.js:937 +#: templates/js/translated/company.js:217 +#: templates/js/translated/purchase_order.js:289 msgid "Add Supplier Part" msgstr "添加供应商商品" -#: templates/js/translated/company.js:315 +#: templates/js/translated/company.js:318 msgid "All selected supplier parts will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/company.js:331 +#: templates/js/translated/company.js:334 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:440 +#: templates/js/translated/company.js:443 msgid "Add new Company" msgstr "增加新的公司信息" -#: templates/js/translated/company.js:517 +#: templates/js/translated/company.js:514 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:526 +#: templates/js/translated/company.js:523 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:541 +#: templates/js/translated/company.js:538 msgid "No company information found" msgstr "未找到该公司信息" -#: templates/js/translated/company.js:582 +#: templates/js/translated/company.js:587 +#, fuzzy +#| msgid "Create new part" +msgid "Create New Contact" +msgstr "新建商品" + +#: templates/js/translated/company.js:603 +#: templates/js/translated/company.js:725 +#, fuzzy +#| msgid "Contact" +msgid "Edit Contact" +msgstr "联系人" + +#: templates/js/translated/company.js:639 +#, fuzzy +#| msgid "All selected supplier parts will be deleted" +msgid "All selected contacts will be deleted" +msgstr "删除所有选定的供应商商品" + +#: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:709 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:653 +#, fuzzy +#| msgid "Delete outputs" +msgid "Delete Contacts" +msgstr "删除输出" + +#: templates/js/translated/company.js:684 +#, fuzzy +#| msgid "No matching action found" +msgid "No contacts found" +msgstr "未找到指定操作" + +#: templates/js/translated/company.js:697 +#, fuzzy +#| msgid "Phone number" +msgid "Phone Number" +msgstr "电话号码" + +#: templates/js/translated/company.js:703 +#, fuzzy +#| msgid "Address" +msgid "Email Address" +msgstr "地址" + +#: templates/js/translated/company.js:729 +#, fuzzy +#| msgid "Delete part" +msgid "Delete Contact" +msgstr "删除商品" + +#: templates/js/translated/company.js:803 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:597 +#: templates/js/translated/company.js:818 msgid "Delete Manufacturer Parts" msgstr "删除制造商商品" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:852 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:645 +#: templates/js/translated/company.js:866 msgid "Delete Parameters" msgstr "删除参数" -#: templates/js/translated/company.js:686 +#: templates/js/translated/company.js:902 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:967 templates/js/translated/part.js:691 -#: templates/js/translated/part.js:1124 +#: templates/js/translated/company.js:922 +#: templates/js/translated/company.js:1162 templates/js/translated/part.js:719 +#: templates/js/translated/part.js:1127 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:710 -#: templates/js/translated/company.js:971 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:1128 +#: templates/js/translated/company.js:926 +#: templates/js/translated/company.js:1166 templates/js/translated/part.js:723 +#: templates/js/translated/part.js:1131 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:838 templates/js/translated/part.js:1247 +#: templates/js/translated/company.js:1046 templates/js/translated/part.js:1249 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:875 templates/js/translated/part.js:1289 +#: templates/js/translated/company.js:1081 templates/js/translated/part.js:1290 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:876 templates/js/translated/part.js:1290 +#: templates/js/translated/company.js:1082 templates/js/translated/part.js:1291 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:895 templates/js/translated/part.js:1307 +#: templates/js/translated/company.js:1099 templates/js/translated/part.js:1306 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:906 templates/js/translated/part.js:1319 +#: templates/js/translated/company.js:1108 templates/js/translated/part.js:1316 msgid "Delete Parameter" msgstr "删除参数" -#: templates/js/translated/company.js:946 +#: templates/js/translated/company.js:1141 msgid "No supplier parts found" msgstr "未找到供应商商品" -#: templates/js/translated/company.js:1087 +#: templates/js/translated/company.js:1282 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1115 +#: templates/js/translated/company.js:1313 msgid "Edit supplier part" msgstr "编辑供应商商品" -#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1314 msgid "Delete supplier part" msgstr "删除供应商商品" -#: templates/js/translated/company.js:1171 -#: templates/js/translated/pricing.js:678 +#: templates/js/translated/company.js:1367 +#: templates/js/translated/pricing.js:676 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1183 -#: templates/js/translated/pricing.js:696 +#: templates/js/translated/company.js:1377 +#: templates/js/translated/pricing.js:694 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1200 +#: templates/js/translated/company.js:1392 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1229 +#: templates/js/translated/company.js:1421 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1235 +#: templates/js/translated/company.js:1428 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1236 +#: templates/js/translated/company.js:1429 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:450 +#: templates/js/translated/filters.js:181 +#: templates/js/translated/filters.js:538 msgid "true" msgstr "" -#: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:451 +#: templates/js/translated/filters.js:185 +#: templates/js/translated/filters.js:539 msgid "false" msgstr "" -#: templates/js/translated/filters.js:206 +#: templates/js/translated/filters.js:209 msgid "Select filter" msgstr "选择筛选项" -#: templates/js/translated/filters.js:297 -msgid "Download data" +#: templates/js/translated/filters.js:315 +#, fuzzy +#| msgid "Permission to delete items" +msgid "Print reports for selected items" +msgstr "删除项目权限" + +#: templates/js/translated/filters.js:324 +#, fuzzy +#| msgid "Allocate selected items" +msgid "Print labels for selected items" +msgstr "分配选定项目" + +#: templates/js/translated/filters.js:333 +#, fuzzy +#| msgid "Download Image" +msgid "Download table data" +msgstr "下载图片" + +#: templates/js/translated/filters.js:340 +msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:300 -msgid "Reload data" -msgstr "" - -#: templates/js/translated/filters.js:304 +#: templates/js/translated/filters.js:349 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:307 +#: templates/js/translated/filters.js:357 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:359 +#: templates/js/translated/filters.js:447 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:373 templates/js/translated/forms.js:388 -#: templates/js/translated/forms.js:402 templates/js/translated/forms.js:416 +#: templates/js/translated/forms.js:362 templates/js/translated/forms.js:377 +#: templates/js/translated/forms.js:391 templates/js/translated/forms.js:405 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:364 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:390 +#: templates/js/translated/forms.js:379 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:404 +#: templates/js/translated/forms.js:393 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:418 +#: templates/js/translated/forms.js:407 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:739 +#: templates/js/translated/forms.js:728 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:840 +#: templates/js/translated/forms.js:829 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1346 templates/modals.html:19 +#: templates/js/translated/forms.js:1340 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1800 +#: templates/js/translated/forms.js:1794 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2016 templates/search.html:29 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2274 +#: templates/js/translated/forms.js:2215 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2671 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2730 +#: templates/js/translated/forms.js:2671 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2683 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:27 +#: templates/js/translated/helpers.js:38 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:30 +#: templates/js/translated/helpers.js:41 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:379 +#: templates/js/translated/helpers.js:460 msgid "Notes updated" msgstr "" -#: templates/js/translated/label.js:39 -msgid "Labels sent to printer" -msgstr "" - -#: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1127 -msgid "Select Stock Items" -msgstr "选择库存项" - -#: templates/js/translated/label.js:61 -msgid "Stock item(s) must be selected before printing labels" -msgstr "打印标签前必须选择库存项目" - -#: templates/js/translated/label.js:79 templates/js/translated/label.js:133 -#: templates/js/translated/label.js:191 -msgid "No Labels Found" -msgstr "未找到标签" - -#: templates/js/translated/label.js:80 -msgid "No labels found which match selected stock item(s)" -msgstr "没有找到与选定的库存项匹配的标签" - -#: templates/js/translated/label.js:115 -msgid "Select Stock Locations" -msgstr "选择仓储地点" - -#: templates/js/translated/label.js:116 -msgid "Stock location(s) must be selected before printing labels" -msgstr "打印标签前必须选择仓储地点" - -#: templates/js/translated/label.js:134 -msgid "No labels found which match selected stock location(s)" -msgstr "没有找到匹配选定库存地点的标签" - -#: templates/js/translated/label.js:173 -msgid "Part(s) must be selected before printing labels" -msgstr "打印标签前必须选择商品" - -#: templates/js/translated/label.js:192 -msgid "No labels found which match the selected part(s)" -msgstr "没有找到与所选商品相匹配的标签" - -#: templates/js/translated/label.js:257 +#: templates/js/translated/label.js:55 msgid "Select Printer" msgstr "" -#: templates/js/translated/label.js:261 +#: templates/js/translated/label.js:59 msgid "Export to PDF" msgstr "" -#: templates/js/translated/label.js:304 +#: templates/js/translated/label.js:102 msgid "stock items selected" msgstr "已选择库存项" -#: templates/js/translated/label.js:312 templates/js/translated/label.js:329 +#: templates/js/translated/label.js:110 templates/js/translated/label.js:127 msgid "Select Label Template" msgstr "选择标签模板" +#: templates/js/translated/label.js:166 templates/js/translated/report.js:123 +#, fuzzy +#| msgid "Select Stock Items" +msgid "Select Items" +msgstr "选择库存项" + +#: templates/js/translated/label.js:167 +#, fuzzy +#| msgid "Stock item(s) must be selected before printing labels" +msgid "No items selected for printing" +msgstr "打印标签前必须选择库存项目" + +#: templates/js/translated/label.js:183 +msgid "No Labels Found" +msgstr "未找到标签" + +#: templates/js/translated/label.js:184 +#, fuzzy +#| msgid "No labels found which match the selected part(s)" +msgid "No label templates found which match the selected items" +msgstr "没有找到与所选商品相匹配的标签" + +#: templates/js/translated/label.js:203 +msgid "Labels sent to printer" +msgstr "" + #: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150 #: templates/js/translated/modals.js:663 msgid "Cancel" @@ -9807,28 +10350,6 @@ msgstr "" msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:74 -msgid "Company ID" -msgstr "公司ID" - -#: templates/js/translated/model_renderers.js:146 -msgid "Stock ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:302 -#: templates/js/translated/model_renderers.js:327 -msgid "Order ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:340 -#: templates/js/translated/model_renderers.js:344 -msgid "Shipment ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:405 -msgid "Manufacturer Part ID" -msgstr "制造商商品ID" - #: templates/js/translated/news.js:24 msgid "No news found" msgstr "" @@ -9857,742 +10378,364 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:102 -msgid "No stock items have been allocated to this shipment" +#: templates/js/translated/order.js:69 +msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:107 -msgid "The following stock items will be shipped" -msgstr "" - -#: templates/js/translated/order.js:147 -msgid "Complete Shipment" -msgstr "" - -#: templates/js/translated/order.js:167 -msgid "Confirm Shipment" -msgstr "" - -#: templates/js/translated/order.js:223 -msgid "No pending shipments found" -msgstr "" - -#: templates/js/translated/order.js:227 -msgid "No stock items have been allocated to pending shipments" -msgstr "" - -#: templates/js/translated/order.js:259 -msgid "Skip" -msgstr "" - -#: templates/js/translated/order.js:289 -msgid "Complete Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:306 templates/js/translated/order.js:418 -msgid "Mark this order as complete?" -msgstr "" - -#: templates/js/translated/order.js:312 -msgid "All line items have been received" -msgstr "" - -#: templates/js/translated/order.js:317 -msgid "This order has line items which have not been marked as received." -msgstr "" - -#: templates/js/translated/order.js:318 templates/js/translated/order.js:432 -msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:341 -msgid "Cancel Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:346 -msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" - -#: templates/js/translated/order.js:352 -msgid "This purchase order can not be cancelled" -msgstr "" - -#: templates/js/translated/order.js:375 -msgid "Issue Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:380 -msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:431 -msgid "This order has line items which have not been completed." -msgstr "" - -#: templates/js/translated/order.js:455 -msgid "Cancel Sales Order" -msgstr "" - -#: templates/js/translated/order.js:460 -msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" - -#: templates/js/translated/order.js:514 -msgid "Create New Shipment" -msgstr "" - -#: templates/js/translated/order.js:536 -msgid "Add Customer" -msgstr "" - -#: templates/js/translated/order.js:579 -msgid "Create Sales Order" -msgstr "" - -#: templates/js/translated/order.js:591 -msgid "Edit Sales Order" -msgstr "" - -#: templates/js/translated/order.js:673 -msgid "Select purchase order to duplicate" -msgstr "" - -#: templates/js/translated/order.js:680 -msgid "Duplicate Line Items" -msgstr "" - -#: templates/js/translated/order.js:681 -msgid "Duplicate all line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:688 -msgid "Duplicate Extra Lines" -msgstr "" - -#: templates/js/translated/order.js:689 -msgid "Duplicate extra line items from the selected order" -msgstr "" - -#: templates/js/translated/order.js:706 -msgid "Edit Purchase Order" -msgstr "" - -#: templates/js/translated/order.js:723 -msgid "Duplication Options" -msgstr "" - -#: templates/js/translated/order.js:1083 +#: templates/js/translated/order.js:106 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1134 -msgid "At least one purchaseable part must be selected" -msgstr "" - -#: templates/js/translated/order.js:1159 -msgid "Quantity to order" -msgstr "" - -#: templates/js/translated/order.js:1168 -msgid "New supplier part" -msgstr "" - -#: templates/js/translated/order.js:1186 -msgid "New purchase order" -msgstr "" - -#: templates/js/translated/order.js:1219 -msgid "Add to purchase order" -msgstr "" - -#: templates/js/translated/order.js:1363 -msgid "No matching supplier parts" -msgstr "" - -#: templates/js/translated/order.js:1382 -msgid "No matching purchase orders" -msgstr "" - -#: templates/js/translated/order.js:1559 -msgid "Select Line Items" -msgstr "" - -#: templates/js/translated/order.js:1560 -msgid "At least one line item must be selected" -msgstr "" - -#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/order.js:1601 -msgid "Received Quantity" -msgstr "" - -#: templates/js/translated/order.js:1612 -msgid "Quantity to receive" -msgstr "" - -#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2238 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/order.js:1769 -msgid "Order Code" -msgstr "订单编码" - -#: templates/js/translated/order.js:1770 -msgid "Ordered" -msgstr "" - -#: templates/js/translated/order.js:1772 -msgid "Quantity to Receive" -msgstr "" - -#: templates/js/translated/order.js:1795 -msgid "Confirm receipt of items" -msgstr "" - -#: templates/js/translated/order.js:1796 -msgid "Receive Purchase Order Items" -msgstr "" - -#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1360 -msgid "No purchase orders found" -msgstr "" - -#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2906 -msgid "Order is overdue" -msgstr "" - -#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2971 -#: templates/js/translated/order.js:3113 -msgid "Items" -msgstr "" - -#: templates/js/translated/order.js:2261 templates/js/translated/order.js:4178 -msgid "Duplicate Line Item" -msgstr "" - -#: templates/js/translated/order.js:2278 templates/js/translated/order.js:4193 -msgid "Edit Line Item" -msgstr "" - -#: templates/js/translated/order.js:2291 templates/js/translated/order.js:4204 -msgid "Delete Line Item" -msgstr "" - -#: templates/js/translated/order.js:2334 -msgid "No line items found" -msgstr "" - -#: templates/js/translated/order.js:2361 templates/js/translated/order.js:3932 -msgid "Total" -msgstr "" - -#: templates/js/translated/order.js:2447 templates/js/translated/order.js:2632 -#: templates/js/translated/order.js:3957 templates/js/translated/order.js:4440 -#: templates/js/translated/pricing.js:511 -#: templates/js/translated/pricing.js:580 -#: templates/js/translated/pricing.js:804 -msgid "Unit Price" -msgstr "单价" - -#: templates/js/translated/order.js:2457 templates/js/translated/order.js:2642 -#: templates/js/translated/order.js:3967 templates/js/translated/order.js:4450 -msgid "Total Price" -msgstr "" - -#: templates/js/translated/order.js:2485 templates/js/translated/order.js:3995 -#: templates/js/translated/part.js:1498 -msgid "This line item is overdue" -msgstr "" - -#: templates/js/translated/order.js:2544 templates/js/translated/part.js:1543 -msgid "Receive line item" -msgstr "" - -#: templates/js/translated/order.js:2548 templates/js/translated/order.js:4132 -msgid "Duplicate line item" -msgstr "" - -#: templates/js/translated/order.js:2549 templates/js/translated/order.js:4133 -msgid "Edit line item" -msgstr "" - -#: templates/js/translated/order.js:2550 templates/js/translated/order.js:4137 -msgid "Delete line item" -msgstr "" - -#: templates/js/translated/order.js:2677 templates/js/translated/order.js:4484 -msgid "Duplicate line" -msgstr "" - -#: templates/js/translated/order.js:2678 templates/js/translated/order.js:4485 -msgid "Edit line" -msgstr "" - -#: templates/js/translated/order.js:2679 templates/js/translated/order.js:4486 -msgid "Delete line" -msgstr "" - -#: templates/js/translated/order.js:2709 templates/js/translated/order.js:4515 +#: templates/js/translated/order.js:219 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2724 templates/js/translated/order.js:4530 +#: templates/js/translated/order.js:233 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2735 templates/js/translated/order.js:4541 +#: templates/js/translated/order.js:246 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2746 -msgid "No matching line" +#: templates/js/translated/order.js:259 +#: templates/js/translated/purchase_order.js:1828 +msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2857 -msgid "No sales orders found" +#: templates/js/translated/order.js:332 +msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2920 -msgid "Invalid Customer" +#: templates/js/translated/order.js:333 +msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:3018 -msgid "Edit shipment" +#: templates/js/translated/order.js:337 +msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:3021 -msgid "Complete shipment" -msgstr "" - -#: templates/js/translated/order.js:3026 -msgid "Delete shipment" -msgstr "" - -#: templates/js/translated/order.js:3046 -msgid "Edit Shipment" -msgstr "" - -#: templates/js/translated/order.js:3063 -msgid "Delete Shipment" -msgstr "" - -#: templates/js/translated/order.js:3098 -msgid "No matching shipments found" -msgstr "" - -#: templates/js/translated/order.js:3108 -msgid "Shipment Reference" -msgstr "" - -#: templates/js/translated/order.js:3132 -msgid "Not shipped" -msgstr "" - -#: templates/js/translated/order.js:3138 -msgid "Tracking" -msgstr "" - -#: templates/js/translated/order.js:3142 -msgid "Invoice" -msgstr "" - -#: templates/js/translated/order.js:3311 -msgid "Add Shipment" -msgstr "" - -#: templates/js/translated/order.js:3362 -msgid "Confirm stock allocation" -msgstr "确认库存分配" - -#: templates/js/translated/order.js:3363 -msgid "Allocate Stock Items to Sales Order" -msgstr "" - -#: templates/js/translated/order.js:3571 -msgid "No sales order allocations found" -msgstr "" - -#: templates/js/translated/order.js:3650 -msgid "Edit Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3667 -msgid "Confirm Delete Operation" -msgstr "确认删除操作" - -#: templates/js/translated/order.js:3668 -msgid "Delete Stock Allocation" -msgstr "" - -#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3802 -#: templates/js/translated/stock.js:1681 -msgid "Shipped to customer" -msgstr "" - -#: templates/js/translated/order.js:3721 templates/js/translated/order.js:3811 -msgid "Stock location not specified" -msgstr "" - -#: templates/js/translated/order.js:4116 -msgid "Allocate serial numbers" -msgstr "" - -#: templates/js/translated/order.js:4122 -msgid "Purchase stock" -msgstr "" - -#: templates/js/translated/order.js:4129 templates/js/translated/order.js:4320 -msgid "Calculate price" -msgstr "" - -#: templates/js/translated/order.js:4141 -msgid "Cannot be deleted as items have been shipped" -msgstr "" - -#: templates/js/translated/order.js:4144 -msgid "Cannot be deleted as items have been allocated" -msgstr "" - -#: templates/js/translated/order.js:4219 -msgid "Allocate Serial Numbers" -msgstr "" - -#: templates/js/translated/order.js:4328 -msgid "Update Unit Price" -msgstr "" - -#: templates/js/translated/order.js:4342 -msgid "No matching line items" -msgstr "" - -#: templates/js/translated/order.js:4552 -msgid "No matching lines" -msgstr "" - -#: templates/js/translated/part.js:57 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "商品属性" -#: templates/js/translated/part.js:61 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "商品创建选项" -#: templates/js/translated/part.js:65 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "商品重复选项" -#: templates/js/translated/part.js:88 +#: templates/js/translated/part.js:87 msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:259 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122 +#: templates/js/translated/part.js:275 templates/js/translated/stock.js:120 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:285 +#: templates/js/translated/part.js:291 msgid "Edit Part Category" msgstr "编辑商品类别" -#: templates/js/translated/part.js:298 +#: templates/js/translated/part.js:304 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:303 +#: templates/js/translated/part.js:309 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:312 +#: templates/js/translated/part.js:318 msgid "Delete Part Category" msgstr "删除商品类别" -#: templates/js/translated/part.js:316 +#: templates/js/translated/part.js:322 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:321 +#: templates/js/translated/part.js:327 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:345 +#: templates/js/translated/part.js:351 msgid "Create Part" msgstr "创建商品" -#: templates/js/translated/part.js:347 +#: templates/js/translated/part.js:353 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:354 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:376 +#: templates/js/translated/part.js:382 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:378 +#: templates/js/translated/part.js:384 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:395 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:446 +#: templates/js/translated/part.js:452 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:447 +#: templates/js/translated/part.js:453 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:461 +#: templates/js/translated/part.js:467 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:463 +#: templates/js/translated/part.js:469 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:470 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:465 +#: templates/js/translated/part.js:471 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:472 +#: templates/js/translated/part.js:478 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:508 +#: templates/js/translated/part.js:514 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:516 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:515 +#: templates/js/translated/part.js:521 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:517 +#: templates/js/translated/part.js:523 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:534 +#: templates/js/translated/part.js:540 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:544 +#: templates/js/translated/part.js:550 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:553 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:572 +#: templates/js/translated/part.js:578 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:600 templates/js/translated/part.js:1929 -#: templates/js/translated/table_filters.js:523 +#: templates/js/translated/part.js:606 +#: templates/js/translated/table_filters.js:555 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:609 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:669 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:668 +#: templates/js/translated/part.js:692 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:683 templates/js/translated/part.js:1116 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:1119 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/part.js:687 templates/js/translated/part.js:1120 +#: templates/js/translated/part.js:715 templates/js/translated/part.js:1123 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:699 +#: templates/js/translated/part.js:727 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:703 +#: templates/js/translated/part.js:731 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:778 +#: templates/js/translated/part.js:806 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:778 +#: templates/js/translated/part.js:806 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:786 +#: templates/js/translated/part.js:814 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:790 +#: templates/js/translated/part.js:818 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:943 +#: templates/js/translated/part.js:967 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1001 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1025 templates/js/translated/part.js:1061 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1005 templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1029 templates/js/translated/part.js:1071 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1192 +#: templates/js/translated/part.js:1198 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1613 +#: templates/js/translated/part.js:1351 +#: templates/js/translated/purchase_order.js:1500 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1495 +#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/return_order.js:695 +#: templates/js/translated/sales_order.js:1739 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1541 +#: templates/js/translated/purchase_order.js:2049 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1608 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1637 +#: templates/js/translated/part.js:1630 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1704 templates/js/translated/part.js:2040 +#: templates/js/translated/part.js:1695 templates/js/translated/part.js:1982 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1896 +#: templates/js/translated/part.js:1892 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:1927 -msgid "No stock" -msgstr "" - -#: templates/js/translated/part.js:1951 -msgid "Allocated to build orders" -msgstr "" - -#: templates/js/translated/part.js:1955 -msgid "Allocated to sales orders" -msgstr "" - -#: templates/js/translated/part.js:2064 templates/js/translated/part.js:2307 -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/part.js:2006 templates/js/translated/part.js:2224 +#: templates/js/translated/stock.js:2472 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2080 +#: templates/js/translated/part.js:2022 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2146 +#: templates/js/translated/part.js:2088 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2151 +#: templates/js/translated/part.js:2093 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:2156 +#: templates/js/translated/part.js:2098 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2169 +#: templates/js/translated/part.js:2111 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2327 templates/js/translated/stock.js:2461 +#: templates/js/translated/part.js:2244 templates/js/translated/stock.js:2492 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2324 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2423 +#: templates/js/translated/part.js:2340 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2509 +#: templates/js/translated/part.js:2420 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2560 templates/js/translated/stock.js:1374 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1359 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2561 templates/js/translated/stock.js:1375 -#: templates/js/translated/stock.js:1639 +#: templates/js/translated/part.js:2472 templates/js/translated/stock.js:1360 +#: templates/js/translated/stock.js:1622 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2567 +#: templates/js/translated/part.js:2476 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2583 +#: templates/js/translated/part.js:2492 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2597 +#: templates/js/translated/part.js:2506 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2678 templates/js/translated/part.js:2679 +#: templates/js/translated/part.js:2585 templates/js/translated/part.js:2586 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2681 +#: templates/js/translated/part.js:2588 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2687 +#: templates/js/translated/part.js:2594 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2737 +#: templates/js/translated/part.js:2644 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2743 +#: templates/js/translated/part.js:2650 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2839 +#: templates/js/translated/part.js:2746 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2855 +#: templates/js/translated/part.js:2762 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2900 +#: templates/js/translated/part.js:2807 msgid "Minimum Stock Level" msgstr "" @@ -10600,843 +10743,1267 @@ msgstr "" msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/pricing.js:143 +#: templates/js/translated/pricing.js:141 msgid "Error fetching currency data" msgstr "" -#: templates/js/translated/pricing.js:305 +#: templates/js/translated/pricing.js:303 msgid "No BOM data available" msgstr "" -#: templates/js/translated/pricing.js:447 +#: templates/js/translated/pricing.js:445 msgid "No supplier pricing data available" msgstr "" -#: templates/js/translated/pricing.js:556 +#: templates/js/translated/pricing.js:554 msgid "No price break data available" msgstr "" -#: templates/js/translated/pricing.js:612 +#: templates/js/translated/pricing.js:610 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:613 +#: templates/js/translated/pricing.js:611 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/pricing.js:739 +#: templates/js/translated/pricing.js:737 msgid "No purchase history data available" msgstr "" -#: templates/js/translated/pricing.js:761 +#: templates/js/translated/pricing.js:759 msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:861 +#: templates/js/translated/pricing.js:859 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:883 +#: templates/js/translated/pricing.js:881 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:972 +#: templates/js/translated/pricing.js:970 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1012 +#: templates/js/translated/pricing.js:1010 msgid "Variant Part" msgstr "" -#: templates/js/translated/report.js:67 +#: templates/js/translated/purchase_order.js:109 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:116 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:117 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:124 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:125 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:142 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:159 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:384 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/return_order.js:165 +#: templates/js/translated/sales_order.js:431 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:407 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:412 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:413 +#: templates/js/translated/sales_order.js:445 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:436 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:441 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:447 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/return_order.js:119 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:473 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:565 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:590 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:599 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:617 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:649 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:793 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:812 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:991 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:992 +#: templates/js/translated/return_order.js:435 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1012 +#: templates/js/translated/purchase_order.js:1125 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1018 +#: templates/js/translated/purchase_order.js:1136 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1033 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1044 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/stock.js:2273 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1196 +msgid "Order Code" +msgstr "订单编码" + +#: templates/js/translated/purchase_order.js:1197 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1222 +#: templates/js/translated/return_order.js:500 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1223 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/return_order.js:244 +#: templates/js/translated/sales_order.js:686 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:751 +#: templates/js/translated/sales_order.js:893 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1676 +#, fuzzy +#| msgid "All selected supplier parts will be deleted" +msgid "All selected Line items will be deleted" +msgstr "删除所有选定的供应商商品" + +#: templates/js/translated/purchase_order.js:1694 +#, fuzzy +#| msgid "Allocate selected items" +msgid "Delete selected Line items?" +msgstr "分配选定项目" + +#: templates/js/translated/purchase_order.js:1754 +#: templates/js/translated/sales_order.js:1920 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1769 +#: templates/js/translated/return_order.js:419 +#: templates/js/translated/return_order.js:608 +#: templates/js/translated/sales_order.js:1933 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1780 +#: templates/js/translated/return_order.js:621 +#: templates/js/translated/sales_order.js:1944 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2053 +#: templates/js/translated/sales_order.js:1876 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/return_order.js:731 +#: templates/js/translated/sales_order.js:1877 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2055 +#: templates/js/translated/return_order.js:735 +#: templates/js/translated/sales_order.js:1881 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 msgid "items selected" msgstr "" -#: templates/js/translated/report.js:75 +#: templates/js/translated/report.js:71 msgid "Select Report Template" msgstr "" -#: templates/js/translated/report.js:90 +#: templates/js/translated/report.js:86 msgid "Select Test Report Template" msgstr "" -#: templates/js/translated/report.js:119 -msgid "Stock item(s) must be selected before printing reports" -msgstr "在打印报表之前必须选择库存项目" - -#: templates/js/translated/report.js:136 templates/js/translated/report.js:189 -#: templates/js/translated/report.js:243 templates/js/translated/report.js:297 -#: templates/js/translated/report.js:351 +#: templates/js/translated/report.js:140 msgid "No Reports Found" msgstr "没有找到报表" -#: templates/js/translated/report.js:137 -msgid "No report templates found which match selected stock item(s)" +#: templates/js/translated/report.js:141 +#, fuzzy +#| msgid "No labels found which match the selected part(s)" +msgid "No report templates found which match the selected items" +msgstr "没有找到与所选商品相匹配的标签" + +#: templates/js/translated/return_order.js:40 +#: templates/js/translated/sales_order.js:52 +msgid "Add Customer" msgstr "" -#: templates/js/translated/report.js:172 -msgid "Select Builds" +#: templates/js/translated/return_order.js:89 +#, fuzzy +#| msgid "Create Purchase Order" +msgid "Create Return Order" +msgstr "创建采购订单" + +#: templates/js/translated/return_order.js:104 +msgid "Edit Return Order" msgstr "" -#: templates/js/translated/report.js:173 -msgid "Build(s) must be selected before printing reports" -msgstr "打印报表前必须选择Build(s)" - -#: templates/js/translated/report.js:190 -msgid "No report templates found which match selected build(s)" +#: templates/js/translated/return_order.js:124 +msgid "Issue Return Order" msgstr "" -#: templates/js/translated/report.js:226 -msgid "Part(s) must be selected before printing reports" -msgstr "打印报表前必须选择商品" +#: templates/js/translated/return_order.js:141 +#, fuzzy +#| msgid "Are you sure you wish to cancel this build?" +msgid "Are you sure you wish to cancel this Return Order?" +msgstr "是否确定取消生产?" -#: templates/js/translated/report.js:244 -msgid "No report templates found which match selected part(s)" +#: templates/js/translated/return_order.js:148 +#, fuzzy +#| msgid "Cancel order" +msgid "Cancel Return Order" +msgstr "取消订单" + +#: templates/js/translated/return_order.js:173 +#, fuzzy +#| msgid "Complete Build Order" +msgid "Complete Return Order" +msgstr "生产订单完成" + +#: templates/js/translated/return_order.js:221 +#, fuzzy +#| msgid "No parameters found" +msgid "No return orders found" +msgstr "无指定参数" + +#: templates/js/translated/return_order.js:258 +#: templates/js/translated/sales_order.js:700 +msgid "Invalid Customer" msgstr "" -#: templates/js/translated/report.js:279 -msgid "Select Purchase Orders" +#: templates/js/translated/return_order.js:501 +msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/report.js:280 -msgid "Purchase Order(s) must be selected before printing report" +#: templates/js/translated/return_order.js:632 +#: templates/js/translated/sales_order.js:2080 +msgid "No matching line items" msgstr "" -#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 -msgid "No report templates found which match selected orders" +#: templates/js/translated/return_order.js:728 +msgid "Mark item as received" msgstr "" -#: templates/js/translated/report.js:333 -msgid "Select Sales Orders" +#: templates/js/translated/sales_order.js:102 +msgid "Create Sales Order" msgstr "" -#: templates/js/translated/report.js:334 -msgid "Sales Order(s) must be selected before printing report" +#: templates/js/translated/sales_order.js:117 +msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/search.js:410 +#: templates/js/translated/sales_order.js:226 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:231 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:271 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:291 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:347 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:351 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:383 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:444 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:468 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:473 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:527 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:637 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:805 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:808 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:813 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:830 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:845 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:878 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:888 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:912 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:918 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:922 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1090 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1141 +msgid "Confirm stock allocation" +msgstr "确认库存分配" + +#: templates/js/translated/sales_order.js:1142 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1346 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1425 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1439 +msgid "Confirm Delete Operation" +msgstr "确认删除操作" + +#: templates/js/translated/sales_order.js:1440 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1482 +#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/stock.js:1664 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1490 +#: templates/js/translated/sales_order.js:1578 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:1860 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:1866 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:2058 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:1885 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1888 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:1959 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2066 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:298 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:320 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:370 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:370 +msgid "results" +msgstr "" + +#: templates/js/translated/search.js:380 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:413 +#: templates/js/translated/search.js:383 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:71 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:104 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:113 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:148 +#: templates/js/translated/stock.js:146 msgid "Edit Stock Location" msgstr "编辑仓储地点" -#: templates/js/translated/stock.js:163 +#: templates/js/translated/stock.js:161 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:177 +#: templates/js/translated/stock.js:175 msgid "Are you sure you want to delete this stock location?" msgstr "确实要删除此仓储地点吗?" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:182 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:191 msgid "Delete Stock Location" msgstr "删除仓储地点" -#: templates/js/translated/stock.js:197 +#: templates/js/translated/stock.js:195 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:200 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:256 +#: templates/js/translated/stock.js:254 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:298 +#: templates/js/translated/stock.js:296 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:302 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:375 +#: templates/js/translated/stock.js:373 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:395 +#: templates/js/translated/stock.js:393 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:411 +#: templates/js/translated/stock.js:409 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:416 +#: templates/js/translated/stock.js:414 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:485 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:500 +#: templates/js/translated/stock.js:498 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:525 +#: templates/js/translated/stock.js:523 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:527 templates/js/translated/stock.js:528 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:546 +#: templates/js/translated/stock.js:544 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:566 +#: templates/js/translated/stock.js:564 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:575 +#: templates/js/translated/stock.js:573 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:697 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:701 +#: templates/js/translated/stock.js:698 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:775 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:779 +#: templates/js/translated/stock.js:776 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:781 +#: templates/js/translated/stock.js:778 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:782 +#: templates/js/translated/stock.js:779 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:870 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:874 +#: templates/js/translated/stock.js:871 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:966 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:967 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:976 +#: templates/js/translated/stock.js:973 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:977 +#: templates/js/translated/stock.js:974 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:981 +#: templates/js/translated/stock.js:978 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:982 +#: templates/js/translated/stock.js:979 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:983 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:987 users/models.py:227 +#: templates/js/translated/stock.js:984 users/models.py:239 msgid "Add" msgstr "添加" -#: templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:988 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1088 +#: templates/js/translated/stock.js:1085 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1128 +#: templates/js/translated/stock.js:1119 +msgid "Select Stock Items" +msgstr "选择库存项" + +#: templates/js/translated/stock.js:1120 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1155 +#: templates/js/translated/stock.js:1147 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1291 +#: templates/js/translated/stock.js:1283 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1293 +#: templates/js/translated/stock.js:1285 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1298 +#: templates/js/translated/stock.js:1290 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1367 +#: templates/js/translated/stock.js:1352 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1370 +#: templates/js/translated/stock.js:1355 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1396 +#: templates/js/translated/stock.js:1379 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1460 +#: templates/js/translated/stock.js:1443 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1622 +#: templates/js/translated/stock.js:1605 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1627 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/stock.js:1656 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1677 +#: templates/js/translated/stock.js:1660 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1685 +#: templates/js/translated/stock.js:1668 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1674 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1824 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:1829 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1832 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1867 +#: templates/js/translated/stock.js:1835 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1869 +#: templates/js/translated/stock.js:1837 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1839 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:1842 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1846 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1880 +#: templates/js/translated/stock.js:1848 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1887 +#: templates/js/translated/stock.js:1855 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1889 +#: templates/js/translated/stock.js:1857 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1891 +#: templates/js/translated/stock.js:1859 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1895 -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/stock.js:1863 +#: templates/js/translated/table_filters.js:248 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2005 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2052 +#, fuzzy +#| msgid "Stock Source" +msgid "Stock Value" +msgstr "库存来源" + +#: templates/js/translated/stock.js:2140 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2253 +#: templates/js/translated/stock.js:2288 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2267 +#: templates/js/translated/stock.js:2302 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2268 +#: templates/js/translated/stock.js:2303 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2500 +#: templates/js/translated/stock.js:2531 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2613 +#: templates/js/translated/stock.js:2638 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2629 +#: templates/js/translated/stock.js:2654 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2676 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2695 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2712 +#, fuzzy +#| msgid "Sales Order Settings" +msgid "Sales Order no longer exists" +msgstr "销售订单设置" + +#: templates/js/translated/stock.js:2729 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2748 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2707 +#: templates/js/translated/stock.js:2766 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2784 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2738 +#: templates/js/translated/stock.js:2792 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2814 +#: templates/js/translated/stock.js:2868 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2865 templates/js/translated/stock.js:2901 +#: templates/js/translated/stock.js:2918 templates/js/translated/stock.js:2953 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2971 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2992 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2941 +#: templates/js/translated/stock.js:2993 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2943 +#: templates/js/translated/stock.js:2995 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2944 +#: templates/js/translated/stock.js:2996 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2945 +#: templates/js/translated/stock.js:2997 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2998 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3011 msgid "Select part to install" msgstr "" -#: templates/js/translated/table_filters.js:56 -msgid "Trackable Part" -msgstr "可追溯商品" - -#: templates/js/translated/table_filters.js:60 -msgid "Assembled Part" -msgstr "" - -#: templates/js/translated/table_filters.js:64 -msgid "Has Available Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:72 -msgid "Validated" -msgstr "" - -#: templates/js/translated/table_filters.js:80 -msgid "Allow Variant Stock" -msgstr "" - -#: templates/js/translated/table_filters.js:92 -#: templates/js/translated/table_filters.js:555 -msgid "Has Pricing" -msgstr "" - -#: templates/js/translated/table_filters.js:130 -#: templates/js/translated/table_filters.js:215 -msgid "Include sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:131 -msgid "Include locations" -msgstr "" - -#: templates/js/translated/table_filters.js:149 -#: templates/js/translated/table_filters.js:150 -#: templates/js/translated/table_filters.js:492 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:158 -#: templates/js/translated/table_filters.js:535 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:250 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:171 -#: templates/js/translated/table_filters.js:257 -msgid "Serial number GTE" -msgstr "" - -#: templates/js/translated/table_filters.js:172 -#: templates/js/translated/table_filters.js:258 -msgid "Serial number greater than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:175 -#: templates/js/translated/table_filters.js:261 -msgid "Serial number LTE" -msgstr "" - -#: templates/js/translated/table_filters.js:176 -#: templates/js/translated/table_filters.js:262 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:180 -#: templates/js/translated/table_filters.js:253 -#: templates/js/translated/table_filters.js:254 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:275 -msgid "Batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:195 -#: templates/js/translated/table_filters.js:464 -msgid "Active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:196 -msgid "Show stock for active parts" -msgstr "" - -#: templates/js/translated/table_filters.js:201 -msgid "Part is an assembly" -msgstr "" - -#: templates/js/translated/table_filters.js:205 -msgid "Is allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:206 -msgid "Item has been allocated" -msgstr "" - -#: templates/js/translated/table_filters.js:211 -msgid "Stock is available for use" -msgstr "" - -#: templates/js/translated/table_filters.js:216 -msgid "Include stock in sublocations" -msgstr "" - -#: templates/js/translated/table_filters.js:221 -msgid "Show stock items which are depleted" -msgstr "" - -#: templates/js/translated/table_filters.js:226 -msgid "Show items which are in stock" -msgstr "" - -#: templates/js/translated/table_filters.js:230 -msgid "In Production" -msgstr "正在生产" - -#: templates/js/translated/table_filters.js:231 -msgid "Show items which are in production" -msgstr "显示正在生产的项目" - -#: templates/js/translated/table_filters.js:235 -msgid "Include Variants" -msgstr "" - -#: templates/js/translated/table_filters.js:236 -msgid "Include stock items for variant parts" -msgstr "" - -#: templates/js/translated/table_filters.js:240 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:241 -msgid "Show stock items which are installed in another item" -msgstr "" - -#: templates/js/translated/table_filters.js:246 -msgid "Show items which have been assigned to a customer" -msgstr "" - -#: templates/js/translated/table_filters.js:266 -#: templates/js/translated/table_filters.js:267 -msgid "Stock status" -msgstr "" - -#: templates/js/translated/table_filters.js:270 -msgid "Has batch code" -msgstr "" - -#: templates/js/translated/table_filters.js:278 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:279 -msgid "Stock item is tracked by either batch code or serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:284 -msgid "Has purchase price" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -msgid "Show stock items which have a purchase price set" -msgstr "" - -#: templates/js/translated/table_filters.js:289 -msgid "Expiry Date before" -msgstr "" - -#: templates/js/translated/table_filters.js:293 -msgid "Expiry Date after" -msgstr "" - -#: templates/js/translated/table_filters.js:306 -msgid "Show stock items which have expired" -msgstr "" - -#: templates/js/translated/table_filters.js:312 -msgid "Show stock which is close to expiring" -msgstr "" - -#: templates/js/translated/table_filters.js:324 -msgid "Test Passed" -msgstr "" - -#: templates/js/translated/table_filters.js:328 -msgid "Include Installed Items" -msgstr "" - -#: templates/js/translated/table_filters.js:347 -msgid "Build status" -msgstr "生产状态" - -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:420 -msgid "Assigned to me" -msgstr "" - -#: templates/js/translated/table_filters.js:396 -#: templates/js/translated/table_filters.js:407 -#: templates/js/translated/table_filters.js:437 +#: templates/js/translated/table_filters.js:25 +#: templates/js/translated/table_filters.js:424 +#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/table_filters.js:465 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:412 -#: templates/js/translated/table_filters.js:429 -#: templates/js/translated/table_filters.js:442 +#: templates/js/translated/table_filters.js:30 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:457 +#: templates/js/translated/table_filters.js:470 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:493 +#: templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:448 +#: templates/js/translated/table_filters.js:478 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:84 +msgid "Trackable Part" +msgstr "可追溯商品" + +#: templates/js/translated/table_filters.js:88 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:92 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:108 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:587 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:243 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:159 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:177 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:524 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:567 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:196 +#: templates/js/translated/table_filters.js:278 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:285 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:286 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:289 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:290 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 +#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:282 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:303 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:496 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:224 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:229 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:233 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:239 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:244 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:249 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:254 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:258 +msgid "In Production" +msgstr "正在生产" + +#: templates/js/translated/table_filters.js:259 +msgid "Show items which are in production" +msgstr "显示正在生产的项目" + +#: templates/js/translated/table_filters.js:263 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:264 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:268 +msgid "Installed" +msgstr "" + +#: templates/js/translated/table_filters.js:269 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:274 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:294 +#: templates/js/translated/table_filters.js:295 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +msgid "Tracked" +msgstr "" + +#: templates/js/translated/table_filters.js:307 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:312 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:313 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:317 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:321 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:334 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:340 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:352 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:375 +msgid "Build status" +msgstr "生产状态" + +#: templates/js/translated/table_filters.js:525 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:498 +#: templates/js/translated/table_filters.js:530 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:506 +#: templates/js/translated/table_filters.js:538 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:514 +#: templates/js/translated/table_filters.js:546 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:515 +#: templates/js/translated/table_filters.js:547 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:519 +#: templates/js/translated/table_filters.js:551 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:559 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:571 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/tables.js:71 +#: templates/js/translated/tables.js:86 msgid "Display calendar view" msgstr "显示日历" -#: templates/js/translated/tables.js:81 +#: templates/js/translated/tables.js:96 msgid "Display list view" msgstr "列表视图" -#: templates/js/translated/tables.js:91 +#: templates/js/translated/tables.js:106 msgid "Display tree view" msgstr "" -#: templates/js/translated/tables.js:109 +#: templates/js/translated/tables.js:124 msgid "Expand all rows" msgstr "" -#: templates/js/translated/tables.js:115 +#: templates/js/translated/tables.js:130 msgid "Collapse all rows" msgstr "" -#: templates/js/translated/tables.js:165 +#: templates/js/translated/tables.js:180 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:169 +#: templates/js/translated/tables.js:184 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:524 +#: templates/js/translated/tables.js:539 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:527 +#: templates/js/translated/tables.js:542 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:532 +#: templates/js/translated/tables.js:547 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "to" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "of" msgstr "" -#: templates/js/translated/tables.js:534 +#: templates/js/translated/tables.js:549 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:538 templates/navbar.html:102 -#: templates/search.html:8 templates/search_form.html:6 -#: templates/search_form.html:7 -msgid "Search" -msgstr "搜索" - -#: templates/js/translated/tables.js:541 +#: templates/js/translated/tables.js:556 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:544 +#: templates/js/translated/tables.js:559 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:550 +#: templates/js/translated/tables.js:565 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:553 +#: templates/js/translated/tables.js:568 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:571 msgid "All" msgstr "" @@ -11448,19 +12015,19 @@ msgstr "采购" msgid "Sell" msgstr "销售" -#: templates/navbar.html:116 +#: templates/navbar.html:121 msgid "Show Notifications" msgstr "" -#: templates/navbar.html:119 +#: templates/navbar.html:124 msgid "New Notifications" msgstr "" -#: templates/navbar.html:137 users/models.py:36 +#: templates/navbar.html:142 users/models.py:36 msgid "Admin" msgstr "管理员" -#: templates/navbar.html:140 +#: templates/navbar.html:145 msgid "Logout" msgstr "" @@ -11472,10 +12039,6 @@ msgstr "" msgid "Show all notifications and history" msgstr "" -#: templates/price_data.html:7 -msgid "No data" -msgstr "" - #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -11496,18 +12059,10 @@ msgstr "" msgid "Clear search" msgstr "" -#: templates/search.html:16 -msgid "Filter results" -msgstr "" - -#: templates/search.html:20 +#: templates/search.html:15 msgid "Close search menu" msgstr "" -#: templates/search.html:35 -msgid "No search results" -msgstr "" - #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" msgstr "" @@ -11555,10 +12110,6 @@ msgid "" "%(site_name)s.
    As a final step, please complete the following form:" msgstr "" -#: templates/stats.html:9 -msgid "Server" -msgstr "" - #: templates/stats.html:13 msgid "Instance Name" msgstr "" @@ -11623,55 +12174,51 @@ msgstr "电子邮件设置未配置" msgid "Barcode Actions" msgstr "" -#: templates/stock_table.html:33 -msgid "Print test reports" -msgstr "打印测试报表" - -#: templates/stock_table.html:40 +#: templates/stock_table.html:28 msgid "Stock Options" msgstr "" -#: templates/stock_table.html:45 +#: templates/stock_table.html:33 msgid "Add to selected stock items" msgstr "" -#: templates/stock_table.html:46 +#: templates/stock_table.html:34 msgid "Remove from selected stock items" msgstr "" -#: templates/stock_table.html:47 +#: templates/stock_table.html:35 msgid "Stocktake selected stock items" msgstr "" -#: templates/stock_table.html:48 +#: templates/stock_table.html:36 msgid "Move selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge selected stock items" msgstr "" -#: templates/stock_table.html:49 +#: templates/stock_table.html:37 msgid "Merge stock" msgstr "" -#: templates/stock_table.html:50 +#: templates/stock_table.html:38 msgid "Order selected items" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change status" msgstr "" -#: templates/stock_table.html:52 +#: templates/stock_table.html:40 msgid "Change stock status" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete selected items" msgstr "" -#: templates/stock_table.html:55 +#: templates/stock_table.html:43 msgid "Delete stock" msgstr "" @@ -11691,50 +12238,98 @@ msgstr "用户" msgid "Select which users are assigned to this group" msgstr "选择分配给该组的用户" -#: users/admin.py:195 +#: users/admin.py:199 msgid "The following users are members of multiple groups:" msgstr "以下用户是多个群组的成员:" -#: users/admin.py:218 +#: users/admin.py:222 msgid "Personal info" msgstr "个人资料" -#: users/admin.py:219 +#: users/admin.py:223 msgid "Permissions" msgstr "权限" -#: users/admin.py:222 +#: users/admin.py:226 msgid "Important dates" msgstr "重要日期" -#: users/models.py:214 +#: users/models.py:226 msgid "Permission set" msgstr "权限设置" -#: users/models.py:222 +#: users/models.py:234 msgid "Group" msgstr "群组" -#: users/models.py:225 +#: users/models.py:237 msgid "View" msgstr "视图" -#: users/models.py:225 +#: users/models.py:237 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:227 +#: users/models.py:239 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:229 +#: users/models.py:241 msgid "Change" msgstr "更改" -#: users/models.py:229 +#: users/models.py:241 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:231 +#: users/models.py:243 msgid "Permission to delete items" msgstr "删除项目权限" + +#~ msgid "Printing Actions" +#~ msgstr "打印操作" + +#~ msgid "Print labels" +#~ msgstr "打印标签" + +#~ msgid "Print Build Orders" +#~ msgstr "打印生产订单" + +#~ msgid "Print Order Reports" +#~ msgstr "打印订单报表" + +#~ msgid "Print Labels" +#~ msgstr "打印标签" + +#~ msgid "No labels found which match selected stock item(s)" +#~ msgstr "没有找到与选定的库存项匹配的标签" + +#~ msgid "Select Stock Locations" +#~ msgstr "选择仓储地点" + +#~ msgid "Stock location(s) must be selected before printing labels" +#~ msgstr "打印标签前必须选择仓储地点" + +#~ msgid "No labels found which match selected stock location(s)" +#~ msgstr "没有找到匹配选定库存地点的标签" + +#~ msgid "Part(s) must be selected before printing labels" +#~ msgstr "打印标签前必须选择商品" + +#~ msgid "Company ID" +#~ msgstr "公司ID" + +#~ msgid "Manufacturer Part ID" +#~ msgstr "制造商商品ID" + +#~ msgid "Stock item(s) must be selected before printing reports" +#~ msgstr "在打印报表之前必须选择库存项目" + +#~ msgid "Build(s) must be selected before printing reports" +#~ msgstr "打印报表前必须选择Build(s)" + +#~ msgid "Part(s) must be selected before printing reports" +#~ msgstr "打印报表前必须选择商品" + +#~ msgid "Print test reports" +#~ msgstr "打印测试报表" From 4d8cfd77ffffb73a3c270dc4432dad02a018bce3 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 2 Apr 2023 21:43:05 +1000 Subject: [PATCH 103/140] Sales Order Allocation Improvements (#4556) * Do not remove sales order allocations when returning an item against a return order * Also do not clear allocations when returning manually * stock item display tweaks * Add extra column to sales order allocation table * Improve methods for introspecting sales order allocations for stockitems * Only display "active" sales order allocations on a stock item detail page - All allocations are still visible in the allocation table * Can't have available quantity if you're not available tap's side of nose --- InvenTree/order/models.py | 3 -- InvenTree/stock/models.py | 32 ++++++++++++++++--- InvenTree/stock/templates/stock/item.html | 2 +- .../stock/templates/stock/item_base.html | 24 ++++++++------ .../templates/js/translated/sales_order.js | 13 ++++++++ 5 files changed, 56 insertions(+), 18 deletions(-) diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index c36487a7dd..1c59a0bb31 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -1766,9 +1766,6 @@ class ReturnOrder(TotalPriceMixin, Order): stock_item = line.item - # Remove any allocations against the returned StockItem - stock_item.clearAllocations() - deltas = { 'status': StockStatus.QUARANTINED, 'returnorder': self.pk, diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 09b49fb4d3..0d3a28d09f 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -33,7 +33,8 @@ from InvenTree.fields import (InvenTreeModelMoneyField, InvenTreeNotesField, InvenTreeURLField) from InvenTree.models import (InvenTreeAttachment, InvenTreeBarcodeMixin, InvenTreeTree, extract_int) -from InvenTree.status_codes import StockHistoryCode, StockStatus +from InvenTree.status_codes import (SalesOrderStatus, StockHistoryCode, + StockStatus) from part import models as PartModels from plugin.events import trigger_event from plugin.models import MetadataMixin @@ -1013,7 +1014,6 @@ class StockItem(InvenTreeBarcodeMixin, MetadataMixin, common.models.MetaMixin, M location=location ) - self.clearAllocations() self.customer = None self.belongs_to = None self.sales_order = None @@ -1059,9 +1059,33 @@ class StockItem(InvenTreeBarcodeMixin, MetadataMixin, common.models.MetaMixin, M return total - def sales_order_allocation_count(self): + def get_sales_order_allocations(self, active=True): + """Return a queryset for SalesOrderAllocations against this StockItem, with optional filters. + + Arguments: + active: Filter by 'active' status of the allocation + """ + query = self.sales_order_allocations.all() + + if active is True: + query = query.filter( + line__order__status__in=SalesOrderStatus.OPEN, + shipment__shipment_date=None + ) + elif active is False: + query = query.exclude( + line__order__status__in=SalesOrderStatus.OPEN + ).exclude( + shipment__shipment_date=None + ) + + return query + + def sales_order_allocation_count(self, active=True): """Return the total quantity allocated to SalesOrders.""" - query = self.sales_order_allocations.aggregate(q=Coalesce(Sum('quantity'), Decimal(0))) + + query = self.get_sales_order_allocations(active=active) + query = query.aggregate(q=Coalesce(Sum('quantity'), Decimal(0))) total = query['q'] diff --git a/InvenTree/stock/templates/stock/item.html b/InvenTree/stock/templates/stock/item.html index 71df55c5b1..a886e71b6c 100644 --- a/InvenTree/stock/templates/stock/item.html +++ b/InvenTree/stock/templates/stock/item.html @@ -59,7 +59,7 @@ {% include "filter_list.html" with id="salesorderallocation" %}

    -
    +
    {% endif %}
    diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index f897d7405c..369a50454a 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -266,6 +266,12 @@
    + {% if not item.in_stock %} +
    + {% trans "This stock item is unavailable" %} +
    + {% endif %} + {% if item.is_building %}
    {% trans "This stock item is in production and cannot be edited." %}
    @@ -281,12 +287,12 @@ {% endif %} {% if item.hasRequiredTests and not item.passedAllRequiredTests %} -
    +
    {% trans "This stock item has not passed all required tests" %}
    {% endif %} - {% for allocation in item.sales_order_allocations.all %} + {% for allocation in item.get_sales_order_allocations.all %}
    {% object_link 'so-detail' allocation.line.order.id allocation.line.order as link %} {% decimal allocation.quantity as qty %} @@ -301,12 +307,6 @@ {% trans "This stock item is allocated to Build Order" %} {{ link }} {% if qty < item.quantity %}({% trans "Quantity" %}: {{ qty }}){% endif %}
    {% endfor %} - - {% if item.serialized %} -
    - {% trans "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." %} -
    - {% endif %}
    {% endblock details %} @@ -320,7 +320,7 @@
    -
    {% trans "Serial Number" %}
    +
    {% trans "Serial Number" %}
    {{ item.serial }} @@ -348,7 +348,11 @@
    + {% if item.in_stock %}
    {% trans "Available Quantity" %}
    + {% else %} +
    {% trans "Quantity" %}
    + {% endif %}
    {% if item.quantity != available %}{% decimal available %} / {% endif %}{% decimal item.quantity %} {% include "part/part_units.html" with part=item.part %}
    @@ -367,7 +371,7 @@ {% elif item.sales_order %} - + {% trans "Sales Order" %} {{ item.sales_order.reference }} - {{ item.sales_order.customer.name }} diff --git a/InvenTree/templates/js/translated/sales_order.js b/InvenTree/templates/js/translated/sales_order.js index af8488f6b1..89fd155c1e 100644 --- a/InvenTree/templates/js/translated/sales_order.js +++ b/InvenTree/templates/js/translated/sales_order.js @@ -1387,6 +1387,7 @@ function loadSalesOrderAllocationTable(table, options={}) { }, { field: 'item', + switchable: false, title: '{% trans "Stock Item" %}', formatter: function(value, row) { // Render a link to the particular stock item @@ -1409,6 +1410,18 @@ function loadSalesOrderAllocationTable(table, options={}) { title: '{% trans "Quantity" %}', sortable: true, }, + { + field: 'shipment_date', + title: '{% trans "Shipped" %}', + sortable: true, + formatter: function(value, row) { + if (value) { + return renderDate(value); + } else { + return `{% trans "Not shipped" %}`; + } + } + } ] }); } From 58e9065b41958fbf1e95f380d5820ad4083d661e Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sun, 2 Apr 2023 23:13:01 +0200 Subject: [PATCH 104/140] Update deps (#4559) * update deps * fix hash --- requirements-dev.txt | 219 ++++++++++++++++++++----------------------- requirements.txt | 45 +++++---- 2 files changed, 125 insertions(+), 139 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 0acd96eb33..ec575b2be8 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -24,95 +24,82 @@ cfgv==3.3.1 \ --hash=sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426 \ --hash=sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736 # via pre-commit -charset-normalizer==3.0.1 \ - --hash=sha256:00d3ffdaafe92a5dc603cb9bd5111aaa36dfa187c8285c543be562e61b755f6b \ - --hash=sha256:024e606be3ed92216e2b6952ed859d86b4cfa52cd5bc5f050e7dc28f9b43ec42 \ - --hash=sha256:0298eafff88c99982a4cf66ba2efa1128e4ddaca0b05eec4c456bbc7db691d8d \ - --hash=sha256:02a51034802cbf38db3f89c66fb5d2ec57e6fe7ef2f4a44d070a593c3688667b \ - --hash=sha256:083c8d17153ecb403e5e1eb76a7ef4babfc2c48d58899c98fcaa04833e7a2f9a \ - --hash=sha256:0a11e971ed097d24c534c037d298ad32c6ce81a45736d31e0ff0ad37ab437d59 \ - --hash=sha256:0bf2dae5291758b6f84cf923bfaa285632816007db0330002fa1de38bfcb7154 \ - --hash=sha256:0c0a590235ccd933d9892c627dec5bc7511ce6ad6c1011fdf5b11363022746c1 \ - --hash=sha256:0f438ae3532723fb6ead77e7c604be7c8374094ef4ee2c5e03a3a17f1fca256c \ - --hash=sha256:109487860ef6a328f3eec66f2bf78b0b72400280d8f8ea05f69c51644ba6521a \ - --hash=sha256:11b53acf2411c3b09e6af37e4b9005cba376c872503c8f28218c7243582df45d \ - --hash=sha256:12db3b2c533c23ab812c2b25934f60383361f8a376ae272665f8e48b88e8e1c6 \ - --hash=sha256:14e76c0f23218b8f46c4d87018ca2e441535aed3632ca134b10239dfb6dadd6b \ - --hash=sha256:16a8663d6e281208d78806dbe14ee9903715361cf81f6d4309944e4d1e59ac5b \ - --hash=sha256:292d5e8ba896bbfd6334b096e34bffb56161c81408d6d036a7dfa6929cff8783 \ - --hash=sha256:2c03cc56021a4bd59be889c2b9257dae13bf55041a3372d3295416f86b295fb5 \ - --hash=sha256:2e396d70bc4ef5325b72b593a72c8979999aa52fb8bcf03f701c1b03e1166918 \ - --hash=sha256:2edb64ee7bf1ed524a1da60cdcd2e1f6e2b4f66ef7c077680739f1641f62f555 \ - --hash=sha256:31a9ddf4718d10ae04d9b18801bd776693487cbb57d74cc3458a7673f6f34639 \ - --hash=sha256:356541bf4381fa35856dafa6a965916e54bed415ad8a24ee6de6e37deccf2786 \ - --hash=sha256:358a7c4cb8ba9b46c453b1dd8d9e431452d5249072e4f56cfda3149f6ab1405e \ - --hash=sha256:37f8febc8ec50c14f3ec9637505f28e58d4f66752207ea177c1d67df25da5aed \ - --hash=sha256:39049da0ffb96c8cbb65cbf5c5f3ca3168990adf3551bd1dee10c48fce8ae820 \ - --hash=sha256:39cf9ed17fe3b1bc81f33c9ceb6ce67683ee7526e65fde1447c772afc54a1bb8 \ - --hash=sha256:3ae1de54a77dc0d6d5fcf623290af4266412a7c4be0b1ff7444394f03f5c54e3 \ - --hash=sha256:3b590df687e3c5ee0deef9fc8c547d81986d9a1b56073d82de008744452d6541 \ - --hash=sha256:3e45867f1f2ab0711d60c6c71746ac53537f1684baa699f4f668d4c6f6ce8e14 \ - --hash=sha256:3fc1c4a2ffd64890aebdb3f97e1278b0cc72579a08ca4de8cd2c04799a3a22be \ - --hash=sha256:4457ea6774b5611f4bed5eaa5df55f70abde42364d498c5134b7ef4c6958e20e \ - --hash=sha256:44ba614de5361b3e5278e1241fda3dc1838deed864b50a10d7ce92983797fa76 \ - --hash=sha256:4a8fcf28c05c1f6d7e177a9a46a1c52798bfe2ad80681d275b10dcf317deaf0b \ - --hash=sha256:4b0d02d7102dd0f997580b51edc4cebcf2ab6397a7edf89f1c73b586c614272c \ - --hash=sha256:502218f52498a36d6bf5ea77081844017bf7982cdbe521ad85e64cabee1b608b \ - --hash=sha256:503e65837c71b875ecdd733877d852adbc465bd82c768a067badd953bf1bc5a3 \ - --hash=sha256:5995f0164fa7df59db4746112fec3f49c461dd6b31b841873443bdb077c13cfc \ - --hash=sha256:59e5686dd847347e55dffcc191a96622f016bc0ad89105e24c14e0d6305acbc6 \ - --hash=sha256:601f36512f9e28f029d9481bdaf8e89e5148ac5d89cffd3b05cd533eeb423b59 \ - --hash=sha256:608862a7bf6957f2333fc54ab4399e405baad0163dc9f8d99cb236816db169d4 \ - --hash=sha256:62595ab75873d50d57323a91dd03e6966eb79c41fa834b7a1661ed043b2d404d \ - --hash=sha256:70990b9c51340e4044cfc394a81f614f3f90d41397104d226f21e66de668730d \ - --hash=sha256:71140351489970dfe5e60fc621ada3e0f41104a5eddaca47a7acb3c1b851d6d3 \ - --hash=sha256:72966d1b297c741541ca8cf1223ff262a6febe52481af742036a0b296e35fa5a \ - --hash=sha256:74292fc76c905c0ef095fe11e188a32ebd03bc38f3f3e9bcb85e4e6db177b7ea \ - --hash=sha256:761e8904c07ad053d285670f36dd94e1b6ab7f16ce62b9805c475b7aa1cffde6 \ - --hash=sha256:772b87914ff1152b92a197ef4ea40efe27a378606c39446ded52c8f80f79702e \ - --hash=sha256:79909e27e8e4fcc9db4addea88aa63f6423ebb171db091fb4373e3312cb6d603 \ - --hash=sha256:7e189e2e1d3ed2f4aebabd2d5b0f931e883676e51c7624826e0a4e5fe8a0bf24 \ - --hash=sha256:7eb33a30d75562222b64f569c642ff3dc6689e09adda43a082208397f016c39a \ - --hash=sha256:81d6741ab457d14fdedc215516665050f3822d3e56508921cc7239f8c8e66a58 \ - --hash=sha256:8499ca8f4502af841f68135133d8258f7b32a53a1d594aa98cc52013fff55678 \ - --hash=sha256:84c3990934bae40ea69a82034912ffe5a62c60bbf6ec5bc9691419641d7d5c9a \ - --hash=sha256:87701167f2a5c930b403e9756fab1d31d4d4da52856143b609e30a1ce7160f3c \ - --hash=sha256:88600c72ef7587fe1708fd242b385b6ed4b8904976d5da0893e31df8b3480cb6 \ - --hash=sha256:8ac7b6a045b814cf0c47f3623d21ebd88b3e8cf216a14790b455ea7ff0135d18 \ - --hash=sha256:8b8af03d2e37866d023ad0ddea594edefc31e827fee64f8de5611a1dbc373174 \ - --hash=sha256:8c7fe7afa480e3e82eed58e0ca89f751cd14d767638e2550c77a92a9e749c317 \ - --hash=sha256:8eade758719add78ec36dc13201483f8e9b5d940329285edcd5f70c0a9edbd7f \ - --hash=sha256:911d8a40b2bef5b8bbae2e36a0b103f142ac53557ab421dc16ac4aafee6f53dc \ - --hash=sha256:93ad6d87ac18e2a90b0fe89df7c65263b9a99a0eb98f0a3d2e079f12a0735837 \ - --hash=sha256:95dea361dd73757c6f1c0a1480ac499952c16ac83f7f5f4f84f0658a01b8ef41 \ - --hash=sha256:9ab77acb98eba3fd2a85cd160851816bfce6871d944d885febf012713f06659c \ - --hash=sha256:9cb3032517f1627cc012dbc80a8ec976ae76d93ea2b5feaa9d2a5b8882597579 \ - --hash=sha256:9cf4e8ad252f7c38dd1f676b46514f92dc0ebeb0db5552f5f403509705e24753 \ - --hash=sha256:9d9153257a3f70d5f69edf2325357251ed20f772b12e593f3b3377b5f78e7ef8 \ - --hash=sha256:a152f5f33d64a6be73f1d30c9cc82dfc73cec6477ec268e7c6e4c7d23c2d2291 \ - --hash=sha256:a16418ecf1329f71df119e8a65f3aa68004a3f9383821edcb20f0702934d8087 \ - --hash=sha256:a60332922359f920193b1d4826953c507a877b523b2395ad7bc716ddd386d866 \ - --hash=sha256:a8d0fc946c784ff7f7c3742310cc8a57c5c6dc31631269876a88b809dbeff3d3 \ - --hash=sha256:ab5de034a886f616a5668aa5d098af2b5385ed70142090e2a31bcbd0af0fdb3d \ - --hash=sha256:c22d3fe05ce11d3671297dc8973267daa0f938b93ec716e12e0f6dee81591dc1 \ - --hash=sha256:c2ac1b08635a8cd4e0cbeaf6f5e922085908d48eb05d44c5ae9eabab148512ca \ - --hash=sha256:c512accbd6ff0270939b9ac214b84fb5ada5f0409c44298361b2f5e13f9aed9e \ - --hash=sha256:c75ffc45f25324e68ab238cb4b5c0a38cd1c3d7f1fb1f72b5541de469e2247db \ - --hash=sha256:c95a03c79bbe30eec3ec2b7f076074f4281526724c8685a42872974ef4d36b72 \ - --hash=sha256:cadaeaba78750d58d3cc6ac4d1fd867da6fc73c88156b7a3212a3cd4819d679d \ - --hash=sha256:cd6056167405314a4dc3c173943f11249fa0f1b204f8b51ed4bde1a9cd1834dc \ - --hash=sha256:db72b07027db150f468fbada4d85b3b2729a3db39178abf5c543b784c1254539 \ - --hash=sha256:df2c707231459e8a4028eabcd3cfc827befd635b3ef72eada84ab13b52e1574d \ - --hash=sha256:e62164b50f84e20601c1ff8eb55620d2ad25fb81b59e3cd776a1902527a788af \ - --hash=sha256:e696f0dd336161fca9adbb846875d40752e6eba585843c768935ba5c9960722b \ - --hash=sha256:eaa379fcd227ca235d04152ca6704c7cb55564116f8bc52545ff357628e10602 \ - --hash=sha256:ebea339af930f8ca5d7a699b921106c6e29c617fe9606fa7baa043c1cdae326f \ - --hash=sha256:f4c39b0e3eac288fedc2b43055cfc2ca7a60362d0e5e87a637beac5d801ef478 \ - --hash=sha256:f5057856d21e7586765171eac8b9fc3f7d44ef39425f85dbcccb13b3ebea806c \ - --hash=sha256:f6f45710b4459401609ebebdbcfb34515da4fc2aa886f95107f556ac69a9147e \ - --hash=sha256:f97e83fa6c25693c7a35de154681fcc257c1c41b38beb0304b9c4d2d9e164479 \ - --hash=sha256:f9d0c5c045a3ca9bedfc35dca8526798eb91a07aa7a2c0fee134c6c6f321cbd7 \ - --hash=sha256:ff6f3db31555657f3163b15a6b7c6938d08df7adbfc9dd13d9d19edad678f1e8 +charset-normalizer==3.1.0 \ + --hash=sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6 \ + --hash=sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1 \ + --hash=sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e \ + --hash=sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373 \ + --hash=sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62 \ + --hash=sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230 \ + --hash=sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be \ + --hash=sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c \ + --hash=sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0 \ + --hash=sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448 \ + --hash=sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f \ + --hash=sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649 \ + --hash=sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d \ + --hash=sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0 \ + --hash=sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706 \ + --hash=sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a \ + --hash=sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59 \ + --hash=sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23 \ + --hash=sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5 \ + --hash=sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb \ + --hash=sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e \ + --hash=sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e \ + --hash=sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c \ + --hash=sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28 \ + --hash=sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d \ + --hash=sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41 \ + --hash=sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974 \ + --hash=sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce \ + --hash=sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f \ + --hash=sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1 \ + --hash=sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d \ + --hash=sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8 \ + --hash=sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017 \ + --hash=sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31 \ + --hash=sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7 \ + --hash=sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8 \ + --hash=sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e \ + --hash=sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14 \ + --hash=sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd \ + --hash=sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d \ + --hash=sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795 \ + --hash=sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b \ + --hash=sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b \ + --hash=sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b \ + --hash=sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203 \ + --hash=sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f \ + --hash=sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19 \ + --hash=sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1 \ + --hash=sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a \ + --hash=sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac \ + --hash=sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9 \ + --hash=sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0 \ + --hash=sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137 \ + --hash=sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f \ + --hash=sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6 \ + --hash=sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5 \ + --hash=sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909 \ + --hash=sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f \ + --hash=sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0 \ + --hash=sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324 \ + --hash=sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755 \ + --hash=sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb \ + --hash=sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854 \ + --hash=sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c \ + --hash=sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60 \ + --hash=sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84 \ + --hash=sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0 \ + --hash=sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b \ + --hash=sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1 \ + --hash=sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531 \ + --hash=sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1 \ + --hash=sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11 \ + --hash=sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326 \ + --hash=sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df \ + --hash=sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab # via # -c requirements.txt # requests @@ -205,9 +192,9 @@ django-test-migrations==1.2.0 \ docopt==0.6.2 \ --hash=sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491 # via coveralls -filelock==3.9.0 \ - --hash=sha256:7b319f24340b51f55a2bf7a12ac0755a9b03e718311dac567a0f4f7fabd2f5de \ - --hash=sha256:f58d535af89bb9ad5cd4df046f741f8553a418c01a7856bf0d173bbc9f6bd16d +filelock==3.10.7 \ + --hash=sha256:892be14aa8efc01673b5ed6589dbccb95f9a8596f0507e232626155495c18105 \ + --hash=sha256:bde48477b15fde2c7e5a0713cbe72721cb5a5ad32ee0b8f419907960b9d75536 # via virtualenv flake8==6.0.0 \ --hash=sha256:3833794e27ff64ea4e9cf5d410082a8b97ff1a06c16aa3d2027339cd0f1195c7 \ @@ -220,9 +207,9 @@ flake8-docstrings==1.7.0 \ --hash=sha256:4c8cc748dc16e6869728699e5d0d685da9a10b0ea718e090b1ba088e67a941af \ --hash=sha256:51f2344026da083fc084166a9353f5082b01f72901df422f74b4d953ae88ac75 # via -r requirements-dev.in -identify==2.5.18 \ - --hash=sha256:89e144fa560cc4cffb6ef2ab5e9fb18ed9f9b3cb054384bab4b95c12f6c309fe \ - --hash=sha256:93aac7ecf2f6abf879b8f29a8002d3c6de7086b8c28d88e1ad15045a15ab63f9 +identify==2.5.22 \ + --hash=sha256:f0faad595a4687053669c112004178149f6c326db71ee999ae4636685753ad2f \ + --hash=sha256:f7a93d6cf98e29bd07663c60728e7a4057615068d7a639d132dc883b2d54d31e # via pre-commit idna==3.4 \ --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ @@ -250,17 +237,17 @@ pep8-naming==0.13.3 \ --hash=sha256:1705f046dfcd851378aac3be1cd1551c7c1e5ff363bacad707d43007877fa971 \ --hash=sha256:1a86b8c71a03337c97181917e2b472f0f5e4ccb06844a0d6f0a33522549e7a80 # via -r requirements-dev.in -pip-tools==6.12.2 \ - --hash=sha256:6a51f4fd67140d5e83703ebfa9610fb61398727151f56a1be02a972d062e4679 \ - --hash=sha256:8b903696df4598b10d469026ef9995c5f9a874b416e88e7a214884ebe4a70245 +pip-tools==6.12.3 \ + --hash=sha256:480d44fae6e09fad3f9bd3d0a7e8423088715d10477e8ef0663440db25e3114f \ + --hash=sha256:8510420f46572b2e26c357541390593d9365eb6edd2d1e7505267910ecaec080 # via -r requirements-dev.in -platformdirs==3.0.0 \ - --hash=sha256:8a1228abb1ef82d788f74139988b137e78692984ec7b08eaa6c65f1723af28f9 \ - --hash=sha256:b1d5eb14f221506f50d6604a561f4c5786d9e80355219694a1b244bcd96f4567 +platformdirs==3.2.0 \ + --hash=sha256:d5b638ca397f25f979350ff789db335903d7ea010ab28903f57b27e1b16c2b08 \ + --hash=sha256:ebe11c0d7a805086e99506aa331612429a72ca7cd52a1f0d277dc4adc20cb10e # via virtualenv -pre-commit==3.0.4 \ - --hash=sha256:9e3255edb0c9e7fe9b4f328cb3dc86069f8fdc38026f1bf521018a05eaf4d67b \ - --hash=sha256:bc4687478d55578c4ac37272fe96df66f73d9b5cf81be6f28627d4e712e752d5 +pre-commit==3.2.1 \ + --hash=sha256:a06a7fcce7f420047a71213c175714216498b49ebc81fe106f7716ca265f5bb6 \ + --hash=sha256:b5aee7d75dbba21ee161ba641b01e7ae10c5b91967ebf7b2ab0dfae12d07e1f1 # via -r requirements-dev.in pycodestyle==2.10.0 \ --hash=sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053 \ @@ -278,9 +265,9 @@ pyproject-hooks==1.0.0 \ --hash=sha256:283c11acd6b928d2f6a7c73fa0d01cb2bdc5f07c57a2eeb6e83d5e56b97976f8 \ --hash=sha256:f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5 # via build -pytz==2022.7.1 \ - --hash=sha256:01a0681c4b9684a28304615eba55d1ab31ae00bf68ec157ec3708a8182dbbcd0 \ - --hash=sha256:78f4f37d8198e0627c5f1143240bb0206b8691d8d7ac6d78fee88b78733f8c4a +pytz==2023.3 \ + --hash=sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588 \ + --hash=sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb # via # -c requirements.txt # django @@ -355,19 +342,19 @@ typing-extensions==4.5.0 \ # via # -c requirements.txt # django-test-migrations -urllib3==1.26.14 \ - --hash=sha256:076907bf8fd355cde77728471316625a4d2f7e713c125f51953bb5b3eecf4f72 \ - --hash=sha256:75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1 +urllib3==1.26.15 \ + --hash=sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305 \ + --hash=sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42 # via # -c requirements.txt # requests -virtualenv==20.19.0 \ - --hash=sha256:37a640ba82ed40b226599c522d411e4be5edb339a0c0de030c0dc7b646d61590 \ - --hash=sha256:54eb59e7352b573aa04d53f80fc9736ed0ad5143af445a1e539aada6eb947dd1 +virtualenv==20.21.0 \ + --hash=sha256:31712f8f2a17bd06234fa97fdf19609e789dd4e3e4bf108c3da71d710651adbc \ + --hash=sha256:f50e3e60f990a0757c9b68333c9fdaa72d7188caa417f96af9e52407831a3b68 # via pre-commit -wheel==0.38.4 \ - --hash=sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac \ - --hash=sha256:b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8 +wheel==0.40.0 \ + --hash=sha256:cd1196f3faee2b31968d626e1731c94f99cbdb67cf5a46e4f5656cbee7738873 \ + --hash=sha256:d236b20e7cb522daf2390fa84c55eea81c5c30190f90f29ae2ca1ad8355bf247 # via pip-tools # WARNING: The following packages were not pinned, but pip requires them to be diff --git a/requirements.txt b/requirements.txt index 832a4fcde4..18299fa47d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ arrow==1.2.3 # via django-q asgiref==3.6.0 # via django -babel==2.11.0 +babel==2.12.1 # via py-moneyed bleach[css]==6.0.0 # via django-markdownify @@ -24,7 +24,7 @@ cffi==1.15.1 # via # cryptography # weasyprint -charset-normalizer==3.0.1 +charset-normalizer==3.1.0 # via requests coreapi==2.3.3 # via -r requirements.in @@ -70,7 +70,7 @@ django==3.2.18 # django-weasyprint # django-xforwardedfor-middleware # djangorestframework -django-allauth==0.52.0 +django-allauth==0.54.0 # via # -r requirements.in # django-allauth-2fa @@ -78,7 +78,7 @@ django-allauth-2fa==0.10.0 # via -r requirements.in django-cleanup==7.0.0 # via -r requirements.in -django-cors-headers==3.13.0 +django-cors-headers==3.14.0 # via -r requirements.in django-crispy-forms==1.14.0 # via -r requirements.in @@ -86,11 +86,11 @@ django-dbbackup==4.0.2 # via -r requirements.in django-error-report==0.2.0 # via -r requirements.in -django-filter==22.1 +django-filter==23.1 # via -r requirements.in django-formtools==2.4 # via -r requirements.in -django-ical==1.8.3 +django-ical==1.8.4 # via -r requirements.in django-import-export==2.5.0 # via -r requirements.in @@ -98,13 +98,13 @@ django-js-asset==2.0.0 # via django-mptt django-maintenance-mode==0.18.0 # via -r requirements.in -django-markdownify==0.9.2 +django-markdownify==0.9.3 # via -r requirements.in django-money==2.1.1 # via -r requirements.in django-mptt==0.11.0 # via -r requirements.in -django-otp==1.1.4 +django-otp==1.1.6 # via django-allauth-2fa django-picklefield==3.1 # via django-q @@ -134,7 +134,7 @@ et-xmlfile==1.1.0 # via openpyxl feedparser==6.0.10 # via -r requirements.in -fonttools[woff]==4.38.0 +fonttools[woff]==4.39.3 # via weasyprint gunicorn==20.1.0 # via -r requirements.in @@ -144,13 +144,13 @@ icalendar==5.0.4 # via django-ical idna==3.4 # via requests -importlib-metadata==6.0.0 +importlib-metadata==6.1.0 # via markdown itypes==1.2.0 # via coreapi jinja2==3.1.2 # via coreschema -markdown==3.4.1 +markdown==3.4.3 # via django-markdownify markuppy==1.14 # via tablib @@ -160,11 +160,11 @@ oauthlib==3.2.2 # via requests-oauthlib odfpy==1.4.1 # via tablib -openpyxl==3.1.1 +openpyxl==3.1.2 # via tablib -pdf2image==1.16.2 +pdf2image==1.16.3 # via -r requirements.in -pillow==9.4.0 +pillow==9.5.0 # via # -r requirements.in # django-stdimage @@ -178,11 +178,11 @@ py-moneyed==1.2 # django-money pycparser==2.21 # via cffi -pydyf==0.5.0 +pydyf==0.6.0 # via weasyprint pyjwt[crypto]==2.6.0 # via django-allauth -pyphen==0.13.2 +pyphen==0.14.0 # via weasyprint pypng==0.20220715.0 # via qrcode @@ -197,9 +197,8 @@ python-fsutil==0.10.0 # via django-maintenance-mode python3-openid==3.2.0 # via django-allauth -pytz==2022.7.1 +pytz==2023.3 # via - # babel # django # django-dbbackup # djangorestframework @@ -216,7 +215,7 @@ redis==3.5.3 # via # django-q # django-redis -regex==2022.10.31 +regex==2023.3.23 # via -r requirements.in requests==2.28.2 # via @@ -225,7 +224,7 @@ requests==2.28.2 # requests-oauthlib requests-oauthlib==1.3.1 # via django-allauth -sentry-sdk==1.15.0 +sentry-sdk==1.18.0 # via # -r requirements.in # django-q-sentry @@ -241,7 +240,7 @@ sqlparse==0.4.3 # via # django # django-sql-utils -tablib[html,ods,xls,xlsx,yaml]==3.3.0 +tablib[html,ods,xls,xlsx,yaml]==3.4.0 # via # -r requirements.in # django-import-export @@ -254,7 +253,7 @@ typing-extensions==4.5.0 # via qrcode uritemplate==4.1.1 # via coreapi -urllib3==1.26.14 +urllib3==1.26.15 # via # requests # sentry-sdk @@ -274,7 +273,7 @@ xlrd==2.0.1 # via tablib xlwt==1.3.0 # via tablib -zipp==3.14.0 +zipp==3.15.0 # via importlib-metadata zopfli==0.2.2 # via fonttools From b69364fe17b1619c62fecc5f650880ec3d637dc6 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 3 Apr 2023 08:55:27 +0200 Subject: [PATCH 105/140] Add azure pipelines (#4453) * Set up CI with Azure Pipelines [skip ci] * Update azure-pipelines.yml for Azure Pipelines * Update azure-pipelines.yml for Azure Pipelines * Update azure-pipelines.yml for Azure Pipelines * move ci file * Update testing_ci.yml for Azure Pipelines * update to use pytest * update settings path * unittests again * Update testing_ci.yml for Azure Pipelines * remove html report * add backup dir * fix name * also install dev reqs * fix name * Add poppler * add poppler utils * Add ignore flag --- .devops/testing_ci.yml | 71 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .devops/testing_ci.yml diff --git a/.devops/testing_ci.yml b/.devops/testing_ci.yml new file mode 100644 index 0000000000..67d12d6503 --- /dev/null +++ b/.devops/testing_ci.yml @@ -0,0 +1,71 @@ +# Python Django +# Test a Django project on multiple versions of Python. +# Add steps that analyze code, save build artifacts, deploy, and more: +# https://docs.microsoft.com/azure/devops/pipelines/languages/python + +trigger: +- master + +pool: + vmImage: ubuntu-latest +strategy: + matrix: + Python39: + PYTHON_VERSION: '3.9' + maxParallel: 3 + +steps: +- task: UsePythonVersion@0 + inputs: + versionSpec: '$(PYTHON_VERSION)' + architecture: 'x64' + +- task: PythonScript@0 + displayName: 'Export project path' + inputs: + scriptSource: 'inline' + script: | + """Search all subdirectories for `manage.py`.""" + from glob import iglob + from os import path + # Python >= 3.5 + manage_py = next(iglob(path.join('**', 'manage.py'), recursive=True), None) + if not manage_py: + raise SystemExit('Could not find a Django project') + project_location = path.dirname(path.abspath(manage_py)) + print('Found Django project in', project_location) + print('##vso[task.setvariable variable=projectRoot]{}'.format(project_location)) + +- script: | + python -m pip install --upgrade pip setuptools wheel + pip install -r requirements.txt + pip install -r requirements-dev.txt + pip install unittest-xml-reporting coverage invoke + sudo apt-get install poppler-utils + sudo apt-get install libpoppler-dev + displayName: 'Install prerequisites' + +- script: | + pushd '$(projectRoot)' + invoke update + coverage run manage.py test --testrunner xmlrunner.extra.djangotestrunner.XMLTestRunner --no-input + coverage xml -i + displayName: 'Run tests' + env: + INVENTREE_DB_ENGINE: sqlite3 + INVENTREE_DB_NAME: inventree + INVENTREE_MEDIA_ROOT: ./media + INVENTREE_STATIC_ROOT: ./static + INVENTREE_BACKUP_DIR: ./backup + INVENTREE_PLUGINS_ENABLED: true + +- task: PublishTestResults@2 + inputs: + testResultsFiles: "**/TEST-*.xml" + testRunTitle: 'Python $(PYTHON_VERSION)' + condition: succeededOrFailed() + +- task: PublishCodeCoverageResults@1 + inputs: + codeCoverageTool: Cobertura + summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml' From b0668b72b7a8995fcc66d94e9e84945b64443410 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 3 Apr 2023 17:00:48 +1000 Subject: [PATCH 106/140] Bug fix for "receive items" form (#4563) * Bug fix for "receive items" form * Fix for table filters --- InvenTree/templates/js/translated/filters.js | 11 ++++++----- InvenTree/templates/js/translated/purchase_order.js | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/InvenTree/templates/js/translated/filters.js b/InvenTree/templates/js/translated/filters.js index 31a121fcb9..a889902543 100644 --- a/InvenTree/templates/js/translated/filters.js +++ b/InvenTree/templates/js/translated/filters.js @@ -250,8 +250,8 @@ function generateFilterInput(tableKey, filterKey) { options = options(); } for (var key in options) { - var option = options[key]; - html += ``; + let option = options[key]; + html += ``; } html += ``; @@ -549,10 +549,11 @@ function getFilterOptionValue(tableKey, filterKey, valueKey) { filter.options = filter.options(); } - for (var key in filter.options) { + for (var name in filter.options) { + let option = filter.options[name]; - if (key == valueKey) { - return filter.options[key].value; + if (option.key == valueKey) { + return option.value; } } diff --git a/InvenTree/templates/js/translated/purchase_order.js b/InvenTree/templates/js/translated/purchase_order.js index 4f7ae30d2a..cbea3fe245 100644 --- a/InvenTree/templates/js/translated/purchase_order.js +++ b/InvenTree/templates/js/translated/purchase_order.js @@ -1084,7 +1084,7 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { for (var key in stockCodes) { choices.push({ - value: key, + value: stockCodes[key].key, display_name: stockCodes[key].value, }); } From 3018087ea998924349510ba0a3785bba1b553cde Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 3 Apr 2023 19:20:00 +1000 Subject: [PATCH 107/140] Allow "pending" or "issued" sales orders to be marked as completed (#4564) * Allow "pending" or "issued" sales orders to be marked as completed * Display pending shipments for open sales orders * Add "is_open" method for PurchasesOrder - Bring into line with SalesOrder and ReturnOrder --- InvenTree/order/models.py | 11 ++++++++--- InvenTree/order/templates/order/order_base.html | 4 ++-- .../order/templates/order/purchase_order_detail.html | 8 ++++---- .../order/templates/order/sales_order_detail.html | 4 ++-- InvenTree/order/templates/order/so_sidebar.html | 2 +- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 1c59a0bb31..756f185c32 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -479,6 +479,11 @@ class PurchaseOrder(TotalPriceMixin, Order): """Return True if the PurchaseOrder is 'pending'""" return self.status == PurchaseOrderStatus.PENDING + @property + def is_open(self): + """Return True if the PurchaseOrder is 'open'""" + return self.status in PurchaseOrderStatus.OPEN + def can_cancel(self): """A PurchaseOrder can only be cancelled under the following circumstances. @@ -813,9 +818,9 @@ class SalesOrder(TotalPriceMixin, Order): if self.lines.count() == 0: raise ValidationError(_('Order cannot be completed as no parts have been assigned')) - # Only a PENDING order can be marked as SHIPPED - elif self.status != SalesOrderStatus.PENDING: - raise ValidationError(_('Only a pending order can be marked as complete')) + # Only an open order can be marked as shipped + elif not self.is_open: + raise ValidationError(_('Only an open order can be marked as complete')) elif self.pending_shipment_count > 0: raise ValidationError(_("Order cannot be completed as there are incomplete shipments")) diff --git a/InvenTree/order/templates/order/order_base.html b/InvenTree/order/templates/order/order_base.html index 08da68fa42..aafe96d1c0 100644 --- a/InvenTree/order/templates/order/order_base.html +++ b/InvenTree/order/templates/order/order_base.html @@ -57,11 +57,11 @@ {% endif %}
    -{% if order.status == PurchaseOrderStatus.PENDING %} +{% if order.is_pending %} -{% elif order.status == PurchaseOrderStatus.PLACED %} +{% elif order.is_open %} @@ -248,7 +248,7 @@ onPanelLoad('order-items', function() { name: 'purchaseorderextraline', filtertarget: '#filter-list-purchase-order-extra-lines', {% settings_value "PURCHASEORDER_EDIT_COMPLETED_ORDERS" as allow_edit %} - {% if order.is_pending or allow_edit %} + {% if order.is_open or allow_edit %} allow_edit: {% js_bool roles.purchase_order.change %}, allow_delete: {% js_bool roles.purchase_order.delete %}, {% else %} diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index d484c42b41..c25b1862d7 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -64,7 +64,7 @@
    -{% if order.is_pending %} +{% if order.is_open %}
    @@ -166,7 +166,7 @@ // Callback when the "shipments" panel is first loaded onPanelLoad('order-shipments', function() { - {% if order.is_pending %} + {% if order.is_open %} loadSalesOrderShipmentTable('#pending-shipments-table', { order: {{ order.pk }}, shipped: false, diff --git a/InvenTree/order/templates/order/so_sidebar.html b/InvenTree/order/templates/order/so_sidebar.html index c43e0537c5..18a421d68f 100644 --- a/InvenTree/order/templates/order/so_sidebar.html +++ b/InvenTree/order/templates/order/so_sidebar.html @@ -4,7 +4,7 @@ {% trans "Line Items" as text %} {% include "sidebar_item.html" with label='order-items' text=text icon="fa-list-ol" %} -{% if order.is_pending %} +{% if order.is_open %} {% trans "Pending Shipments" as text %} {% include "sidebar_item.html" with label='order-shipments' text=text icon="fa-truck-loading" %} {% endif %} From 4cd1d2eebe0fe1ae204a3869e11cbcc2a15fb928 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 3 Apr 2023 23:40:52 +1000 Subject: [PATCH 108/140] Fix typo in setting name (#4567) --- InvenTree/templates/js/translated/pricing.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/templates/js/translated/pricing.js b/InvenTree/templates/js/translated/pricing.js index f5c8a4f794..bef0093417 100644 --- a/InvenTree/templates/js/translated/pricing.js +++ b/InvenTree/templates/js/translated/pricing.js @@ -26,7 +26,7 @@ * Returns the base currency used for conversion operations */ function baseCurrency() { - return global_settings.INVENTREE_BASE_CURRENCY || 'USD'; + return global_settings.INVENTREE_DEFAULT_CURRENCY || 'USD'; } From 6ebe8c61c5ddf8c1110e177732929797d41eb5fe Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Apr 2023 00:35:41 +1000 Subject: [PATCH 109/140] Fix sentry.io integration for DRF exceptions (#4569) - Previous work to "consume" exceptions raised during API access prevented exception information from reaching sentry.io - Makes subsequent debugging much more difficult - Now these exceptions are explicitly sent to sentry.io (if the integration is enabled) --- InvenTree/InvenTree/exceptions.py | 9 ++++++++- InvenTree/InvenTree/settings.py | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/exceptions.py b/InvenTree/InvenTree/exceptions.py index 1b7dcbb20e..1b61d36b87 100644 --- a/InvenTree/InvenTree/exceptions.py +++ b/InvenTree/InvenTree/exceptions.py @@ -55,10 +55,17 @@ def exception_handler(exc, context): """Custom exception handler for DRF framework. Ref: https://www.django-rest-framework.org/api-guide/exceptions/#custom-exception-handling - Catches any errors not natively handled by DRF, and re-throws as an error DRF can handle + Catches any errors not natively handled by DRF, and re-throws as an error DRF can handle. + + If sentry error reporting is enabled, we will also provide the original exception to sentry.io """ response = None + if settings.SENTRY_ENABLED and settings.SENTRY_DSN: + # Report this exception to sentry.io + from sentry_sdk import capture_exception + capture_exception(exc) + # Catch any django validation error, and re-throw a DRF validation error if isinstance(exc, DjangoValidationError): exc = DRFValidationError(detail=serializers.as_serializer_error(exc)) diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 1aab68d5d6..8164e6bbae 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -568,6 +568,9 @@ SENTRY_DSN = get_setting('INVENTREE_SENTRY_DSN', 'sentry_dsn', INVENTREE_DSN) SENTRY_SAMPLE_RATE = float(get_setting('INVENTREE_SENTRY_SAMPLE_RATE', 'sentry_sample_rate', 0.1)) if SENTRY_ENABLED and SENTRY_DSN: # pragma: no cover + + logger.info("Running with sentry.io integration enabled") + sentry_sdk.init( dsn=SENTRY_DSN, integrations=[DjangoIntegration(), ], From 1622684c226fa4f29ef92fd0433e1d7c39fba728 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Apr 2023 00:55:47 +1000 Subject: [PATCH 110/140] Line item links (#4570) * Add 'link' field to order line and extra line models * Update serializers * Update front end forms and tables --- .../migrations/0088_auto_20230403_1402.py | 39 +++++++++++++++++++ InvenTree/order/models.py | 8 +++- InvenTree/order/serializers.py | 4 ++ InvenTree/templates/js/translated/order.js | 12 ++++++ .../templates/js/translated/purchase_order.js | 12 ++++++ .../templates/js/translated/return_order.js | 14 ++++++- .../templates/js/translated/sales_order.js | 13 +++++++ 7 files changed, 99 insertions(+), 3 deletions(-) create mode 100644 InvenTree/order/migrations/0088_auto_20230403_1402.py diff --git a/InvenTree/order/migrations/0088_auto_20230403_1402.py b/InvenTree/order/migrations/0088_auto_20230403_1402.py new file mode 100644 index 0000000000..ae30fb4278 --- /dev/null +++ b/InvenTree/order/migrations/0088_auto_20230403_1402.py @@ -0,0 +1,39 @@ +# Generated by Django 3.2.18 on 2023-04-03 14:02 + +import InvenTree.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0087_alter_salesorder_status'), + ] + + operations = [ + migrations.AddField( + model_name='purchaseorderextraline', + name='link', + field=InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to external page', verbose_name='Link'), + ), + migrations.AddField( + model_name='purchaseorderlineitem', + name='link', + field=InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to external page', verbose_name='Link'), + ), + migrations.AddField( + model_name='returnorderextraline', + name='link', + field=InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to external page', verbose_name='Link'), + ), + migrations.AddField( + model_name='salesorderextraline', + name='link', + field=InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to external page', verbose_name='Link'), + ), + migrations.AddField( + model_name='salesorderlineitem', + name='link', + field=InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to external page', verbose_name='Link'), + ), + ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 756f185c32..a6424973e3 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -1050,6 +1050,12 @@ class OrderLineItem(MetadataMixin, models.Model): notes = models.CharField(max_length=500, blank=True, verbose_name=_('Notes'), help_text=_('Line item notes')) + link = InvenTreeURLField( + blank=True, + verbose_name=_('Link'), + help_text=_('Link to external page') + ) + target_date = models.DateField( blank=True, null=True, verbose_name=_('Target Date'), @@ -1876,8 +1882,6 @@ class ReturnOrderLineItem(OrderLineItem): help_text=_('Cost associated with return or repair for this line item'), ) - link = InvenTreeURLField(blank=True, verbose_name=_('Link'), help_text=_('Link to external page')) - class ReturnOrderExtraLine(OrderExtraLine): """Model for a single ExtraLine in a ReturnOrder""" diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index 939697b67c..494826b5bf 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -139,6 +139,7 @@ class AbstractExtraLineMeta: 'order_detail', 'price', 'price_currency', + 'link', ] @@ -304,6 +305,7 @@ class PurchaseOrderLineItemSerializer(InvenTreeModelSerializer): 'destination_detail', 'target_date', 'total_price', + 'link', ] def __init__(self, *args, **kwargs): @@ -840,6 +842,7 @@ class SalesOrderLineItemSerializer(InvenTreeModelSerializer): 'sale_price_currency', 'shipped', 'target_date', + 'link', ] def __init__(self, *args, **kwargs): @@ -1614,6 +1617,7 @@ class ReturnOrderLineItemSerializer(InvenTreeModelSerializer): 'reference', 'notes', 'target_date', + 'link', ] def __init__(self, *args, **kwargs): diff --git a/InvenTree/templates/js/translated/order.js b/InvenTree/templates/js/translated/order.js index 01aa6b49f9..dace390ff4 100644 --- a/InvenTree/templates/js/translated/order.js +++ b/InvenTree/templates/js/translated/order.js @@ -40,6 +40,9 @@ function extraLineFields(options={}) { notes: { icon: 'fa-sticky-note', }, + link: { + icon: 'fa-link', + } }; if (options.order) { @@ -318,6 +321,15 @@ function loadExtraLineTable(options={}) { field: 'notes', title: '{% trans "Notes" %}', }, + { + field: 'link', + title: '{% trans "Link" %}', + formatter: function(value) { + if (value) { + return renderLink(value, value); + } + } + }, { field: 'buttons', switchable: false, diff --git a/InvenTree/templates/js/translated/purchase_order.js b/InvenTree/templates/js/translated/purchase_order.js index cbea3fe245..660c8491a6 100644 --- a/InvenTree/templates/js/translated/purchase_order.js +++ b/InvenTree/templates/js/translated/purchase_order.js @@ -330,6 +330,9 @@ function poLineItemFields(options={}) { notes: { icon: 'fa-sticky-note', }, + link: { + icon: 'fa-link', + } }; if (options.order) { @@ -2037,6 +2040,15 @@ function loadPurchaseOrderLineItemTable(table, options={}) { field: 'notes', title: '{% trans "Notes" %}', }, + { + field: 'link', + title: '{% trans "Link" %}', + formatter: function(value) { + if (value) { + return renderLink(value, value); + } + } + }, { switchable: false, field: 'buttons', diff --git a/InvenTree/templates/js/translated/return_order.js b/InvenTree/templates/js/translated/return_order.js index 7c6519c5f8..884d9e2a10 100644 --- a/InvenTree/templates/js/translated/return_order.js +++ b/InvenTree/templates/js/translated/return_order.js @@ -371,7 +371,10 @@ function returnOrderLineItemFields(options={}) { }, notes: { icon: 'fa-sticky-note', - } + }, + link: { + icon: 'fa-link', + }, }; return fields; @@ -714,6 +717,15 @@ function loadReturnOrderLineItemTable(options={}) { field: 'notes', title: '{% trans "Notes" %}', }, + { + field: 'link', + title: '{% trans "Link" %}', + formatter: function(value, row) { + if (value) { + return renderLink(value, value); + } + } + }, { field: 'buttons', title: '', diff --git a/InvenTree/templates/js/translated/sales_order.js b/InvenTree/templates/js/translated/sales_order.js index 89fd155c1e..29834f6caf 100644 --- a/InvenTree/templates/js/translated/sales_order.js +++ b/InvenTree/templates/js/translated/sales_order.js @@ -149,6 +149,9 @@ function soLineItemFields(options={}) { notes: { icon: 'fa-sticky-note', }, + link: { + icon: 'fa-link', + } }; if (options.order) { @@ -1868,6 +1871,16 @@ function loadSalesOrderLineItemTable(table, options={}) { title: '{% trans "Notes" %}', }); + columns.push({ + field: 'link', + title: '{% trans "Link" %}', + formatter: function(value) { + if (value) { + return renderLink(value, value); + } + } + }); + columns.push({ field: 'buttons', switchable: false, From eef303dfea7a1bc4a83b017e0290737eeede2969 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Apr 2023 07:04:10 +1000 Subject: [PATCH 111/140] Cryptography version update (#4568) * Update required cryptography library version * remove old env variable from dockerfile - Was required when we based on alpine linux - now we use python_slim * Fix file contents --- Dockerfile | 3 --- requirements.in | 2 +- requirements.txt | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2b79feb7d7..4936e4e49e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,9 +19,6 @@ ARG commit_tag="" ENV PYTHONUNBUFFERED 1 -# Ref: https://github.com/pyca/cryptography/issues/5776 -ENV CRYPTOGRAPHY_DONT_BUILD_RUST 1 - ENV INVENTREE_LOG_LEVEL="WARNING" ENV INVENTREE_DOCKER="true" diff --git a/requirements.in b/requirements.in index 945a620429..bed603ad1e 100644 --- a/requirements.in +++ b/requirements.in @@ -1,7 +1,7 @@ # Please keep this list sorted - if you pin a version provide a reason Django>=3.2.14,<4 # Django package coreapi # API documentation for djangorestframework -cryptography==3.4.8 # Core cryptographic functionality +cryptography>=40.0.0 # Core cryptographic functionality django-allauth # SSO for external providers via OpenID django-allauth-2fa # MFA / 2FA django-cleanup # Automated deletion of old / unused uploaded files diff --git a/requirements.txt b/requirements.txt index 18299fa47d..ae38b49a5b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -30,7 +30,7 @@ coreapi==2.3.3 # via -r requirements.in coreschema==0.0.4 # via coreapi -cryptography==3.4.8 +cryptography==40.0.1 # via # -r requirements.in # pyjwt From d6715d94c10ecfe7d3b61604ae39e1ed3bb4ac0b Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Apr 2023 07:05:55 +1000 Subject: [PATCH 112/140] Enable regex search (#4566) * Adds custom search filter to allow 'regex' searching of results * Specify if "shell" can access database for certain commands * Bug fix for settings API - Do not allow cache on detail endpoints - Was causing strange error conditions with missing or duplicate PK values * Adds user setting to control regex search * Enable regex for search queries - bootstrap tables - search preview * Pass search options through bettererer * Refactor API endpoints to use new filter approach * Bump API version * Add "whole word" search - Closes https://github.com/inventree/InvenTree/issues/4510 * Handle case where existing fields are empty * pop > get --- InvenTree/InvenTree/api.py | 32 +++++----- InvenTree/InvenTree/api_version.py | 5 +- InvenTree/InvenTree/filters.py | 58 ++++++++++++++++++- InvenTree/InvenTree/ready.py | 6 +- InvenTree/build/api.py | 5 +- InvenTree/common/api.py | 16 +++-- InvenTree/common/models.py | 18 +++++- InvenTree/company/api.py | 12 ++-- InvenTree/label/api.py | 4 +- InvenTree/order/api.py | 16 ++--- InvenTree/part/api.py | 16 ++--- .../part/templatetags/inventree_extras.py | 7 ++- InvenTree/plugin/api.py | 3 +- InvenTree/report/api.py | 4 +- InvenTree/stock/api.py | 12 ++-- .../InvenTree/settings/user_search.html | 4 +- InvenTree/templates/js/translated/search.js | 2 + InvenTree/templates/js/translated/tables.js | 10 ++++ InvenTree/users/api.py | 7 ++- 19 files changed, 165 insertions(+), 72 deletions(-) diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index 5f52c8431e..798397bd95 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -13,6 +13,7 @@ from rest_framework.serializers import ValidationError from rest_framework.views import APIView import users.models +from InvenTree.filters import InvenTreeSearchFilter from InvenTree.mixins import ListCreateAPI from InvenTree.permissions import RolePermission from part.templatetags.inventree_extras import plugins_info @@ -203,8 +204,8 @@ class AttachmentMixin: filter_backends = [ DjangoFilterBackend, + InvenTreeSearchFilter, filters.OrderingFilter, - filters.SearchFilter, ] def perform_create(self, serializer): @@ -255,32 +256,25 @@ class APISearchView(APIView): data = request.data - search = data.get('search', '') - - # Enforce a 'limit' parameter - try: - limit = int(data.get('limit', 1)) - except ValueError: - limit = 1 - - try: - offset = int(data.get('offset', 0)) - except ValueError: - offset = 0 - results = {} + # These parameters are passed through to the individual queries, with optional default values + pass_through_params = { + 'search': '', + 'search_regex': False, + 'search_whole': False, + 'limit': 1, + 'offset': 0, + } + for key, cls in self.get_result_types().items(): # Only return results which are specifically requested if key in data: params = data[key] - params['search'] = search - - # Enforce limit - params['limit'] = limit - params['offset'] = offset + for k, v in pass_through_params.items(): + params[k] = request.data.get(k, v) # Enforce json encoding params['format'] = 'json' diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 70c0149ea0..7badd83c9c 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 105 +INVENTREE_API_VERSION = 106 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v106 -> 2023-04-03 : https://github.com/inventree/InvenTree/pull/4566 + - Adds 'search_regex' parameter to all searchable API endpoints + v105 -> 2023-03-31 : https://github.com/inventree/InvenTree/pull/4543 - Adds API endpoints for status label information on various models diff --git a/InvenTree/InvenTree/filters.py b/InvenTree/InvenTree/filters.py index 6cd405cf9e..bdd1f3a81b 100644 --- a/InvenTree/InvenTree/filters.py +++ b/InvenTree/InvenTree/filters.py @@ -1,6 +1,62 @@ """General filters for InvenTree.""" -from rest_framework.filters import OrderingFilter +from rest_framework.filters import OrderingFilter, SearchFilter + +from InvenTree.helpers import str2bool + + +class InvenTreeSearchFilter(SearchFilter): + """Custom search filter which allows adjusting of search terms dynamically""" + + def get_search_fields(self, view, request): + """Return a set of search fields for the request, adjusted based on request params. + + The following query params are available to 'augment' the search (in decreasing order of priority) + - search_regex: If True, search is perfomed on 'regex' comparison + """ + + regex = str2bool(request.query_params.get('search_regex', False)) + + search_fields = super().get_search_fields(view, request) + + fields = [] + + if search_fields: + for field in search_fields: + if regex: + field = '$' + field + + fields.append(field) + + return fields + + def get_search_terms(self, request): + """Return the search terms for this search request. + + Depending on the request parameters, we may "augment" these somewhat + """ + + whole = str2bool(request.query_params.get('search_whole', False)) + + terms = [] + + search_terms = super().get_search_terms(request) + + if search_terms: + for term in search_terms: + term = term.strip() + + if not term: + # Ignore blank inputs + continue + + if whole: + # Wrap the search term to enable word-boundary matching + term = r"\y" + term + r"\y" + + terms.append(term) + + return terms class InvenTreeOrderingFilter(OrderingFilter): diff --git a/InvenTree/InvenTree/ready.py b/InvenTree/InvenTree/ready.py index a16b24ca1b..e6a4ec9ae2 100644 --- a/InvenTree/InvenTree/ready.py +++ b/InvenTree/InvenTree/ready.py @@ -13,7 +13,7 @@ def isImportingData(): return 'loaddata' in sys.argv -def canAppAccessDatabase(allow_test: bool = False, allow_plugins: bool = False): +def canAppAccessDatabase(allow_test: bool = False, allow_plugins: bool = False, allow_shell: bool = False): """Returns True if the apps.py file can access database records. There are some circumstances where we don't want the ready function in apps.py @@ -26,7 +26,6 @@ def canAppAccessDatabase(allow_test: bool = False, allow_plugins: bool = False): 'loaddata', 'dumpdata', 'check', - 'shell', 'createsuperuser', 'wait_for_db', 'prerender', @@ -42,6 +41,9 @@ def canAppAccessDatabase(allow_test: bool = False, allow_plugins: bool = False): 'mediarestore', ] + if not allow_shell: + excluded_commands.append('shell') + if not allow_test: # Override for testing mode? excluded_commands.append('test') diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 67b3ce559e..ca839441e7 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -4,7 +4,6 @@ from django.urls import include, path, re_path from django.utils.translation import gettext_lazy as _ from django.contrib.auth.models import User -from rest_framework import filters from rest_framework.exceptions import ValidationError from django_filters.rest_framework import DjangoFilterBackend @@ -12,7 +11,7 @@ from django_filters import rest_framework as rest_filters from InvenTree.api import AttachmentMixin, APIDownloadMixin, ListCreateDestroyAPIView, MetadataView, StatusView from InvenTree.helpers import str2bool, isNull, DownloadFile -from InvenTree.filters import InvenTreeOrderingFilter +from InvenTree.filters import InvenTreeOrderingFilter, InvenTreeSearchFilter from InvenTree.status_codes import BuildStatus from InvenTree.mixins import CreateAPI, RetrieveUpdateDestroyAPI, ListCreateAPI @@ -101,7 +100,7 @@ class BuildList(APIDownloadMixin, ListCreateAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, InvenTreeOrderingFilter, ] diff --git a/InvenTree/common/api.py b/InvenTree/common/api.py index 382197308b..043b8aab14 100644 --- a/InvenTree/common/api.py +++ b/InvenTree/common/api.py @@ -20,6 +20,7 @@ import common.models import common.serializers from InvenTree.api import BulkDeleteMixin from InvenTree.config import CONFIG_LOOKUPS +from InvenTree.filters import InvenTreeSearchFilter from InvenTree.helpers import inheritors from InvenTree.mixins import (ListAPI, RetrieveAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) @@ -169,7 +170,7 @@ class SettingsList(ListAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] @@ -226,7 +227,10 @@ class GlobalSettingsDetail(RetrieveUpdateAPI): if key not in common.models.InvenTreeSetting.SETTINGS.keys(): raise NotFound() - return common.models.InvenTreeSetting.get_setting_object(key) + return common.models.InvenTreeSetting.get_setting_object( + key, + cache=False, create=True + ) permission_classes = [ permissions.IsAuthenticated, @@ -284,7 +288,11 @@ class UserSettingsDetail(RetrieveUpdateAPI): if key not in common.models.InvenTreeUserSetting.SETTINGS.keys(): raise NotFound() - return common.models.InvenTreeUserSetting.get_setting_object(key, user=self.request.user) + return common.models.InvenTreeUserSetting.get_setting_object( + key, + user=self.request.user, + cache=False, create=True + ) permission_classes = [ UserSettingsPermissions, @@ -334,7 +342,7 @@ class NotificationList(NotificationMessageMixin, BulkDeleteMixin, ListAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index c2ee055327..c5123a7e72 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -388,10 +388,10 @@ class BaseInvenTreeSetting(models.Model): if not setting: # Unless otherwise specified, attempt to create the setting - create = kwargs.get('create', True) + create = kwargs.pop('create', True) # Prevent creation of new settings objects when importing data - if InvenTree.ready.isImportingData() or not InvenTree.ready.canAppAccessDatabase(allow_test=True): + if InvenTree.ready.isImportingData() or not InvenTree.ready.canAppAccessDatabase(allow_test=True, allow_shell=True): create = False if create: @@ -1979,6 +1979,20 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): 'validator': [int, MinValueValidator(1)] }, + 'SEARCH_REGEX': { + 'name': _('Regex Search'), + 'description': _('Enable regular expressions in search queries'), + 'default': False, + 'validator': bool, + }, + + 'SEARCH_WHOLE': { + 'name': _('Whole Word Search'), + 'description': _('Search queries return results for whole word matches'), + 'default': False, + 'validator': bool, + }, + 'PART_SHOW_QUANTITY_IN_FORMS': { 'name': _('Show Quantity in Forms'), 'description': _('Display available part quantity in some forms'), diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 62224fb4ca..0f0ba01c0f 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -10,7 +10,7 @@ from rest_framework import filters import part.models from InvenTree.api import (AttachmentMixin, ListCreateDestroyAPIView, MetadataView) -from InvenTree.filters import InvenTreeOrderingFilter +from InvenTree.filters import InvenTreeOrderingFilter, InvenTreeSearchFilter from InvenTree.helpers import str2bool from InvenTree.mixins import ListCreateAPI, RetrieveUpdateDestroyAPI @@ -46,7 +46,7 @@ class CompanyList(ListCreateAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] @@ -116,7 +116,7 @@ class ContactList(ListCreateDestroyAPIView): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] @@ -194,7 +194,7 @@ class ManufacturerPartList(ListCreateDestroyAPIView): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] @@ -290,7 +290,7 @@ class ManufacturerPartParameterList(ListCreateDestroyAPIView): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] @@ -398,7 +398,7 @@ class SupplierPartList(ListCreateDestroyAPIView): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, InvenTreeOrderingFilter, ] diff --git a/InvenTree/label/api.py b/InvenTree/label/api.py index df56924109..ca076cf968 100644 --- a/InvenTree/label/api.py +++ b/InvenTree/label/api.py @@ -8,12 +8,12 @@ from django.utils.decorators import method_decorator from django.views.decorators.cache import cache_page, never_cache from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters from rest_framework.exceptions import NotFound import common.models import InvenTree.helpers from InvenTree.api import MetadataView +from InvenTree.filters import InvenTreeSearchFilter from InvenTree.mixins import ListAPI, RetrieveAPI, RetrieveUpdateDestroyAPI from InvenTree.tasks import offload_task from part.models import Part @@ -124,7 +124,7 @@ class LabelListView(LabelFilterMixin, ListAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter + InvenTreeSearchFilter ] filterset_fields = [ diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 975dfb5f66..79a260d378 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -21,7 +21,7 @@ from common.settings import settings from company.models import SupplierPart from InvenTree.api import (APIDownloadMixin, AttachmentMixin, ListCreateDestroyAPIView, MetadataView, StatusView) -from InvenTree.filters import InvenTreeOrderingFilter +from InvenTree.filters import InvenTreeOrderingFilter, InvenTreeSearchFilter from InvenTree.helpers import DownloadFile, str2bool from InvenTree.mixins import (CreateAPI, ListAPI, ListCreateAPI, RetrieveUpdateDestroyAPI) @@ -63,7 +63,7 @@ class GeneralExtraLineList(APIDownloadMixin): filter_backends = [ rest_filters.DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter ] @@ -309,7 +309,7 @@ class PurchaseOrderList(PurchaseOrderMixin, APIDownloadMixin, ListCreateAPI): filter_backends = [ rest_filters.DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, InvenTreeOrderingFilter, ] @@ -510,7 +510,7 @@ class PurchaseOrderLineItemList(PurchaseOrderLineItemMixin, APIDownloadMixin, Li filter_backends = [ rest_filters.DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, InvenTreeOrderingFilter ] @@ -695,7 +695,7 @@ class SalesOrderList(SalesOrderMixin, APIDownloadMixin, ListCreateAPI): filter_backends = [ rest_filters.DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, InvenTreeOrderingFilter, ] @@ -819,7 +819,7 @@ class SalesOrderLineItemList(SalesOrderLineItemMixin, APIDownloadMixin, ListCrea filter_backends = [ rest_filters.DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter ] @@ -1156,7 +1156,7 @@ class ReturnOrderList(ReturnOrderMixin, APIDownloadMixin, ListCreateAPI): filter_backends = [ rest_filters.DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, InvenTreeOrderingFilter, ] @@ -1304,7 +1304,7 @@ class ReturnOrderLineItemList(ReturnOrderLineItemMixin, APIDownloadMixin, ListCr filter_backends = [ rest_filters.DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 2683c26673..0d20eb8e9f 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -17,7 +17,7 @@ import order.models from build.models import Build, BuildItem from InvenTree.api import (APIDownloadMixin, AttachmentMixin, ListCreateDestroyAPIView, MetadataView) -from InvenTree.filters import InvenTreeOrderingFilter +from InvenTree.filters import InvenTreeOrderingFilter, InvenTreeSearchFilter from InvenTree.helpers import (DownloadFile, increment_serial_number, isNull, str2bool, str2int) from InvenTree.mixins import (CreateAPI, CustomRetrieveUpdateDestroyAPI, @@ -154,7 +154,7 @@ class CategoryList(CategoryMixin, APIDownloadMixin, ListCreateAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] @@ -387,7 +387,7 @@ class PartTestTemplateList(ListCreateAPI): filter_backends = [ DjangoFilterBackend, filters.OrderingFilter, - filters.SearchFilter, + InvenTreeSearchFilter, ] @@ -421,7 +421,7 @@ class PartThumbs(ListAPI): return Response(data) filter_backends = [ - filters.SearchFilter, + InvenTreeSearchFilter, ] search_fields = [ @@ -1226,7 +1226,7 @@ class PartList(PartMixin, APIDownloadMixin, ListCreateAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, InvenTreeOrderingFilter, ] @@ -1340,7 +1340,7 @@ class PartParameterTemplateList(ListCreateAPI): filter_backends = [ DjangoFilterBackend, filters.OrderingFilter, - filters.SearchFilter, + InvenTreeSearchFilter, ] filterset_fields = [ @@ -1733,7 +1733,7 @@ class BomList(BomMixin, ListCreateDestroyAPIView): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, InvenTreeOrderingFilter, ] @@ -1838,7 +1838,7 @@ class BomItemSubstituteList(ListCreateAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py index ef95922625..19e4cfe1bb 100644 --- a/InvenTree/part/templatetags/inventree_extras.py +++ b/InvenTree/part/templatetags/inventree_extras.py @@ -328,13 +328,14 @@ def setting_object(key, *args, **kwargs): return PluginSetting.get_setting_object(key, plugin=plugin, cache=cache) - if 'method' in kwargs: + elif 'method' in kwargs: return NotificationUserSetting.get_setting_object(key, user=kwargs['user'], method=kwargs['method'], cache=cache) - if 'user' in kwargs: + elif 'user' in kwargs: return InvenTreeUserSetting.get_setting_object(key, user=kwargs['user'], cache=cache) - return InvenTreeSetting.get_setting_object(key, cache=cache) + else: + return InvenTreeSetting.get_setting_object(key, cache=cache) @register.simple_tag() diff --git a/InvenTree/plugin/api.py b/InvenTree/plugin/api.py index aedc2195cc..cab07a5e9c 100644 --- a/InvenTree/plugin/api.py +++ b/InvenTree/plugin/api.py @@ -9,6 +9,7 @@ from rest_framework.response import Response import plugin.serializers as PluginSerializers from common.api import GlobalSettingsPermissions +from InvenTree.filters import InvenTreeSearchFilter from InvenTree.mixins import (CreateAPI, ListAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI, UpdateAPI) from InvenTree.permissions import IsSuperuser @@ -58,7 +59,7 @@ class PluginList(ListAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] diff --git a/InvenTree/report/api.py b/InvenTree/report/api.py index e01309217c..1ad42b5238 100644 --- a/InvenTree/report/api.py +++ b/InvenTree/report/api.py @@ -10,7 +10,6 @@ from django.utils.translation import gettext_lazy as _ from django.views.decorators.cache import cache_page, never_cache from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters from rest_framework.response import Response import build.models @@ -19,6 +18,7 @@ import InvenTree.helpers import order.models import part.models from InvenTree.api import MetadataView +from InvenTree.filters import InvenTreeSearchFilter from InvenTree.mixins import ListAPI, RetrieveAPI, RetrieveUpdateDestroyAPI from stock.models import StockItem, StockItemAttachment @@ -35,7 +35,7 @@ class ReportListView(ListAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, ] filterset_fields = [ diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 014b8765e2..aa5dd98bf4 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -24,7 +24,7 @@ from company.models import Company, SupplierPart from company.serializers import CompanySerializer, SupplierPartSerializer from InvenTree.api import (APIDownloadMixin, AttachmentMixin, ListCreateDestroyAPIView, MetadataView, StatusView) -from InvenTree.filters import InvenTreeOrderingFilter +from InvenTree.filters import InvenTreeOrderingFilter, InvenTreeSearchFilter from InvenTree.helpers import (DownloadFile, extract_serial_numbers, isNull, str2bool, str2int) from InvenTree.mixins import (CreateAPI, CustomRetrieveUpdateDestroyAPI, @@ -296,7 +296,7 @@ class StockLocationList(APIDownloadMixin, ListCreateAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] @@ -1009,7 +1009,7 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, InvenTreeOrderingFilter, ] @@ -1057,7 +1057,7 @@ class StockAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): filter_backends = [ DjangoFilterBackend, filters.OrderingFilter, - filters.SearchFilter, + InvenTreeSearchFilter, ] filterset_fields = [ @@ -1087,7 +1087,7 @@ class StockItemTestResultList(ListCreateDestroyAPIView): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] @@ -1312,7 +1312,7 @@ class StockTrackingList(ListAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, filters.OrderingFilter, ] diff --git a/InvenTree/templates/InvenTree/settings/user_search.html b/InvenTree/templates/InvenTree/settings/user_search.html index 25a507c682..aab1e2338a 100644 --- a/InvenTree/templates/InvenTree/settings/user_search.html +++ b/InvenTree/templates/InvenTree/settings/user_search.html @@ -14,6 +14,9 @@
    + {% include "InvenTree/settings/setting.html" with key="SEARCH_WHOLE" user_setting=True icon='fa-spell-check' %} + {% include "InvenTree/settings/setting.html" with key="SEARCH_REGEX" user_setting=True icon='fa-code' %} + {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_RESULTS" user_setting=True icon='fa-search' %} {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_SHOW_PARTS" user_setting=True icon='fa-shapes' %} {% include "InvenTree/settings/setting.html" with key="SEARCH_HIDE_INACTIVE_PARTS" user_setting=True icon='fa-eye-slash' %} {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_SHOW_SUPPLIER_PARTS" user_setting=True icon='fa-building' %} @@ -31,7 +34,6 @@ {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_SHOW_RETURN_ORDERS" user_setting=True icon='fa-truck' %} {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_EXCLUDE_INACTIVE_RETURN_ORDERS" user_setting=True icon='fa-eye-slash' %} - {% include "InvenTree/settings/setting.html" with key="SEARCH_PREVIEW_RESULTS" user_setting=True icon='fa-search' %}
    diff --git a/InvenTree/templates/js/translated/search.js b/InvenTree/templates/js/translated/search.js index 513d1b17dc..3181cb8a98 100644 --- a/InvenTree/templates/js/translated/search.js +++ b/InvenTree/templates/js/translated/search.js @@ -141,6 +141,8 @@ function updateSearch() { // Construct base query searchQuery = { search: searchTextCurrent, + search_regex: user_settings.SEARCH_REGEX ? true : false, + search_whole: user_settings.SEARCH_WHOLE ? true : false, limit: user_settings.SEARCH_PREVIEW_RESULTS, offset: 0, }; diff --git a/InvenTree/templates/js/translated/tables.js b/InvenTree/templates/js/translated/tables.js index 65d58cb75f..cc38763e14 100644 --- a/InvenTree/templates/js/translated/tables.js +++ b/InvenTree/templates/js/translated/tables.js @@ -355,6 +355,16 @@ function convertQueryParameters(params, filters) { delete params['original_search']; } + // Enable regex search + if (user_settings.SEARCH_REGEX) { + params['search_regex'] = true; + } + + // Enable whole word search + if (user_settings.SEARCH_WHOLE) { + params['search_whole'] = true; + } + return params; } diff --git a/InvenTree/users/api.py b/InvenTree/users/api.py index 7aa9a8cc02..688b301fad 100644 --- a/InvenTree/users/api.py +++ b/InvenTree/users/api.py @@ -5,11 +5,12 @@ from django.core.exceptions import ObjectDoesNotExist from django.urls import include, path, re_path from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, permissions, status +from rest_framework import permissions, status from rest_framework.authtoken.models import Token from rest_framework.response import Response from rest_framework.views import APIView +from InvenTree.filters import InvenTreeSearchFilter from InvenTree.mixins import ListAPI, RetrieveAPI, RetrieveUpdateAPI from InvenTree.serializers import UserSerializer from users.models import Owner, RuleSet, check_user_role @@ -137,7 +138,7 @@ class UserList(ListAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, ] search_fields = [ @@ -168,7 +169,7 @@ class GroupList(ListAPI): filter_backends = [ DjangoFilterBackend, - filters.SearchFilter, + InvenTreeSearchFilter, ] search_fields = [ From 7af2bb4e8c58565a8d4992a03f98f2ee6f2361c5 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Apr 2023 11:30:49 +1000 Subject: [PATCH 113/140] Order barcodes (#4575) * Add barcode support to external orders - ReturnOrder - PurchaseOrder - SalesOrder * Support scanning for new model types * Integrate UI elements for ReturnOrder * Update PurchaseOrder page * SalesOrder implementation --- .../templates/company/supplier_part.html | 8 +-- .../migrations/0089_auto_20230404_0030.py | 43 ++++++++++++++++ InvenTree/order/models.py | 5 +- InvenTree/order/serializers.py | 3 ++ .../order/templates/order/order_base.html | 47 +++++++++++++++++ .../templates/order/return_order_base.html | 50 +++++++++++++++++++ .../templates/order/sales_order_base.html | 48 ++++++++++++++++++ InvenTree/part/templates/part/part_base.html | 8 +-- .../builtin/barcodes/inventree_barcode.py | 18 ++++--- .../stock/templates/stock/item_base.html | 11 ++-- InvenTree/stock/templates/stock/location.html | 8 +-- InvenTree/templates/barcode_data.html | 10 ++++ 12 files changed, 221 insertions(+), 38 deletions(-) create mode 100644 InvenTree/order/migrations/0089_auto_20230404_0030.py create mode 100644 InvenTree/templates/barcode_data.html diff --git a/InvenTree/company/templates/company/supplier_part.html b/InvenTree/company/templates/company/supplier_part.html index 8ecf4b1ece..7bb9f06560 100644 --- a/InvenTree/company/templates/company/supplier_part.html +++ b/InvenTree/company/templates/company/supplier_part.html @@ -116,13 +116,7 @@ src="{% static 'img/blank_image.png' %}" {% decimal part.available %}{% render_date part.availability_updated %} {% endif %} - {% if part.barcode_hash %} - - - {% trans "Barcode Identifier" %} - {{ part.barcode_hash }} - - {% endif %} + {% include "barcode_data.html" with instance=part %} {% endblock details %} diff --git a/InvenTree/order/migrations/0089_auto_20230404_0030.py b/InvenTree/order/migrations/0089_auto_20230404_0030.py new file mode 100644 index 0000000000..a28439003b --- /dev/null +++ b/InvenTree/order/migrations/0089_auto_20230404_0030.py @@ -0,0 +1,43 @@ +# Generated by Django 3.2.18 on 2023-04-04 00:30 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0088_auto_20230403_1402'), + ] + + operations = [ + migrations.AddField( + model_name='purchaseorder', + name='barcode_data', + field=models.CharField(blank=True, help_text='Third party barcode data', max_length=500, verbose_name='Barcode Data'), + ), + migrations.AddField( + model_name='purchaseorder', + name='barcode_hash', + field=models.CharField(blank=True, help_text='Unique hash of barcode data', max_length=128, verbose_name='Barcode Hash'), + ), + migrations.AddField( + model_name='returnorder', + name='barcode_data', + field=models.CharField(blank=True, help_text='Third party barcode data', max_length=500, verbose_name='Barcode Data'), + ), + migrations.AddField( + model_name='returnorder', + name='barcode_hash', + field=models.CharField(blank=True, help_text='Unique hash of barcode data', max_length=128, verbose_name='Barcode Hash'), + ), + migrations.AddField( + model_name='salesorder', + name='barcode_data', + field=models.CharField(blank=True, help_text='Third party barcode data', max_length=500, verbose_name='Barcode Data'), + ), + migrations.AddField( + model_name='salesorder', + name='barcode_hash', + field=models.CharField(blank=True, help_text='Unique hash of barcode data', max_length=128, verbose_name='Barcode Hash'), + ), + ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index a6424973e3..3ec7c82b72 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -35,7 +35,8 @@ from InvenTree.exceptions import log_error from InvenTree.fields import (InvenTreeModelMoneyField, InvenTreeNotesField, InvenTreeURLField, RoundingDecimalField) from InvenTree.helpers import decimal2string, getSetting, notify_responsible -from InvenTree.models import InvenTreeAttachment, ReferenceIndexingMixin +from InvenTree.models import (InvenTreeAttachment, InvenTreeBarcodeMixin, + ReferenceIndexingMixin) from InvenTree.status_codes import (PurchaseOrderStatus, ReturnOrderLineStatus, ReturnOrderStatus, SalesOrderStatus, StockHistoryCode, StockStatus) @@ -130,7 +131,7 @@ class TotalPriceMixin(models.Model): return total -class Order(MetadataMixin, ReferenceIndexingMixin): +class Order(InvenTreeBarcodeMixin, MetadataMixin, ReferenceIndexingMixin): """Abstract model for an order. Instances of this class: diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index 494826b5bf..9f188c2fd9 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -66,6 +66,8 @@ class AbstractOrderSerializer(serializers.Serializer): # Boolean field indicating if this order is overdue (Note: must be annotated) overdue = serializers.BooleanField(required=False, read_only=True) + barcode_hash = serializers.CharField(read_only=True) + def validate_reference(self, reference): """Custom validation for the reference field""" @@ -101,6 +103,7 @@ class AbstractOrderSerializer(serializers.Serializer): 'status', 'status_text', 'notes', + 'barcode_hash', 'overdue', ] + extra_fields diff --git a/InvenTree/order/templates/order/order_base.html b/InvenTree/order/templates/order/order_base.html index aafe96d1c0..3049edf0f1 100644 --- a/InvenTree/order/templates/order/order_base.html +++ b/InvenTree/order/templates/order/order_base.html @@ -23,6 +23,24 @@ {% url 'admin:order_purchaseorder_change' order.pk as url %} {% include "admin_button.html" with url=url %} {% endif %} +{% if barcodes %} + +
    + + +
    +{% endif %}
    + +
    +{% endif %}
    + +
    +{% endif %}
    diff --git a/InvenTree/plugin/builtin/barcodes/inventree_barcode.py b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py index 36a253086e..fd92101ace 100644 --- a/InvenTree/plugin/builtin/barcodes/inventree_barcode.py +++ b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py @@ -11,12 +11,13 @@ import json from django.utils.translation import gettext_lazy as _ -from company.models import SupplierPart +import company.models +import order.models +import part.models +import stock.models from InvenTree.helpers import hash_barcode -from part.models import Part from plugin import InvenTreePlugin from plugin.mixins import BarcodeMixin -from stock.models import StockItem, StockLocation class InvenTreeInternalBarcodePlugin(BarcodeMixin, InvenTreePlugin): @@ -33,10 +34,13 @@ class InvenTreeInternalBarcodePlugin(BarcodeMixin, InvenTreePlugin): """Returns a list of database models which support barcode functionality""" return [ - Part, - StockItem, - StockLocation, - SupplierPart, + company.models.SupplierPart, + order.models.PurchaseOrder, + order.models.ReturnOrder, + order.models.SalesOrder, + part.models.Part, + stock.models.StockItem, + stock.models.StockLocation, ] def format_matched_response(self, label, model, instance): diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index 369a50454a..316db8bfef 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -155,13 +155,8 @@ - {% if item.barcode_hash %} - - - {% trans "Barcode Identifier" %} - {{ item.barcode_hash }} - - {% endif %} + {% include "barcode_data.html" with instance=item %} + {% if item.batch %} @@ -537,6 +532,7 @@ $('#stock-edit-status').click(function () { {% endif %} +{% if barcodes %} $("#show-qr-code").click(function() { showQRDialog( '{% trans "Stock Item QR Code" %}', @@ -544,7 +540,6 @@ $("#show-qr-code").click(function() { ); }); -{% if barcodes %} $("#barcode-link").click(function() { linkBarcodeDialog( { diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index de742fa7ee..f631c1b6ff 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -150,13 +150,7 @@ {% endif %} - {% if location and location.barcode_hash %} - - - {% trans "Barcode Identifier" %} - {{ location.barcode_hash }} - - {% endif %} + {% include "barcode_data.html" with instance=location %} {% endblock details_left %} diff --git a/InvenTree/templates/barcode_data.html b/InvenTree/templates/barcode_data.html new file mode 100644 index 0000000000..4e95bbd9d1 --- /dev/null +++ b/InvenTree/templates/barcode_data.html @@ -0,0 +1,10 @@ +{% load i18n %} +{% if instance and instance.barcode_hash %} + + + {% trans "Barcode Identifier" %} + + {{ instance.barcode_hash}} + + +{% endif %} From 1088b9c947d404b9b8c44eee748ba2bbdacde34d Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Apr 2023 11:42:49 +1000 Subject: [PATCH 114/140] Allow barcodes to be added to incoming items via web UI (#4574) * Fixes for receiving a line item with a barcode - Record the raw barcode data in addition to the hash * Improvements to 'receive purchase order items' dialog * Add code for assigning barcodes to incoming order items * Unit test fixes --- InvenTree/InvenTree/models.py | 5 +- InvenTree/InvenTree/static/css/inventree.css | 6 + InvenTree/order/models.py | 16 +- InvenTree/order/serializers.py | 11 +- InvenTree/order/test_api.py | 7 +- InvenTree/templates/js/translated/barcode.js | 67 +++++---- InvenTree/templates/js/translated/helpers.js | 10 +- .../templates/js/translated/purchase_order.js | 138 +++++++++++++----- 8 files changed, 181 insertions(+), 79 deletions(-) diff --git a/InvenTree/InvenTree/models.py b/InvenTree/InvenTree/models.py index 61adfe8e4b..41ade9f1c6 100644 --- a/InvenTree/InvenTree/models.py +++ b/InvenTree/InvenTree/models.py @@ -731,7 +731,7 @@ class InvenTreeBarcodeMixin(models.Model): return cls.objects.filter(barcode_hash=barcode_hash).first() - def assign_barcode(self, barcode_hash=None, barcode_data=None, raise_error=True): + def assign_barcode(self, barcode_hash=None, barcode_data=None, raise_error=True, save=True): """Assign an external (third-party) barcode to this object.""" # Must provide either barcode_hash or barcode_data @@ -754,7 +754,8 @@ class InvenTreeBarcodeMixin(models.Model): self.barcode_hash = barcode_hash - self.save() + if save: + self.save() return True diff --git a/InvenTree/InvenTree/static/css/inventree.css b/InvenTree/InvenTree/static/css/inventree.css index cd9b5747d3..c5bc9ea58e 100644 --- a/InvenTree/InvenTree/static/css/inventree.css +++ b/InvenTree/InvenTree/static/css/inventree.css @@ -784,6 +784,12 @@ input[type="submit"] { .alert-block { display: block; + padding: 0.75rem; +} + +.alert-small { + padding: 0.35rem; + font-size: 75%; } .navbar .btn { diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 3ec7c82b72..617aa92678 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -549,11 +549,11 @@ class PurchaseOrder(TotalPriceMixin, Order): notes = kwargs.get('notes', '') # Extract optional barcode field - barcode_hash = kwargs.get('barcode', None) + barcode = kwargs.get('barcode', None) # Prevent null values for barcode - if barcode_hash is None: - barcode_hash = '' + if barcode is None: + barcode = '' if self.status != PurchaseOrderStatus.PLACED: raise ValidationError( @@ -600,10 +600,16 @@ class PurchaseOrder(TotalPriceMixin, Order): status=status, batch=batch_code, serial=sn, - purchase_price=unit_purchase_price, - barcode_hash=barcode_hash + purchase_price=unit_purchase_price ) + # Assign the provided barcode + if barcode: + item.assign_barcode( + barcode_data=barcode, + save=False + ) + item.save(add_note=False) tracking_info = { diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index 9f188c2fd9..9624394943 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -19,7 +19,8 @@ import stock.models import stock.serializers from company.serializers import (CompanyBriefSerializer, ContactSerializer, SupplierPartSerializer) -from InvenTree.helpers import extract_serial_numbers, normalize, str2bool +from InvenTree.helpers import (extract_serial_numbers, hash_barcode, normalize, + str2bool) from InvenTree.serializers import (InvenTreeAttachmentSerializer, InvenTreeCurrencySerializer, InvenTreeDecimalField, @@ -505,8 +506,8 @@ class PurchaseOrderLineItemReceiveSerializer(serializers.Serializer): ) barcode = serializers.CharField( - label=_('Barcode Hash'), - help_text=_('Unique identifier field'), + label=_('Barcode'), + help_text=_('Scanned barcode'), default='', required=False, allow_null=True, @@ -519,7 +520,9 @@ class PurchaseOrderLineItemReceiveSerializer(serializers.Serializer): if not barcode or barcode.strip() == '': return None - if stock.models.StockItem.objects.filter(barcode_hash=barcode).exists(): + barcode_hash = hash_barcode(barcode) + + if stock.models.StockItem.lookup_barcode(barcode_hash) is not None: raise ValidationError(_('Barcode is already in use')) return barcode diff --git a/InvenTree/order/test_api.py b/InvenTree/order/test_api.py index 98bfe8f840..7b990c9639 100644 --- a/InvenTree/order/test_api.py +++ b/InvenTree/order/test_api.py @@ -837,8 +837,7 @@ class PurchaseOrderReceiveTest(OrderTest): """ # Set stock item barcode item = StockItem.objects.get(pk=1) - item.barcode_hash = 'MY-BARCODE-HASH' - item.save() + item.assign_barcode(barcode_data='MY-BARCODE-HASH') response = self.post( self.url, @@ -956,8 +955,8 @@ class PurchaseOrderReceiveTest(OrderTest): self.assertEqual(stock_2.last().location.pk, 2) # Barcodes should have been assigned to the stock items - self.assertTrue(StockItem.objects.filter(barcode_hash='MY-UNIQUE-BARCODE-123').exists()) - self.assertTrue(StockItem.objects.filter(barcode_hash='MY-UNIQUE-BARCODE-456').exists()) + self.assertTrue(StockItem.objects.filter(barcode_data='MY-UNIQUE-BARCODE-123').exists()) + self.assertTrue(StockItem.objects.filter(barcode_data='MY-UNIQUE-BARCODE-456').exists()) def test_batch_code(self): """Test that we can supply a 'batch code' when receiving items.""" diff --git a/InvenTree/templates/js/translated/barcode.js b/InvenTree/templates/js/translated/barcode.js index c8213e41da..71b1d26376 100644 --- a/InvenTree/templates/js/translated/barcode.js +++ b/InvenTree/templates/js/translated/barcode.js @@ -146,7 +146,7 @@ function makeNotesField(options={}) { */ function postBarcodeData(barcode_data, options={}) { - var modal = options.modal || '#modal-form'; + var modal = options.modal; var url = options.url || '{% url "api-barcode-scan" %}'; @@ -166,11 +166,14 @@ function postBarcodeData(barcode_data, options={}) { switch (xhr.status || 0) { case 400: // No match for barcode, most likely - console.log(xhr); - - data = xhr.responseJSON || {}; - showBarcodeMessage(modal, data.error || '{% trans "Server error" %}'); + if (options.onError400) { + options.onError400(xhr.responseJSON, options); + } else { + console.log(xhr); + data = xhr.responseJSON || {}; + showBarcodeMessage(modal, data.error || '{% trans "Server error" %}'); + } break; default: // Any other error code means something went wrong @@ -187,7 +190,7 @@ function postBarcodeData(barcode_data, options={}) { if ('success' in response) { if (options.onScan) { - options.onScan(response); + options.onScan(response, options); } } else if ('error' in response) { showBarcodeMessage( @@ -258,7 +261,7 @@ function enableBarcodeInput(modal, enabled=true) { */ function getBarcodeData(modal) { - modal = modal || '#modal-form'; + modal = modal || createNewModal(); var el = $(modal + ' #barcode'); @@ -276,7 +279,9 @@ function getBarcodeData(modal) { */ function barcodeDialog(title, options={}) { - var modal = '#modal-form'; + var modal = createNewModal(); + + options.modal = modal; function sendBarcode() { var barcode = getBarcodeData(modal); @@ -396,26 +401,33 @@ function barcodeDialog(title, options={}) { * Perform a barcode scan, * and (potentially) redirect the browser */ -function barcodeScanDialog() { +function barcodeScanDialog(options={}) { - var modal = '#modal-form'; + let modal = options.modal || createNewModal(); + let title = options.title || '{% trans "Scan Barcode" %}'; barcodeDialog( - '{% trans "Scan Barcode" %}', + title, { onScan: function(response) { - var url = response.url; - - if (url) { - $(modal).modal('hide'); - window.location.href = url; + // Pass the response to the calling function + if (options.onScan) { + options.onScan(response); } else { - showBarcodeMessage( - modal, - '{% trans "No URL in response" %}', - 'warning' - ); + + let url = response.url; + + if (url) { + $(modal).modal('hide'); + window.location.href = url; + } else { + showBarcodeMessage( + modal, + '{% trans "No URL in response" %}', + 'warning' + ); + } } } }, @@ -428,7 +440,8 @@ function barcodeScanDialog() { */ function linkBarcodeDialog(data, options={}) { - var modal = '#modal-form'; + var modal = options.modal || createNewModal(); + options.modal = modal; barcodeDialog( options.title, @@ -481,7 +494,8 @@ function unlinkBarcode(data, options={}) { */ function barcodeCheckInStockItems(location_id, options={}) { - var modal = '#modal-form'; + var modal = options.modal || createNewModal(); + options.modal = modal; // List of items we are going to checkin var items = []; @@ -672,7 +686,9 @@ function barcodeCheckInStockItems(location_id, options={}) { */ function barcodeCheckInStockLocations(location_id, options={}) { - var modal = '#modal-form'; + var modal = options.modal || createNewModal(); + options.modal = modal; + var header = ''; barcodeDialog( @@ -725,7 +741,8 @@ function barcodeCheckInStockLocations(location_id, options={}) { */ function scanItemsIntoLocation(item_list, options={}) { - var modal = options.modal || '#modal-form'; + var modal = options.modal || createNewModal(); + options.modal = modal; var stock_location = null; diff --git a/InvenTree/templates/js/translated/helpers.js b/InvenTree/templates/js/translated/helpers.js index e400e33707..04b50d5cbd 100644 --- a/InvenTree/templates/js/translated/helpers.js +++ b/InvenTree/templates/js/translated/helpers.js @@ -210,7 +210,13 @@ function makeIconButton(icon, cls, pk, title, options={}) { var html = ''; - var extraProps = ''; + var extraProps = options.extra || ''; + + var style = ''; + + if (options.hidden) { + style += `display: none;`; + } if (options.disabled) { extraProps += `disabled='true' `; @@ -220,7 +226,7 @@ function makeIconButton(icon, cls, pk, title, options={}) { extraProps += `data-bs-toggle='collapse' href='#${options.collapseTarget}'`; } - html += ``; diff --git a/InvenTree/templates/js/translated/purchase_order.js b/InvenTree/templates/js/translated/purchase_order.js index 660c8491a6..77156d9a3e 100644 --- a/InvenTree/templates/js/translated/purchase_order.js +++ b/InvenTree/templates/js/translated/purchase_order.js @@ -1010,19 +1010,6 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { quantity = 0; } - // Prepend toggles to the quantity input - var toggle_batch = ` - - - - `; - - var toggle_serials = ` - - - - `; - var units = line_item.part_detail.units || ''; var pack_size = line_item.supplier_part_detail.pack_size || 1; var pack_size_div = ''; @@ -1031,7 +1018,7 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { if (pack_size != 1) { pack_size_div = ` -
    +
    {% trans "Pack Quantity" %}: ${pack_size} ${units}
    {% trans "Received Quantity" %}: ${received} ${units}
    `; @@ -1060,7 +1047,20 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { required: false, label: '{% trans "Batch Code" %}', help_text: '{% trans "Enter batch code for incoming stock items" %}', - prefixRaw: toggle_batch, + icon: 'fa-layer-group', + }, + { + hideLabels: true, + } + ); + + // Hidden barcode input + var barcode_input = constructField( + `items_barcode_${pk}`, + { + type: 'string', + required: 'false', + hidden: 'true' } ); @@ -1071,16 +1071,14 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { required: false, label: '{% trans "Serial Numbers" %}', help_text: '{% trans "Enter serial numbers for incoming stock items" %}', - prefixRaw: toggle_serials, + icon: 'fa-hashtag', + }, + { + hideLabels: true, } ); - // Hidden inputs below the "quantity" field - var quantity_input_group = `${quantity_input}${pack_size_div}
    ${batch_input}
    `; - - if (line_item.part_detail.trackable) { - quantity_input_group += `
    ${sn_input}
    `; - } + var quantity_input_group = `${quantity_input}${pack_size_div}`; // Construct list of StockItem status codes var choices = []; @@ -1098,6 +1096,7 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { type: 'related field', label: '{% trans "Location" %}', required: false, + icon: 'fa-sitemap', }, { hideLabels: true, @@ -1121,13 +1120,22 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { // Button to remove the row let buttons = ''; + if (global_settings.BARCODE_ENABLE) { + buttons += makeIconButton('fa-qrcode', 'button-row-add-barcode', pk, '{% trans "Add barcode" %}'); + buttons += makeIconButton('fa-unlink icon-red', 'button-row-remove-barcode', pk, '{% trans "Remove barcode" %}', {hidden: true}); + } + + buttons += makeIconButton('fa-sitemap', 'button-row-add-location', pk, '{% trans "Specify location" %}', { + collapseTarget: `row-destination-${pk}` + }); + buttons += makeIconButton( 'fa-layer-group', 'button-row-add-batch', pk, '{% trans "Add batch code" %}', { - collapseTarget: `div-batch-${pk}` + collapseTarget: `row-batch-${pk}` } ); @@ -1138,7 +1146,7 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { pk, '{% trans "Add serial numbers" %}', { - collapseTarget: `div-serials-${pk}`, + collapseTarget: `row-serials-${pk}`, } ); } @@ -1149,6 +1157,8 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { buttons = wrapButtons(buttons); + let progress = makeProgressBar(line_item.received, line_item.quantity); + var html = ` @@ -1157,11 +1167,8 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { ${line_item.supplier_part_detail.SKU} - - ${line_item.quantity} - - ${line_item.received} + ${progress} ${quantity_input_group} @@ -1169,13 +1176,31 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { ${status_input} - - ${destination_input} - + ${barcode_input} ${buttons} - `; + + + + + {% trans "Location" %} + ${destination_input} + + + + + {% trans "Batch" %} + ${batch_input} + + + + + {% trans "Serials" %} + ${sn_input} + + + `; return html; } @@ -1192,16 +1217,14 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { // Add table html += ` - +
    - - @@ -1284,6 +1307,44 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { } }); + // Add callbacks to add barcode + if (global_settings.BARCODE_ENABLE) { + $(opts.modal).find('.button-row-add-barcode').click(function() { + var btn = $(this); + let pk = btn.attr('pk'); + + // Scan to see if the barcode matches an existing StockItem + barcodeDialog('{% trans "Scan Item Barcode" %}', { + details: '{% trans "Scan barcode on incoming item (must not match any existing stock items)" %}', + onScan: function(response, barcode_options) { + // A 'success' result means that the barcode matches something existing in the database + showBarcodeMessage(barcode_options.modal, '{% trans "Barcode matches existing item" %}'); + }, + onError400: function(response, barcode_options) { + if (response.barcode_data && response.barcode_hash) { + // Success! Hide the modal and update the value + $(barcode_options.modal).modal('hide'); + + btn.hide(); + $(opts.modal).find(`#button-row-remove-barcode-${pk}`).show(); + updateFieldValue(`items_barcode_${pk}`, response.barcode_data, {}, opts); + } else { + showBarcodeMessage(barcode_options.modal, '{% trans "Invalid barcode data" %}'); + } + } + }); + }); + + $(opts.modal).find('.button-row-remove-barcode').click(function() { + var btn = $(this); + let pk = btn.attr('pk'); + + btn.hide(); + $(opts.modal).find(`#button-row-add-barcode-${pk}`).show(); + updateFieldValue(`items_barcode_${pk}`, '', {}, opts); + }); + } + // Add callbacks to remove rows $(opts.modal).find('.button-row-remove').click(function() { var pk = $(this).attr('pk'); @@ -1304,10 +1365,9 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { var pk = item.pk; + // Extract data for each line var quantity = getFormFieldValue(`items_quantity_${pk}`, {}, opts); - var status = getFormFieldValue(`items_status_${pk}`, {}, opts); - var location = getFormFieldValue(`items_location_${pk}`, {}, opts); if (quantity != null) { @@ -1319,6 +1379,10 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) { location: location, }; + if (global_settings.BARCODE_ENABLE) { + line.barcode = getFormFieldValue(`items_barcode_${pk}`, {}, opts); + } + if (getFormFieldElement(`items_batch_code_${pk}`).exists()) { line.batch_code = getFormFieldValue(`items_batch_code_${pk}`); } From 78c6f9b90a0e74b25341207cd66a0093593891e3 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Apr 2023 14:54:31 +1000 Subject: [PATCH 115/140] Bump API version (#4577) - Forgot to do this in recent PR --- InvenTree/InvenTree/api_version.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 7badd83c9c..21cff45c72 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,16 @@ # InvenTree API version -INVENTREE_API_VERSION = 106 +INVENTREE_API_VERSION = 107 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v107 -> 2023-04-04 : https://github.com/inventree/InvenTree/pull/4575 + - Adds barcode support for PurchaseOrder model + - Adds barcode support for ReturnOrder model + - Adds barcode support for SalesOrder model + v106 -> 2023-04-03 : https://github.com/inventree/InvenTree/pull/4566 - Adds 'search_regex' parameter to all searchable API endpoints From 1ddc86d6a31f80757372e01b54f09f8d3a4fd322 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Apr 2023 14:54:40 +1000 Subject: [PATCH 116/140] Don't log to sentry in debug mode (#4576) --- InvenTree/InvenTree/exceptions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/exceptions.py b/InvenTree/InvenTree/exceptions.py index 1b61d36b87..a7bcf9d39c 100644 --- a/InvenTree/InvenTree/exceptions.py +++ b/InvenTree/InvenTree/exceptions.py @@ -61,7 +61,7 @@ def exception_handler(exc, context): """ response = None - if settings.SENTRY_ENABLED and settings.SENTRY_DSN: + if settings.SENTRY_ENABLED and settings.SENTRY_DSN and not settings.DEBUG: # Report this exception to sentry.io from sentry_sdk import capture_exception capture_exception(exc) From 85ff294d0d819c8e621d31c9b2663e6e030d8da8 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Apr 2023 22:21:29 +1000 Subject: [PATCH 117/140] UI tweaks (#4580) * Cleaner "variant of" rendering * cleanup --- InvenTree/build/templates/build/build_base.html | 14 ++++++-------- InvenTree/part/templates/part/part_base.html | 17 ++++++++--------- InvenTree/stock/templates/stock/item_base.html | 8 +------- 3 files changed, 15 insertions(+), 24 deletions(-) diff --git a/InvenTree/build/templates/build/build_base.html b/InvenTree/build/templates/build/build_base.html index a372a8cb2f..e02112c6bf 100644 --- a/InvenTree/build/templates/build/build_base.html +++ b/InvenTree/build/templates/build/build_base.html @@ -98,13 +98,6 @@ src="{% static 'img/blank_image.png' %}" {% trans "No build outputs have been created for this build order" %}
    {% endif %} - {% if build.sales_order %} -
    - {% object_link 'so-detail' build.sales_order.id build.sales_order as link %} - {% blocktrans %}This Build Order is allocated to Sales Order {{link}}{% endblocktrans %} -
    - {% endif %} - {% if build.parent %}
    {% object_link 'build-detail' build.parent.id build.parent as link %} @@ -162,7 +155,12 @@ src="{% static 'img/blank_image.png' %}" {% endif %}
    - + diff --git a/InvenTree/part/templates/part/part_base.html b/InvenTree/part/templates/part/part_base.html index eafaec5cd8..0cfd50a115 100644 --- a/InvenTree/part/templates/part/part_base.html +++ b/InvenTree/part/templates/part/part_base.html @@ -173,17 +173,16 @@ -
    {% trans "Part" %} {% trans "Order Code" %}{% trans "Ordered" %} {% trans "Received" %} {% trans "Quantity to Receive" %} {% trans "Status" %}{% trans "Destination" %}
    + {% if build.completed >= build.quantity %} + + {% else %} + + {% endif %} {% trans "Completed" %} {% progress_bar build.completed build.quantity id='build-completed' max_width='150px' %}
    {{ part.description }}{% include "clip.html"%}
    - - -
    {% if part.variant_of %} -
    - {% object_link 'part-detail' part.variant_of.id part.variant_of.full_name as link %} - {% blocktrans %}This part is a variant of {{link}}{% endblocktrans %} -
    + + + {% trans "Variant Of" %} + + {{ part.variant_of.full_name }} + + {% endif %} -
    + {% endblock details %} diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index 316db8bfef..322ee56235 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -281,12 +281,6 @@
    {% endif %} - {% if item.hasRequiredTests and not item.passedAllRequiredTests %} -
    - {% trans "This stock item has not passed all required tests" %} -
    - {% endif %} - {% for allocation in item.get_sales_order_allocations.all %}
    {% object_link 'so-detail' allocation.line.order.id allocation.line.order as link %} @@ -412,7 +406,7 @@ {% if item.passedAllRequiredTests %} {% else %} - + {% endif %} From 5ad4152270dc790daf2439e9e96d971ba0e60c18 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Apr 2023 23:17:31 +1000 Subject: [PATCH 118/140] Update dockerfile requirements (#4578) --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4936e4e49e..ec1e2db8fa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -57,7 +57,7 @@ RUN apt-get update # Install required system packages RUN apt-get install -y --no-install-recommends \ - git gcc g++ gettext gnupg libffi-dev \ + git gcc g++ gettext gnupg libffi-dev libssl-dev cargo \ # Weasyprint requirements : https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#debian-11 poppler-utils libpango-1.0-0 libpangoft2-1.0-0 \ # Image format support From 7656f30d028636902d34f1ec54e75805c22defde Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Apr 2023 23:56:22 +1000 Subject: [PATCH 119/140] Filter queryset updates (#4571) * Update build API filters * Update company API filetrs * Update unit tests --- InvenTree/build/api.py | 105 ++++++++++++++++-------------------- InvenTree/build/test_api.py | 23 ++++---- InvenTree/company/api.py | 46 +++++++--------- 3 files changed, 77 insertions(+), 97 deletions(-) diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index ca839441e7..05fb8c7b84 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -18,13 +18,22 @@ from InvenTree.mixins import CreateAPI, RetrieveUpdateDestroyAPI, ListCreateAPI import build.admin import build.serializers from build.models import Build, BuildItem, BuildOrderAttachment - +import part.models from users.models import Owner class BuildFilter(rest_filters.FilterSet): """Custom filterset for BuildList API endpoint.""" + class Meta: + """Metaclass options""" + model = Build + fields = [ + 'parent', + 'sales_order', + 'part', + ] + status = rest_filters.NumberFilter(label='Status') active = rest_filters.BooleanFilter(label='Build is active', method='filter_active') @@ -32,22 +41,18 @@ class BuildFilter(rest_filters.FilterSet): def filter_active(self, queryset, name, value): """Filter the queryset to either include or exclude orders which are active.""" if str2bool(value): - queryset = queryset.filter(status__in=BuildStatus.ACTIVE_CODES) + return queryset.filter(status__in=BuildStatus.ACTIVE_CODES) else: - queryset = queryset.exclude(status__in=BuildStatus.ACTIVE_CODES) - - return queryset + return queryset.exclude(status__in=BuildStatus.ACTIVE_CODES) overdue = rest_filters.BooleanFilter(label='Build is overdue', method='filter_overdue') def filter_overdue(self, queryset, name, value): """Filter the queryset to either include or exclude orders which are overdue.""" if str2bool(value): - queryset = queryset.filter(Build.OVERDUE_FILTER) + return queryset.filter(Build.OVERDUE_FILTER) else: - queryset = queryset.exclude(Build.OVERDUE_FILTER) - - return queryset + return queryset.exclude(Build.OVERDUE_FILTER) assigned_to_me = rest_filters.BooleanFilter(label='assigned_to_me', method='filter_assigned_to_me') @@ -59,11 +64,9 @@ class BuildFilter(rest_filters.FilterSet): owners = Owner.get_owners_matching_user(self.request.user) if value: - queryset = queryset.filter(responsible__in=owners) + return queryset.filter(responsible__in=owners) else: - queryset = queryset.exclude(responsible__in=owners) - - return queryset + return queryset.exclude(responsible__in=owners) assigned_to = rest_filters.NumberFilter(label='responsible', method='filter_responsible') @@ -75,9 +78,7 @@ class BuildFilter(rest_filters.FilterSet): if len(owners) > 0 and owners[0].label() == 'user': owners = Owner.get_owners_matching_user(User.objects.get(pk=owners[0].owner_id)) - queryset = queryset.filter(responsible__in=owners) - - return queryset + return queryset.filter(responsible__in=owners) # Exact match for reference reference = rest_filters.CharFilter( @@ -171,18 +172,6 @@ class BuildList(APIDownloadMixin, ListCreateAPI): except (ValueError, Build.DoesNotExist): pass - # Filter by "parent" - parent = params.get('parent', None) - - if parent is not None: - queryset = queryset.filter(parent=parent) - - # Filter by sales_order - sales_order = params.get('sales_order', None) - - if sales_order is not None: - queryset = queryset.filter(sales_order=sales_order) - # Filter by "ancestor" builds ancestor = params.get('ancestor', None) @@ -199,12 +188,6 @@ class BuildList(APIDownloadMixin, ListCreateAPI): except (ValueError, Build.DoesNotExist): pass - # Filter by associated part? - part = params.get('part', None) - - if part is not None: - queryset = queryset.filter(part=part) - # Filter by 'date range' min_date = params.get('min_date', None) max_date = params.get('max_date', None) @@ -373,6 +356,34 @@ class BuildItemDetail(RetrieveUpdateDestroyAPI): serializer_class = build.serializers.BuildItemSerializer +class BuildItemFilter(rest_filters.FilterSet): + """Custom filterset for the BuildItemList API endpoint""" + + class Meta: + """Metaclass option""" + model = BuildItem + fields = [ + 'build', + 'stock_item', + 'bom_item', + 'install_into', + ] + + part = rest_filters.ModelChoiceFilter( + queryset=part.models.Part.objects.all(), + field_name='stock_item__part', + ) + + tracked = rest_filters.BooleanFilter(label='Tracked', method='filter_tracked') + + def filter_tracked(self, queryset, name, value): + """Filter the queryset based on whether build items are tracked""" + if str2bool(value): + return queryset.exclude(install_into=None) + else: + return queryset.filter(install_into=None) + + class BuildItemList(ListCreateAPI): """API endpoint for accessing a list of BuildItem objects. @@ -381,6 +392,7 @@ class BuildItemList(ListCreateAPI): """ serializer_class = build.serializers.BuildItemSerializer + filterset_class = BuildItemFilter def get_serializer(self, *args, **kwargs): """Returns a BuildItemSerializer instance based on the request.""" @@ -418,24 +430,6 @@ class BuildItemList(ListCreateAPI): params = self.request.query_params - # Does the user wish to filter by part? - part_pk = params.get('part', None) - - if part_pk: - queryset = queryset.filter(stock_item__part=part_pk) - - # Filter by "tracked" status - # Tracked means that the item is "installed" into a build output (stock item) - tracked = params.get('tracked', None) - - if tracked is not None: - tracked = str2bool(tracked) - - if tracked: - queryset = queryset.exclude(install_into=None) - else: - queryset = queryset.filter(install_into=None) - # Filter by output target output = params.get('output', None) @@ -452,13 +446,6 @@ class BuildItemList(ListCreateAPI): DjangoFilterBackend, ] - filterset_fields = [ - 'build', - 'stock_item', - 'bom_item', - 'install_into', - ] - class BuildAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): """API endpoint for listing (and creating) BuildOrderAttachment objects.""" diff --git a/InvenTree/build/test_api.py b/InvenTree/build/test_api.py index bb15aaec8b..d27102e53d 100644 --- a/InvenTree/build/test_api.py +++ b/InvenTree/build/test_api.py @@ -37,49 +37,50 @@ class TestBuildAPI(InvenTreeAPITestCase): def test_get_build_list(self): """Test that we can retrieve list of build objects.""" url = reverse('api-build-list') - response = self.client.get(url, format='json') + + response = self.get(url, expected_code=200) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(len(response.data), 5) # Filter query by build status - response = self.client.get(url, {'status': 40}, format='json') + response = self.get(url, {'status': 40}, expected_code=200) self.assertEqual(len(response.data), 4) # Filter by "active" status - response = self.client.get(url, {'active': True}, format='json') + response = self.get(url, {'active': True}, expected_code=200) self.assertEqual(len(response.data), 1) self.assertEqual(response.data[0]['pk'], 1) - response = self.client.get(url, {'active': False}, format='json') + response = self.get(url, {'active': False}, expected_code=200) self.assertEqual(len(response.data), 4) # Filter by 'part' status - response = self.client.get(url, {'part': 25}, format='json') + response = self.get(url, {'part': 25}, expected_code=200) self.assertEqual(len(response.data), 1) # Filter by an invalid part - response = self.client.get(url, {'part': 99999}, format='json') - self.assertEqual(len(response.data), 0) + response = self.get(url, {'part': 99999}, expected_code=400) + self.assertIn('Select a valid choice', str(response.data)) # Get a certain reference - response = self.client.get(url, {'reference': 'BO-0001'}, format='json') + response = self.get(url, {'reference': 'BO-0001'}, expected_code=200) self.assertEqual(len(response.data), 1) # Get a certain reference - response = self.client.get(url, {'reference': 'BO-9999XX'}, format='json') + response = self.get(url, {'reference': 'BO-9999XX'}, expected_code=200) self.assertEqual(len(response.data), 0) def test_get_build_item_list(self): """Test that we can retrieve list of BuildItem objects.""" url = reverse('api-build-item-list') - response = self.client.get(url, format='json') + response = self.get(url, expected_code=200) self.assertEqual(response.status_code, status.HTTP_200_OK) # Test again, filtering by park ID - response = self.client.get(url, {'part': '1'}, format='json') + response = self.get(url, {'part': '1'}, expected_code=200) self.assertEqual(response.status_code, status.HTTP_200_OK) diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 0f0ba01c0f..8be1181772 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -242,11 +242,30 @@ class ManufacturerPartAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI serializer_class = ManufacturerPartAttachmentSerializer +class ManufacturerPartParameterFilter(rest_filters.FilterSet): + """Custom filterset for the ManufacturerPartParameterList API endpoint""" + + class Meta: + """Metaclass options""" + model = ManufacturerPartParameter + fields = [ + 'name', + 'value', + 'units', + 'manufacturer_part', + ] + + manufacturer = rest_filters.ModelChoiceFilter(queryset=Company.objects.all(), field_name='manufacturer_part__manufacturer') + + part = rest_filters.ModelChoiceFilter(queryset=part.models.Part.objects.all(), field_name='manufacturer_part__part') + + class ManufacturerPartParameterList(ListCreateDestroyAPIView): """API endpoint for list view of ManufacturerPartParamater model.""" queryset = ManufacturerPartParameter.objects.all() serializer_class = ManufacturerPartParameterSerializer + filterset_class = ManufacturerPartParameterFilter def get_serializer(self, *args, **kwargs): """Return serializer instance for this endpoint""" @@ -268,39 +287,12 @@ class ManufacturerPartParameterList(ListCreateDestroyAPIView): return self.serializer_class(*args, **kwargs) - def filter_queryset(self, queryset): - """Custom filtering for the queryset.""" - queryset = super().filter_queryset(queryset) - - params = self.request.query_params - - # Filter by manufacturer? - manufacturer = params.get('manufacturer', None) - - if manufacturer is not None: - queryset = queryset.filter(manufacturer_part__manufacturer=manufacturer) - - # Filter by part? - part = params.get('part', None) - - if part is not None: - queryset = queryset.filter(manufacturer_part__part=part) - - return queryset - filter_backends = [ DjangoFilterBackend, InvenTreeSearchFilter, filters.OrderingFilter, ] - filterset_fields = [ - 'name', - 'value', - 'units', - 'manufacturer_part', - ] - search_fields = [ 'name', 'value', From 508dd5425d2c374d14d6286e16347e8fb61f4638 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 5 Apr 2023 00:00:24 +1000 Subject: [PATCH 120/140] Build order barcodes (#4581) * Adds barcode support for BuildOrder model * Add barcode_hash to serializer * Add assign functionality for build * Add UI elements --- InvenTree/InvenTree/api_version.py | 1 + .../migrations/0040_auto_20230404_1310.py | 23 +++++++++ InvenTree/build/models.py | 4 +- InvenTree/build/serializers.py | 3 ++ .../build/templates/build/build_base.html | 48 +++++++++++++++++++ .../builtin/barcodes/inventree_barcode.py | 2 + 6 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 InvenTree/build/migrations/0040_auto_20230404_1310.py diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 21cff45c72..33222ebe75 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -11,6 +11,7 @@ v107 -> 2023-04-04 : https://github.com/inventree/InvenTree/pull/4575 - Adds barcode support for PurchaseOrder model - Adds barcode support for ReturnOrder model - Adds barcode support for SalesOrder model + - Adds barcode support for BuildOrder model v106 -> 2023-04-03 : https://github.com/inventree/InvenTree/pull/4566 - Adds 'search_regex' parameter to all searchable API endpoints diff --git a/InvenTree/build/migrations/0040_auto_20230404_1310.py b/InvenTree/build/migrations/0040_auto_20230404_1310.py new file mode 100644 index 0000000000..fcb29e7e3a --- /dev/null +++ b/InvenTree/build/migrations/0040_auto_20230404_1310.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.18 on 2023-04-04 13:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('build', '0039_auto_20230317_0816'), + ] + + operations = [ + migrations.AddField( + model_name='build', + name='barcode_data', + field=models.CharField(blank=True, help_text='Third party barcode data', max_length=500, verbose_name='Barcode Data'), + ), + migrations.AddField( + model_name='build', + name='barcode_hash', + field=models.CharField(blank=True, help_text='Unique hash of barcode data', max_length=128, verbose_name='Barcode Hash'), + ), + ] diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index a56b69978d..7ac1c0f6e0 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -23,7 +23,7 @@ from rest_framework import serializers from InvenTree.status_codes import BuildStatus, StockStatus, StockHistoryCode from InvenTree.helpers import increment, normalize, notify_responsible -from InvenTree.models import InvenTreeAttachment, ReferenceIndexingMixin +from InvenTree.models import InvenTreeAttachment, InvenTreeBarcodeMixin, ReferenceIndexingMixin from build.validators import generate_next_build_reference, validate_build_order_reference @@ -42,7 +42,7 @@ import stock.models import users.models -class Build(MPTTModel, MetadataMixin, ReferenceIndexingMixin): +class Build(MPTTModel, InvenTreeBarcodeMixin, MetadataMixin, ReferenceIndexingMixin): """A Build object organises the creation of new StockItem objects from other existing StockItem objects. Attributes: diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index 5bacad8845..3ac30928bd 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -37,6 +37,7 @@ class BuildSerializer(InvenTreeModelSerializer): 'pk', 'url', 'title', + 'barcode_hash', 'batch', 'creation_date', 'completed', @@ -84,6 +85,8 @@ class BuildSerializer(InvenTreeModelSerializer): responsible_detail = OwnerSerializer(source='responsible', read_only=True) + barcode_hash = serializers.CharField(read_only=True) + @staticmethod def annotate_queryset(queryset): """Add custom annotations to the BuildSerializer queryset, performing database queries as efficiently as possible. diff --git a/InvenTree/build/templates/build/build_base.html b/InvenTree/build/templates/build/build_base.html index e02112c6bf..f0aff38766 100644 --- a/InvenTree/build/templates/build/build_base.html +++ b/InvenTree/build/templates/build/build_base.html @@ -33,6 +33,24 @@ src="{% static 'img/blank_image.png' %}" {% url 'admin:build_build_change' build.pk as url %} {% include "admin_button.html" with url=url %} {% endif %} +{% if barcodes %} + +
    + + +
    +{% endif %} {% if report_enabled %}
    @@ -90,6 +108,7 @@ src="{% static 'img/blank_image.png' %}" {% trans "Build Description" %} {{ build.title }} + {% include "barcode_data.html" with instance=build %}
    @@ -264,4 +283,33 @@ src="{% static 'img/blank_image.png' %}" ); }); + {% if barcodes %} + + $('#show-qr-code').click(function() { + showQRDialog( + '{% trans "Build Order QR Code" %}', + '{"build": {{ build.pk }}}' + ); + }); + + {% if roles.purchase_order.change %} + $("#barcode-link").click(function() { + linkBarcodeDialog( + { + build: {{ build.pk }}, + }, + { + title: '{% trans "Link Barcode to Build Order" %}', + } + ); + }); + + $("#barcode-unlink").click(function() { + unlinkBarcode({ + build: {{ build.pk }}, + }); + }); + {% endif %} + {% endif %} + {% endblock %} diff --git a/InvenTree/plugin/builtin/barcodes/inventree_barcode.py b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py index fd92101ace..330c2e8fca 100644 --- a/InvenTree/plugin/builtin/barcodes/inventree_barcode.py +++ b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py @@ -11,6 +11,7 @@ import json from django.utils.translation import gettext_lazy as _ +import build.models import company.models import order.models import part.models @@ -34,6 +35,7 @@ class InvenTreeInternalBarcodePlugin(BarcodeMixin, InvenTreePlugin): """Returns a list of database models which support barcode functionality""" return [ + build.models.Build, company.models.SupplierPart, order.models.PurchaseOrder, order.models.ReturnOrder, From 3294b37ef0119890e58acb30fb8643ec4f1c311a Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Wed, 5 Apr 2023 00:46:36 +0200 Subject: [PATCH 121/140] Reduce duplication with filters (#4583) * Reduce duplication with filters * fix typo * fix naming --- InvenTree/InvenTree/api.py | 11 ++----- InvenTree/InvenTree/filters.py | 25 +++++++++++++-- InvenTree/build/api.py | 8 ++--- InvenTree/common/api.py | 22 +++---------- InvenTree/company/api.py | 39 +++++------------------ InvenTree/order/api.py | 46 ++++++--------------------- InvenTree/part/api.py | 57 ++++++++-------------------------- InvenTree/plugin/api.py | 10 ++---- InvenTree/stock/api.py | 41 ++++++------------------ 9 files changed, 74 insertions(+), 185 deletions(-) diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index 798397bd95..81c2ac7f66 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -5,15 +5,14 @@ from django.db import transaction from django.http import JsonResponse from django.utils.translation import gettext_lazy as _ -from django_filters.rest_framework import DjangoFilterBackend from django_q.models import OrmQ -from rest_framework import filters, permissions +from rest_framework import permissions from rest_framework.response import Response from rest_framework.serializers import ValidationError from rest_framework.views import APIView import users.models -from InvenTree.filters import InvenTreeSearchFilter +from InvenTree.filters import SEARCH_ORDER_FILTER from InvenTree.mixins import ListCreateAPI from InvenTree.permissions import RolePermission from part.templatetags.inventree_extras import plugins_info @@ -202,11 +201,7 @@ class AttachmentMixin: RolePermission, ] - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER def perform_create(self, serializer): """Save the user information when a file is uploaded.""" diff --git a/InvenTree/InvenTree/filters.py b/InvenTree/InvenTree/filters.py index bdd1f3a81b..658de57d87 100644 --- a/InvenTree/InvenTree/filters.py +++ b/InvenTree/InvenTree/filters.py @@ -1,11 +1,12 @@ """General filters for InvenTree.""" -from rest_framework.filters import OrderingFilter, SearchFilter +from django_filters import rest_framework as rest_filters +from rest_framework import filters from InvenTree.helpers import str2bool -class InvenTreeSearchFilter(SearchFilter): +class InvenTreeSearchFilter(filters.SearchFilter): """Custom search filter which allows adjusting of search terms dynamically""" def get_search_fields(self, view, request): @@ -59,7 +60,7 @@ class InvenTreeSearchFilter(SearchFilter): return terms -class InvenTreeOrderingFilter(OrderingFilter): +class InvenTreeOrderingFilter(filters.OrderingFilter): """Custom OrderingFilter class which allows aliased filtering of related fields. To use, simply specify this filter in the "filter_backends" section. @@ -130,3 +131,21 @@ class InvenTreeOrderingFilter(OrderingFilter): ordering.append(a) return ordering + + +SEARCH_ORDER_FILTER = [ + rest_filters.DjangoFilterBackend, + InvenTreeSearchFilter, + filters.OrderingFilter, +] + +SEARCH_ORDER_FILTER_ALIAS = [ + rest_filters.DjangoFilterBackend, + InvenTreeSearchFilter, + InvenTreeOrderingFilter, +] + +ORDER_FILTER = [ + rest_filters.DjangoFilterBackend, + filters.OrderingFilter, +] diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 05fb8c7b84..a76b51fd15 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -11,7 +11,6 @@ from django_filters import rest_framework as rest_filters from InvenTree.api import AttachmentMixin, APIDownloadMixin, ListCreateDestroyAPIView, MetadataView, StatusView from InvenTree.helpers import str2bool, isNull, DownloadFile -from InvenTree.filters import InvenTreeOrderingFilter, InvenTreeSearchFilter from InvenTree.status_codes import BuildStatus from InvenTree.mixins import CreateAPI, RetrieveUpdateDestroyAPI, ListCreateAPI @@ -20,6 +19,7 @@ import build.serializers from build.models import Build, BuildItem, BuildOrderAttachment import part.models from users.models import Owner +from InvenTree.filters import SEARCH_ORDER_FILTER_ALIAS class BuildFilter(rest_filters.FilterSet): @@ -99,11 +99,7 @@ class BuildList(APIDownloadMixin, ListCreateAPI): serializer_class = build.serializers.BuildSerializer filterset_class = BuildFilter - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - InvenTreeOrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER_ALIAS ordering_fields = [ 'reference', diff --git a/InvenTree/common/api.py b/InvenTree/common/api.py index 043b8aab14..80e509173f 100644 --- a/InvenTree/common/api.py +++ b/InvenTree/common/api.py @@ -7,10 +7,9 @@ from django.urls import include, path, re_path from django.utils.decorators import method_decorator from django.views.decorators.csrf import csrf_exempt -from django_filters.rest_framework import DjangoFilterBackend from django_q.tasks import async_task from djmoney.contrib.exchange.models import ExchangeBackend, Rate -from rest_framework import filters, permissions, serializers +from rest_framework import permissions, serializers from rest_framework.exceptions import NotAcceptable, NotFound from rest_framework.permissions import IsAdminUser from rest_framework.response import Response @@ -20,7 +19,7 @@ import common.models import common.serializers from InvenTree.api import BulkDeleteMixin from InvenTree.config import CONFIG_LOOKUPS -from InvenTree.filters import InvenTreeSearchFilter +from InvenTree.filters import ORDER_FILTER, SEARCH_ORDER_FILTER from InvenTree.helpers import inheritors from InvenTree.mixins import (ListAPI, RetrieveAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) @@ -168,11 +167,7 @@ class SettingsList(ListAPI): This is inheritted by all list views for settings. """ - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER ordering_fields = [ 'pk', @@ -340,11 +335,7 @@ class NotificationList(NotificationMessageMixin, BulkDeleteMixin, ListAPI): permission_classes = [permissions.IsAuthenticated, ] - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER ordering_fields = [ 'category', @@ -409,10 +400,7 @@ class NewsFeedMixin: class NewsFeedEntryList(NewsFeedMixin, BulkDeleteMixin, ListAPI): """List view for all news items.""" - filter_backends = [ - DjangoFilterBackend, - filters.OrderingFilter, - ] + filter_backends = ORDER_FILTER ordering_fields = [ 'published', diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 8be1181772..a0c4e8c34d 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -5,12 +5,12 @@ from django.urls import include, path, re_path from django_filters import rest_framework as rest_filters from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters import part.models from InvenTree.api import (AttachmentMixin, ListCreateDestroyAPIView, MetadataView) -from InvenTree.filters import InvenTreeOrderingFilter, InvenTreeSearchFilter +from InvenTree.filters import (ORDER_FILTER, SEARCH_ORDER_FILTER, + SEARCH_ORDER_FILTER_ALIAS) from InvenTree.helpers import str2bool from InvenTree.mixins import ListCreateAPI, RetrieveUpdateDestroyAPI @@ -44,11 +44,7 @@ class CompanyList(ListCreateAPI): return queryset - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER filterset_fields = [ 'is_customer', @@ -114,11 +110,7 @@ class ContactList(ListCreateDestroyAPIView): queryset = Contact.objects.all() serializer_class = ContactSerializer - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER filterset_fields = [ 'company', @@ -192,11 +184,7 @@ class ManufacturerPartList(ListCreateDestroyAPIView): return self.serializer_class(*args, **kwargs) - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER search_fields = [ 'manufacturer__name', @@ -287,11 +275,7 @@ class ManufacturerPartParameterList(ListCreateDestroyAPIView): return self.serializer_class(*args, **kwargs) - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER search_fields = [ 'name', @@ -388,11 +372,7 @@ class SupplierPartList(ListCreateDestroyAPIView): serializer_class = SupplierPartSerializer - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - InvenTreeOrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER_ALIAS ordering_fields = [ 'SKU', @@ -493,10 +473,7 @@ class SupplierPriceBreakList(ListCreateAPI): return self.serializer_class(*args, **kwargs) - filter_backends = [ - DjangoFilterBackend, - filters.OrderingFilter, - ] + filter_backends = ORDER_FILTER ordering_fields = [ 'quantity', diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 79a260d378..5769101799 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -10,7 +10,7 @@ from django.utils.translation import gettext_lazy as _ from django_filters import rest_framework as rest_filters from django_ical.views import ICalFeed -from rest_framework import filters, status +from rest_framework import status from rest_framework.exceptions import ValidationError from rest_framework.response import Response @@ -21,7 +21,7 @@ from common.settings import settings from company.models import SupplierPart from InvenTree.api import (APIDownloadMixin, AttachmentMixin, ListCreateDestroyAPIView, MetadataView, StatusView) -from InvenTree.filters import InvenTreeOrderingFilter, InvenTreeSearchFilter +from InvenTree.filters import SEARCH_ORDER_FILTER, SEARCH_ORDER_FILTER_ALIAS from InvenTree.helpers import DownloadFile, str2bool from InvenTree.mixins import (CreateAPI, ListAPI, ListCreateAPI, RetrieveUpdateDestroyAPI) @@ -61,11 +61,7 @@ class GeneralExtraLineList(APIDownloadMixin): return queryset - filter_backends = [ - rest_filters.DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter - ] + filter_backends = SEARCH_ORDER_FILTER ordering_fields = [ 'title', @@ -307,11 +303,7 @@ class PurchaseOrderList(PurchaseOrderMixin, APIDownloadMixin, ListCreateAPI): return queryset - filter_backends = [ - rest_filters.DjangoFilterBackend, - InvenTreeSearchFilter, - InvenTreeOrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER_ALIAS ordering_field_aliases = { 'reference': ['reference_int', 'reference'], @@ -508,11 +500,7 @@ class PurchaseOrderLineItemList(PurchaseOrderLineItemMixin, APIDownloadMixin, Li return DownloadFile(filedata, filename) - filter_backends = [ - rest_filters.DjangoFilterBackend, - InvenTreeSearchFilter, - InvenTreeOrderingFilter - ] + filter_backends = SEARCH_ORDER_FILTER_ALIAS ordering_field_aliases = { 'MPN': 'part__manufacturer_part__MPN', @@ -693,11 +681,7 @@ class SalesOrderList(SalesOrderMixin, APIDownloadMixin, ListCreateAPI): return queryset - filter_backends = [ - rest_filters.DjangoFilterBackend, - InvenTreeSearchFilter, - InvenTreeOrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER_ALIAS ordering_field_aliases = { 'reference': ['reference_int', 'reference'], @@ -817,11 +801,7 @@ class SalesOrderLineItemList(SalesOrderLineItemMixin, APIDownloadMixin, ListCrea return DownloadFile(filedata, filename) - filter_backends = [ - rest_filters.DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter - ] + filter_backends = SEARCH_ORDER_FILTER ordering_fields = [ 'part__name', @@ -1154,11 +1134,7 @@ class ReturnOrderList(ReturnOrderMixin, APIDownloadMixin, ListCreateAPI): return DownloadFile(filedata, filename) - filter_backends = [ - rest_filters.DjangoFilterBackend, - InvenTreeSearchFilter, - InvenTreeOrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER_ALIAS ordering_field_aliases = { 'reference': ['reference_int', 'reference'], @@ -1302,11 +1278,7 @@ class ReturnOrderLineItemList(ReturnOrderLineItemMixin, APIDownloadMixin, ListCr raise NotImplementedError("download_queryset not yet implemented for this endpoint") - filter_backends = [ - rest_filters.DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER ordering_fields = [ 'reference', diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 0d20eb8e9f..7144108b3c 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -9,7 +9,7 @@ from django.utils.translation import gettext_lazy as _ from django_filters import rest_framework as rest_filters from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, permissions, serializers, status +from rest_framework import permissions, serializers, status from rest_framework.exceptions import ValidationError from rest_framework.response import Response @@ -17,7 +17,9 @@ import order.models from build.models import Build, BuildItem from InvenTree.api import (APIDownloadMixin, AttachmentMixin, ListCreateDestroyAPIView, MetadataView) -from InvenTree.filters import InvenTreeOrderingFilter, InvenTreeSearchFilter +from InvenTree.filters import (ORDER_FILTER, SEARCH_ORDER_FILTER, + SEARCH_ORDER_FILTER_ALIAS, + InvenTreeSearchFilter) from InvenTree.helpers import (DownloadFile, increment_serial_number, isNull, str2bool, str2int) from InvenTree.mixins import (CreateAPI, CustomRetrieveUpdateDestroyAPI, @@ -152,11 +154,7 @@ class CategoryList(CategoryMixin, APIDownloadMixin, ListCreateAPI): return queryset - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER filterset_fields = [ 'name', @@ -220,10 +218,7 @@ class CategoryTree(ListAPI): queryset = PartCategory.objects.all() serializer_class = part_serializers.CategoryTree - filter_backends = [ - DjangoFilterBackend, - filters.OrderingFilter, - ] + filter_backends = ORDER_FILTER # Order by tree level (top levels first) and then name ordering = ['level', 'name'] @@ -384,11 +379,7 @@ class PartTestTemplateList(ListCreateAPI): return queryset - filter_backends = [ - DjangoFilterBackend, - filters.OrderingFilter, - InvenTreeSearchFilter, - ] + filter_backends = SEARCH_ORDER_FILTER class PartThumbs(ListAPI): @@ -1224,11 +1215,7 @@ class PartList(PartMixin, APIDownloadMixin, ListCreateAPI): return queryset - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - InvenTreeOrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER_ALIAS ordering_fields = [ 'name', @@ -1337,11 +1324,7 @@ class PartParameterTemplateList(ListCreateAPI): queryset = PartParameterTemplate.objects.all() serializer_class = part_serializers.PartParameterTemplateSerializer - filter_backends = [ - DjangoFilterBackend, - filters.OrderingFilter, - InvenTreeSearchFilter, - ] + filter_backends = SEARCH_ORDER_FILTER filterset_fields = [ 'name', @@ -1462,10 +1445,7 @@ class PartStocktakeList(ListCreateAPI): return context - filter_backends = [ - DjangoFilterBackend, - filters.OrderingFilter, - ] + filter_backends = ORDER_FILTER ordering_fields = [ 'part', @@ -1496,10 +1476,7 @@ class PartStocktakeReportList(ListAPI): queryset = PartStocktakeReport.objects.all() serializer_class = part_serializers.PartStocktakeReportSerializer - filter_backends = [ - DjangoFilterBackend, - filters.OrderingFilter, - ] + filter_backends = ORDER_FILTER ordering_fields = [ 'date', @@ -1731,11 +1708,7 @@ class BomList(BomMixin, ListCreateDestroyAPIView): return queryset - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - InvenTreeOrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER_ALIAS search_fields = [ 'reference', @@ -1836,11 +1809,7 @@ class BomItemSubstituteList(ListCreateAPI): serializer_class = part_serializers.BomItemSubstituteSerializer queryset = BomItemSubstitute.objects.all() - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER filterset_fields = [ 'part', diff --git a/InvenTree/plugin/api.py b/InvenTree/plugin/api.py index cab07a5e9c..7491b13587 100644 --- a/InvenTree/plugin/api.py +++ b/InvenTree/plugin/api.py @@ -3,13 +3,13 @@ from django.urls import include, path, re_path from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, permissions, status +from rest_framework import permissions, status from rest_framework.exceptions import NotFound from rest_framework.response import Response import plugin.serializers as PluginSerializers from common.api import GlobalSettingsPermissions -from InvenTree.filters import InvenTreeSearchFilter +from InvenTree.filters import SEARCH_ORDER_FILTER from InvenTree.mixins import (CreateAPI, ListAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI, UpdateAPI) from InvenTree.permissions import IsSuperuser @@ -57,11 +57,7 @@ class PluginList(ListAPI): return queryset - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER filterset_fields = [ 'active', diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index aa5dd98bf4..f9b784a46c 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -11,8 +11,7 @@ from django.urls import include, path, re_path from django.utils.translation import gettext_lazy as _ from django_filters import rest_framework as rest_filters -from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, status +from rest_framework import status from rest_framework.response import Response from rest_framework.serializers import ValidationError @@ -24,7 +23,8 @@ from company.models import Company, SupplierPart from company.serializers import CompanySerializer, SupplierPartSerializer from InvenTree.api import (APIDownloadMixin, AttachmentMixin, ListCreateDestroyAPIView, MetadataView, StatusView) -from InvenTree.filters import InvenTreeOrderingFilter, InvenTreeSearchFilter +from InvenTree.filters import (ORDER_FILTER, SEARCH_ORDER_FILTER, + SEARCH_ORDER_FILTER_ALIAS) from InvenTree.helpers import (DownloadFile, extract_serial_numbers, isNull, str2bool, str2int) from InvenTree.mixins import (CreateAPI, CustomRetrieveUpdateDestroyAPI, @@ -294,11 +294,7 @@ class StockLocationList(APIDownloadMixin, ListCreateAPI): return queryset - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER filterset_fields = [ 'name', @@ -333,10 +329,7 @@ class StockLocationTree(ListAPI): queryset = StockLocation.objects.all() serializer_class = StockSerializers.LocationTreeSerializer - filter_backends = [ - DjangoFilterBackend, - filters.OrderingFilter, - ] + filter_backends = ORDER_FILTER # Order by tree level (top levels first) and then name ordering = ['level', 'name'] @@ -1007,11 +1000,7 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): return queryset - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - InvenTreeOrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER_ALIAS ordering_field_aliases = { 'SKU': 'supplier_part__SKU', @@ -1054,11 +1043,7 @@ class StockAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): queryset = StockItemAttachment.objects.all() serializer_class = StockSerializers.StockItemAttachmentSerializer - filter_backends = [ - DjangoFilterBackend, - filters.OrderingFilter, - InvenTreeSearchFilter, - ] + filter_backends = SEARCH_ORDER_FILTER filterset_fields = [ 'stock_item', @@ -1085,11 +1070,7 @@ class StockItemTestResultList(ListCreateDestroyAPIView): queryset = StockItemTestResult.objects.all() serializer_class = StockSerializers.StockItemTestResultSerializer - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER filterset_fields = [ 'test', @@ -1310,11 +1291,7 @@ class StockTrackingList(ListAPI): headers = self.get_success_headers(serializer.data) return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) - filter_backends = [ - DjangoFilterBackend, - InvenTreeSearchFilter, - filters.OrderingFilter, - ] + filter_backends = SEARCH_ORDER_FILTER filterset_fields = [ 'item', From ab7b03ac59d817f5a3d11a0b85701dc84aa85809 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Wed, 5 Apr 2023 14:01:05 +0200 Subject: [PATCH 122/140] Add GHCR.io as publishing target (#4561) * update deps * Add GHCR.io as publishing target Fixes #4560 * add permissions * Revert "update deps" This reverts commit cb2f612bb35437dc5023268f640c107de67aa82c. --- .github/workflows/docker.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 199bf4d939..15e29d0612 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -34,6 +34,8 @@ jobs: cancel-in-progress: true runs-on: ubuntu-latest permissions: + contents: read + packages: write id-token: write env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -95,6 +97,15 @@ jobs: with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Log into registry ghcr.io + if: github.event_name != 'pull_request' + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a # pin@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract Docker metadata if: github.event_name != 'pull_request' id: meta @@ -102,6 +113,8 @@ jobs: with: images: | inventree/inventree + ghcr.io/inventree/inventree + - name: Build and Push id: build-and-push if: github.event_name != 'pull_request' @@ -115,6 +128,7 @@ jobs: build-args: | commit_hash=${{ env.git_commit_hash }} commit_date=${{ env.git_commit_date }} + - name: Sign the published image if: ${{ false }} # github.event_name != 'pull_request' env: From 0b6e2ee592b885183ee6bf5f70b94a904b0caae3 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 5 Apr 2023 22:43:23 +1000 Subject: [PATCH 123/140] Improvements for model metadata introspection (#4585) - Will improve API permissions checks - Will improve API metadata checks - Fixes missing model information on metadata options endpoints Ref: https://github.com/inventree/InvenTree/pull/4579 --- InvenTree/InvenTree/api.py | 4 ++++ InvenTree/InvenTree/metadata.py | 3 ++- InvenTree/InvenTree/permissions.py | 17 ++++++++++++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index 81c2ac7f66..19786f59dc 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -361,6 +361,10 @@ class MetadataView(RetrieveUpdateAPI): return model + def get_permission_model(self): + """Return the 'permission' model associated with this view""" + return self.get_model_type() + def get_queryset(self): """Return the queryset for this endpoint""" return self.get_model_type().objects.all() diff --git a/InvenTree/InvenTree/metadata.py b/InvenTree/InvenTree/metadata.py index 77398fdf7a..7f3d7bd312 100644 --- a/InvenTree/InvenTree/metadata.py +++ b/InvenTree/InvenTree/metadata.py @@ -7,6 +7,7 @@ from rest_framework.fields import empty from rest_framework.metadata import SimpleMetadata from rest_framework.utils import model_meta +import InvenTree.permissions import users.models from InvenTree.helpers import str2bool @@ -58,7 +59,7 @@ class InvenTreeMetadata(SimpleMetadata): try: # Extract the model name associated with the view - self.model = view.serializer_class.Meta.model + self.model = InvenTree.permissions.get_model_for_view(view) # Construct the 'table name' from the model app_label = self.model._meta.app_label diff --git a/InvenTree/InvenTree/permissions.py b/InvenTree/InvenTree/permissions.py index 4eb087420d..596e924c9e 100644 --- a/InvenTree/InvenTree/permissions.py +++ b/InvenTree/InvenTree/permissions.py @@ -7,6 +7,21 @@ from rest_framework import permissions import users.models +def get_model_for_view(view, raise_error=True): + """Attempt to introspect the 'model' type for an API view""" + + if hasattr(view, 'get_permission_model'): + return view.get_permission_model() + + if hasattr(view, 'serializer_class'): + return view.serializer_class.Meta.model + + if hasattr(view, 'get_serializer_class'): + return view.get_serializr_class().Meta.model + + raise AttributeError(f"Serializer class not specified for {view.__class__}") + + class RolePermission(permissions.BasePermission): """Role mixin for API endpoints, allowing us to specify the user "role" which is required for certain operations. @@ -55,7 +70,7 @@ class RolePermission(permissions.BasePermission): try: # Extract the model name associated with this request - model = view.serializer_class.Meta.model + model = get_model_for_view(view) app_label = model._meta.app_label model_name = model._meta.model_name From 46cd109359acc743563c9d7efd210ab8f61c47c7 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 11 Apr 2023 00:26:25 +1000 Subject: [PATCH 124/140] Ignore validation errors when uploading to sentry.io (#4594) * Ignore validation errors when uploading to sentry.io * Don't actually return, silly! --- InvenTree/InvenTree/exceptions.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/exceptions.py b/InvenTree/InvenTree/exceptions.py index a7bcf9d39c..09fc4de192 100644 --- a/InvenTree/InvenTree/exceptions.py +++ b/InvenTree/InvenTree/exceptions.py @@ -64,7 +64,15 @@ def exception_handler(exc, context): if settings.SENTRY_ENABLED and settings.SENTRY_DSN and not settings.DEBUG: # Report this exception to sentry.io from sentry_sdk import capture_exception - capture_exception(exc) + + # The following types of errors are ignored, they are "expected" + do_not_report = [ + DjangoValidationError, + DRFValidationError, + ] + + if not any([isinstance(exc, err) for err in do_not_report]): + capture_exception(exc) # Catch any django validation error, and re-throw a DRF validation error if isinstance(exc, DjangoValidationError): From f70bde02d2378280e7785002d9ebb4cfd23c0a7b Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 11 Apr 2023 14:06:02 +1000 Subject: [PATCH 125/140] Fix for scanning invalid barcode (#4597) - Cast PK to integer first, so we get a value error thrown - Prevents other errors (such as TypeError) from throwing --- InvenTree/plugin/builtin/barcodes/inventree_barcode.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/InvenTree/plugin/builtin/barcodes/inventree_barcode.py b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py index 330c2e8fca..5d1d016139 100644 --- a/InvenTree/plugin/builtin/barcodes/inventree_barcode.py +++ b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py @@ -100,7 +100,8 @@ class InvenTreeInternalBarcodePlugin(BarcodeMixin, InvenTreePlugin): if label in barcode_dict: try: - instance = model.objects.get(pk=barcode_dict[label]) + pk = int(barcode_dict[label]) + instance = model.objects.get(pk=pk) return self.format_matched_response(label, model, instance) except (ValueError, model.DoesNotExist): pass From 27892f76527d491630712a2dcf6d09d7a4b55f11 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 11 Apr 2023 14:09:13 +1000 Subject: [PATCH 126/140] Update data migration file (#4596) * Update data migration file - Do not call "save()" on the ORM model as it has some other hooks - Manually calculate checksum to determine which line items are "valid" - Update BomItem checksum calculation * Update BomItem hashing function - Ensure it remains the same after saving - Must use normalize(quantity) otherwise weird issues --- .../migrations/0102_auto_20230314_0112.py | 79 ++++++++++++++++++- InvenTree/part/models.py | 46 +++++------ InvenTree/part/test_migrations.py | 36 +++++++++ 3 files changed, 135 insertions(+), 26 deletions(-) diff --git a/InvenTree/part/migrations/0102_auto_20230314_0112.py b/InvenTree/part/migrations/0102_auto_20230314_0112.py index 066f782306..f0fb735193 100644 --- a/InvenTree/part/migrations/0102_auto_20230314_0112.py +++ b/InvenTree/part/migrations/0102_auto_20230314_0112.py @@ -1,21 +1,94 @@ # Generated by Django 3.2.18 on 2023-03-14 01:12 +import hashlib import logging from django.db import migrations +from jinja2 import Template + +from InvenTree.helpers import normalize logger = logging.getLogger('inventree') def update_bom_item(apps, schema_editor): - """Update all existing BomItem instances""" + """Update all existing BomItem instances, and cache the 'validated' field. - from part.models import BomItem + The 'validated' field denotes whether this individual BomItem has been validated, + which previously was calculated on the fly (which was very expensive). + """ - if n := BomItem.objects.count(): + BomItem = apps.get_model('part', 'bomitem') + InvenTreeSetting = apps.get_model('common', 'inventreesetting') + + n = BomItem.objects.count() + + if n > 0: for item in BomItem.objects.all(): + """For each item, we need to re-calculate the "checksum", based on the *old* routine. + Note that as we cannot access the ORM models, we have to do this "by hand" + """ + + # Construct the 'full_name' for the sub_part (this is no longer required, but *was* required at point of migration) + try: + setting = InvenTreeSetting.objects.get(key='PART_NAME_FORMAT') + full_name_pattern = str(setting.value) + except Exception: + full_name_pattern = "{{ part.IPN if part.IPN }}{{ ' | ' if part.IPN }}{{ part.name }}{{ ' | ' if part.revision }}{{ part.revision if part.revision }}" + + template = Template(full_name_pattern) + + full_name = template.render({'part': item.sub_part}) + + # Calculate the OLD checksum manually for this BomItem + old_hash = hashlib.md5(str(item.pk).encode()) + old_hash.update(str(item.sub_part.pk).encode()) + old_hash.update(str(full_name).encode()) + old_hash.update(str(item.quantity).encode()) + old_hash.update(str(item.note).encode()) + old_hash.update(str(item.reference).encode()) + old_hash.update(str(item.optional).encode()) + old_hash.update(str(item.inherited).encode()) + + if item.consumable: + old_hash.update(str(item.consumable).encode()) + + if item.allow_variants: + old_hash.update(str(item.allow_variants).encode()) + + checksum = str(old_hash.digest()) + + # Now, update the 'validated' field based on whether the checksum is 'valid' or not + item.validated = item.checksum == checksum + + """Next, we need to update the item with a "new" hash, with the following differences: + - Uses the PK of the 'part', not the BomItem itself, + - Does not use the 'full_name' of the linked 'sub_part' + - Does not use the 'note' field + """ + + if item.validated: + + new_hash = hashlib.md5(''.encode()) + + components = [ + item.part.pk, + item.sub_part.pk, + normalize(item.quantity), + item.reference, + item.optional, + item.inherited, + item.consumable, + item.allow_variants + ] + + for component in components: + new_hash.update(str(component).encode()) + + item.checksum = str(new_hash.digest()) + item.save() logger.info(f"Updated 'validated' flag for {n} BomItem objects") diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index caaf46aa16..a5955bb967 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -3631,32 +3631,32 @@ class BomItem(DataImportMixin, MetadataMixin, models.Model): """Calculate the checksum hash of this BOM line item. The hash is calculated from the following fields: - - Part.full_name (if the part name changes, the BOM checksum is invalidated) - - Quantity - - Reference field - - Note field - - Optional field - - Inherited field + - part.pk + - sub_part.pk + - quantity + - reference + - optional + - inherited + - consumable + - allow_variants """ # Seed the hash with the ID of this BOM item - result_hash = hashlib.md5(str(self.id).encode()) + result_hash = hashlib.md5(''.encode()) - # Update the hash based on line information - result_hash.update(str(self.sub_part.id).encode()) - result_hash.update(str(self.sub_part.full_name).encode()) - result_hash.update(str(self.quantity).encode()) - result_hash.update(str(self.note).encode()) - result_hash.update(str(self.reference).encode()) - result_hash.update(str(self.optional).encode()) - result_hash.update(str(self.inherited).encode()) + # The following components are used to calculate the checksum + components = [ + self.part.pk, + self.sub_part.pk, + normalize(self.quantity), + self.reference, + self.optional, + self.inherited, + self.consumable, + self.allow_variants + ] - # Optionally encoded for backwards compatibility - if self.consumable: - result_hash.update(str(self.consumable).encode()) - - # Optionally encoded for backwards compatibility - if self.allow_variants: - result_hash.update(str(self.allow_variants).encode()) + for component in components: + result_hash.update(str(component).encode()) return str(result_hash.digest()) @@ -3667,7 +3667,7 @@ class BomItem(DataImportMixin, MetadataMixin, models.Model): valid: If true, validate the hash, otherwise invalidate it (default = True) """ if valid: - self.checksum = str(self.get_item_hash()) + self.checksum = self.get_item_hash() else: self.checksum = '' diff --git a/InvenTree/part/test_migrations.py b/InvenTree/part/test_migrations.py index f3562af872..afa2078bf1 100644 --- a/InvenTree/part/test_migrations.py +++ b/InvenTree/part/test_migrations.py @@ -46,3 +46,39 @@ class TestForwardMigrations(MigratorTestCase): for name in ['A', 'C', 'E']: part = Part.objects.get(name=name) self.assertEqual(part.description, f"My part {name}") + + +class TestBomItemMigrations(MigratorTestCase): + """Tests for BomItem migrations""" + + migrate_from = ('part', '0002_auto_20190520_2204') + migrate_to = ('part', helpers.getNewestMigrationFile('part')) + + def prepare(self): + """Create intial dataset""" + + Part = self.old_state.apps.get_model('part', 'part') + BomItem = self.old_state.apps.get_model('part', 'bomitem') + + a = Part.objects.create(name='Part A', description='My part A') + b = Part.objects.create(name='Part B', description='My part B') + c = Part.objects.create(name='Part C', description='My part C') + + BomItem.objects.create(part=a, sub_part=b, quantity=1) + BomItem.objects.create(part=a, sub_part=c, quantity=1) + + self.assertEqual(BomItem.objects.count(), 2) + + # Initially we don't have the 'validated' field + with self.assertRaises(AttributeError): + print(b.validated) + + def test_validated_field(self): + """Test that the 'validated' field is added to the BomItem objects""" + + BomItem = self.new_state.apps.get_model('part', 'bomitem') + + self.assertEqual(BomItem.objects.count(), 2) + + for bom_item in BomItem.objects.all(): + self.assertFalse(bom_item.validated) From 9a61f7c69ddcb79061d5557dbf0ace3f1d8e928c Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 11 Apr 2023 15:23:36 +1000 Subject: [PATCH 127/140] Docker: Add pinwheels.org repo for armv7 architecture (#4598) * Docker: Add pinwheels.org repo for armv7 architecture * Updated comment in dockerfile --- Dockerfile | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index ec1e2db8fa..b07a769b86 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,8 +9,7 @@ # - Runs InvenTree web server under django development server # - Monitors source files for any changes, and live-reloads server - -FROM python:3.9-slim as base +FROM python:3.9-slim as inventree_base # Build arguments for this image ARG commit_hash="" @@ -57,7 +56,7 @@ RUN apt-get update # Install required system packages RUN apt-get install -y --no-install-recommends \ - git gcc g++ gettext gnupg libffi-dev libssl-dev cargo \ + git gcc g++ gettext gnupg libffi-dev libssl-dev \ # Weasyprint requirements : https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#debian-11 poppler-utils libpango-1.0-0 libpangoft2-1.0-0 \ # Image format support @@ -73,6 +72,14 @@ RUN apt-get install -y --no-install-recommends \ # Update pip RUN pip install --upgrade pip +# For ARMv7 architecture, add the pinwheels repo (for cryptography library) +# Otherwise, we have to build from source, which is difficult +# Ref: https://github.com/inventree/InvenTree/pull/4598 +RUN \ + if [ `dpkg --print-architecture` = "armhf" ]; then \ + printf "[global]\nextra-index-url=https://www.piwheels.org/simple\n" > /etc/pip.conf ; \ + fi + # Install required base-level python packages COPY ./docker/requirements.txt base_requirements.txt RUN pip install --disable-pip-version-check -U -r base_requirements.txt @@ -82,7 +89,7 @@ RUN pip install --disable-pip-version-check -U -r base_requirements.txt # - Installs required python packages from requirements.txt # - Starts a gunicorn webserver -FROM base as production +FROM inventree_base as production ENV INVENTREE_DEBUG=False @@ -118,7 +125,7 @@ ENTRYPOINT ["/bin/bash", "./init.sh"] # TODO: e.g. -b ${INVENTREE_WEB_ADDR}:${INVENTREE_WEB_PORT} fails here CMD gunicorn -c ./gunicorn.conf.py InvenTree.wsgi -b 0.0.0.0:8000 --chdir ./InvenTree -FROM base as dev +FROM inventree_base as dev # The development image requires the source code to be mounted to /home/inventree/ # So from here, we don't actually "do" anything, apart from some file management From 244ad5a08a409900572d2abc87074b1179c755c8 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 11 Apr 2023 15:47:09 +1000 Subject: [PATCH 128/140] New Crowdin updates (#4557) * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/cs/LC_MESSAGES/django.po | 2129 ++++++++++---------- InvenTree/locale/da/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/de/LC_MESSAGES/django.po | 2115 ++++++++++---------- InvenTree/locale/el/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/es/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/fa/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/fr/LC_MESSAGES/django.po | 2113 ++++++++++---------- InvenTree/locale/he/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/hu/LC_MESSAGES/django.po | 2115 ++++++++++---------- InvenTree/locale/id/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/it/LC_MESSAGES/django.po | 2115 ++++++++++---------- InvenTree/locale/ja/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/ko/LC_MESSAGES/django.po | 2115 ++++++++++---------- InvenTree/locale/nl/LC_MESSAGES/django.po | 2159 +++++++++++---------- InvenTree/locale/no/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/pl/LC_MESSAGES/django.po | 2113 ++++++++++---------- InvenTree/locale/pt/LC_MESSAGES/django.po | 2119 ++++++++++---------- InvenTree/locale/ru/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/sl/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/sv/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/th/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/tr/LC_MESSAGES/django.po | 2109 ++++++++++---------- InvenTree/locale/vi/LC_MESSAGES/django.po | 2103 ++++++++++---------- InvenTree/locale/zh/LC_MESSAGES/django.po | 2113 ++++++++++---------- 24 files changed, 26395 insertions(+), 24259 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index aa7926041c..290d1243cb 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" -msgstr "" +msgstr "Uživatel nemá právo zobrazit tento model" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" @@ -33,25 +33,25 @@ msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Poznámky" @@ -135,9 +135,9 @@ msgstr "Vzdálený server vrátil prázdnou odpověď" #: InvenTree/helpers.py:210 msgid "Supplied URL is not a valid image file" -msgstr "" +msgstr "Zadaná URL adresa není platný soubor obrázku" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" @@ -147,7 +147,7 @@ msgstr "Nevyplněné výrobní číslo" #: InvenTree/helpers.py:640 msgid "Duplicate serial" -msgstr "" +msgstr "Duplicitní výrobní číslo" #: InvenTree/helpers.py:673 InvenTree/helpers.py:708 #, python-brace-format @@ -175,7 +175,7 @@ msgstr "" #: InvenTree/helpers.py:960 msgid "Remove HTML tags from this value" -msgstr "" +msgstr "Odstranit HTML tagy z této hodnoty" #: InvenTree/models.py:243 msgid "Improperly formatted pattern" @@ -209,7 +209,7 @@ msgstr "Chybějící soubor" msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Odkaz" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -245,9 +249,9 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Název" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Název" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -356,31 +360,31 @@ msgstr "Cesta" #: InvenTree/models.py:696 msgid "Barcode Data" -msgstr "" +msgstr "Data čárového kódu" #: InvenTree/models.py:697 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" -msgstr "" +msgstr "Hash čárového kódu" #: InvenTree/models.py:703 msgid "Unique hash of barcode data" -msgstr "" +msgstr "Jedinečný hash dat čárového kódu" #: InvenTree/models.py:748 msgid "Existing barcode found" -msgstr "" +msgstr "Nalezen existující čárový kód" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Chyba serveru" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." -msgstr "" +msgstr "Server zaznamenal chybu." #: InvenTree/serializers.py:59 part/models.py:3701 msgid "Must be a valid number" @@ -453,113 +457,113 @@ msgstr "URL" #: InvenTree/serializers.py:684 msgid "URL of remote image file" -msgstr "" +msgstr "URL souboru vzdáleného obrázku" #: InvenTree/serializers.py:698 msgid "Downloading images from remote URL is not enabled" -msgstr "" +msgstr "Stahování obrázků ze vzdálené URL není povoleno" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Čeština" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Dánština" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Němčina" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Řečtina" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Angličtina" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Španělština" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Španělština (Mexiko)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Farsi / Perština" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Francouzština" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Hebrejština" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Maďarština" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Italština" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japonština" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Korejština" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Nizozemština" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norština" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polština" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugalština" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portugalština (Brazilská)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Ruština" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Slovinština" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Švédština" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Thajština" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Turečtina" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamština" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Čínština" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Umístěno" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Hotovo" @@ -610,9 +614,10 @@ msgstr "Vráceno" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Odesláno" @@ -638,7 +643,7 @@ msgstr "Odmítnuto" #: InvenTree/status_codes.py:229 msgid "Quarantined" -msgstr "" +msgstr "V karanténě" #: InvenTree/status_codes.py:307 msgid "Legacy stock tracking entry" @@ -790,7 +795,7 @@ msgstr "Hesla se musí shodovat" #: InvenTree/views.py:452 msgid "Wrong password provided" -msgstr "" +msgstr "Zadáno špatné heslo" #: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" @@ -800,7 +805,7 @@ msgstr "Informace o systému" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -820,7 +825,7 @@ msgstr "Vytvořit objednávku" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Vytvořené objednávky" @@ -832,19 +837,19 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "" @@ -852,7 +857,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" @@ -861,9 +866,9 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "" @@ -965,19 +970,19 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "" @@ -989,7 +994,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" @@ -1006,15 +1011,15 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Externí odkaz" @@ -1074,11 +1079,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1090,7 +1095,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 -msgid "Print actions" +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" msgstr "" #: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 msgid "Date Format" msgstr "Formát data" -#: common/models.py:2005 +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "Cena" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "Id" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Kontakt" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "Společnost" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "Zvolte díl" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "Vyberte výrobce" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "Popis dílu výrobce" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Výrobce dílu" @@ -3410,7 +3481,7 @@ msgstr "Název parametru" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "Hodnota parametru" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "Stáhnout obrázek z URL" msgid "Delete image" msgstr "Smazat obrázek" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "Odstranit obrázek" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "Odstranit přiřazený obrázek této společnosti" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Odstranit" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "Nahrát obrázek" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "Stáhnout obrázek" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "Dodavatel dílů" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "Odstraněné díly" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "Výrobce dílů" @@ -3708,7 +3779,7 @@ msgstr "Dodavatelský sklad" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Zakoupené objednávky" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "Pro data čárového kódu byla nalezena shoda" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "Vybrané díly" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 768f9edacb..e9022834a1 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "API endpoint ikke fundet" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Fejloplysninger kan findes i admin panelet" @@ -33,25 +33,25 @@ msgstr "Fejloplysninger kan findes i admin panelet" msgid "Enter date" msgstr "Angiv dato" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Bemærkninger" @@ -137,7 +137,7 @@ msgstr "Fjernserver returnerede tomt svar" msgid "Supplied URL is not a valid image file" msgstr "Angivet URL er ikke en gyldig billedfil" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" @@ -209,7 +209,7 @@ msgstr "Manglende fil" msgid "Missing external link" msgstr "Manglende eksternt link" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Vedhæftning" msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Link" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -245,9 +249,9 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Navn" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Navn" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Stregkode Data" msgid "Third party barcode data" msgstr "Tredjeparts stregkode data" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Stregkode Hash" @@ -374,11 +378,11 @@ msgstr "Unik hash af stregkode data" msgid "Existing barcode found" msgstr "Eksisterende stregkode fundet" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Serverfejl" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." @@ -459,107 +463,107 @@ msgstr "URL til ekstern billedfil" msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Tjekkisk" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Dansk" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Græsk" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Spansk (Mexikansk)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Hollandsk" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilien)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Slovensk" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Kinesisk" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Placeret" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Fuldført" @@ -610,9 +614,10 @@ msgstr "Returneret" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Afsendt" @@ -800,7 +805,7 @@ msgstr "Systemoplysninger" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" @@ -820,7 +825,7 @@ msgstr "Produktionsordre" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Produktionsordrer" @@ -832,19 +837,19 @@ msgstr "Ugyldigt valg for overordnet produktion" msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Reference" @@ -852,7 +857,7 @@ msgstr "Reference" msgid "Brief description of the build" msgstr "Kort beskrivelse af produktionsordre" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produktion" @@ -861,9 +866,9 @@ msgstr "Overordnet produktion" msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "Salgsordrereference" msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Kilde Lokation" @@ -965,19 +970,19 @@ msgstr "Produktions Status" msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Oprettelsesdato" @@ -989,7 +994,7 @@ msgstr "Projekteret afslutningsdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Dato for afslutning" @@ -1006,15 +1011,15 @@ msgstr "Udstedt af" msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Ekstern link" @@ -1074,11 +1079,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1090,7 +1095,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 -msgid "Print actions" +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" msgstr "" #: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 4bc0a68d32..06a4530100 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Fehlerdetails finden Sie im Admin-Panel" @@ -33,25 +33,25 @@ msgstr "Fehlerdetails finden Sie im Admin-Panel" msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Notizen" @@ -137,7 +137,7 @@ msgstr "Remote-Server gab leere Antwort zurück" msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -209,7 +209,7 @@ msgstr "Fehlende Datei" msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Link" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -245,9 +249,9 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Name" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Name" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Barcode-Daten" msgid "Third party barcode data" msgstr "Drittanbieter-Barcode-Daten" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Barcode-Hash" @@ -374,11 +378,11 @@ msgstr "Eindeutiger Hash der Barcode-Daten" msgid "Existing barcode found" msgstr "Bestehender Barcode gefunden" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Serverfehler" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." @@ -459,107 +463,107 @@ msgstr "URL der Remote-Bilddatei" msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Tschechisch" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Dänisch" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Griechisch" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Spanisch" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Spanisch (Mexikanisch)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Persisch" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Hebräisch" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Ungarisch" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Italienisch" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japanisch" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Koreanisch" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Niederländisch" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norwegisch" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugiesisch" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portugiesisch (Brasilien)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Slowenisch" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Chinesisch" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Platziert" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Fertig" @@ -610,9 +614,10 @@ msgstr "Zurückgegeben" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Versendet" @@ -800,7 +805,7 @@ msgstr "Systeminformationen" msgid "About InvenTree" msgstr "Über InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" @@ -820,7 +825,7 @@ msgstr "Bauauftrag" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Bauaufträge" @@ -832,19 +837,19 @@ msgstr "Ungültige Wahl für übergeordneten Bauauftrag" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Referenz" @@ -852,7 +857,7 @@ msgstr "Referenz" msgid "Brief description of the build" msgstr "Kurze Beschreibung des Baus" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Eltern-Bauauftrag" @@ -861,9 +866,9 @@ msgstr "Eltern-Bauauftrag" msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "Auftrag Referenz" msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Quell-Lagerort" @@ -965,19 +970,19 @@ msgstr "Bauauftrags-Status" msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Erstelldatum" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -1006,15 +1011,15 @@ msgstr "Aufgegeben von" msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Externer Link" @@ -1074,11 +1079,11 @@ msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" @@ -1090,7 +1095,7 @@ msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" msgid "Selected stock item not found in BOM" msgstr "Ausgewähltes Bestands-Objekt nicht in Stückliste für Teil '{p}' gefunden" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Bauauftrag" msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Lagerartikel" msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Quell-Lagerartikel" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Installiere in" msgid "Destination stock item" msgstr "Ziel-Lagerartikel" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:219 +#: build/serializers.py:222 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:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Lagerort" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "Zugewiesenen Bestand entfernen" -#: build/serializers.py:455 +#: build/serializers.py:458 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:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "Als von diesem Bauauftrag verbraucht setzen" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "Überbelegter Lagerbestand" -#: build/serializers.py:516 +#: build/serializers.py:519 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:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "Der Bestand einiger Lagerartikel ist überbelegt" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:532 +#: build/serializers.py:535 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:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:548 +#: build/serializers.py:551 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:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:665 +#: build/serializers.py:668 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:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:735 +#: build/serializers.py:738 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:742 +#: build/serializers.py:745 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:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:826 +#: build/serializers.py:829 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:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "Optionale Positionen" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "Bauauftrag {bo} ist jetzt überfällig" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "Barcode Aktionen" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "QR-Code anzeigen" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "Barcode abhängen" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "Barcode anhängen" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Aktionen drucken" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "Bauauftragsbericht drucken" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "Bau-Auftrag Aktionen" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Bauauftrag bearbeiten" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Bauauftrag abbrechen" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "Bauauftrag duplizieren" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "Bauauftrag löschen" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "Bauauftrag fertigstellen" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "Baubeschreibung" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "Es wurden keine Endprodukte für diesen Bauauftrag erstellt" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "Dieser Bauauftrag ist dem Auftrag %(link)s zugeordnet" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Dieser Bauauftrag ist dem Bauauftrag %(link)s untergeordnet" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "Bauauftrag ist bereit abgeschlossen zu werden" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Bauauftrag kann nicht abgeschlossen werden, da es noch ausstehende Endprodukte gibt" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Zieldatum" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "Bauauftrag war fällig am %(target)s" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "Bauauftrag war fällig am %(target)s" msgid "Overdue" msgstr "Überfällig" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Fertig" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Auftrag" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Aufgegeben von" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Priorität" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "Bauauftrag löschen" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "Bau-Status" @@ -1597,9 +1652,8 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "Ziel-Lager" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "Zugewiesene Teile" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "Losnummer" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Erstellt" @@ -1678,7 +1733,7 @@ msgstr "Benötigte Teile bestellen" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Teile bestellen" @@ -2679,7 +2734,7 @@ msgstr "Löschintervall für Berichte" 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:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" @@ -3000,89 +3055,105 @@ 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:1983 +msgid "Regex Search" +msgstr "" + +#: common/models.py:1984 +msgid "Enable regular expressions in search queries" +msgstr "" + +#: common/models.py:1990 +msgid "Whole Word Search" +msgstr "" + +#: common/models.py:1991 +msgid "Search queries return results for whole word matches" +msgstr "" + +#: common/models.py:1997 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1984 +#: common/models.py:1998 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1990 +#: common/models.py:2004 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:1991 +#: common/models.py:2005 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:1997 +#: common/models.py:2011 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:1998 +#: common/models.py:2012 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:2004 +#: common/models.py:2018 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:2005 +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "Preis" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "Token" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "Host" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "Body" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "ID" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "Titel" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "Gelesen" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "Kontakt-Email" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Kontakt" @@ -3348,7 +3419,7 @@ msgstr "Standard-Währung für diese Firma" msgid "Company" msgstr "Firma" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "Teil auswählen" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "Hersteller auswählen" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "MPN" @@ -3400,7 +3471,7 @@ msgstr "Teilbeschreibung des Herstellers" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Herstellerteil" @@ -3410,7 +3481,7 @@ msgstr "Parametername" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "Parameterwert" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Zulieferer" @@ -3453,12 +3524,12 @@ msgstr "Zulieferer" msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" @@ -3478,7 +3549,7 @@ msgstr "Teil-URL des Zulieferers" msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "Basiskosten" msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "Teile-Verpackungen" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "Packmenge" @@ -3602,15 +3673,15 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "Bild entfernen" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "Verknüpftes Bild von dieser Firma entfernen" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Entfernen" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "Bild hochladen" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "Bild herunterladen" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "Zuliefererteile" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "Teile löschen" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "Herstellerteile" @@ -3708,7 +3779,7 @@ msgstr "Zulieferer-Bestand" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Bestellungen" @@ -3731,7 +3802,7 @@ msgstr "Neue Bestellung" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Aufträge" @@ -3757,7 +3828,7 @@ msgstr "Zugeordneter Bestand" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "Hersteller" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Teil bestellen" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Zuliefererteil" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "Barcode Aktionen" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "QR-Code anzeigen" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "Barcode abhängen" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "Barcode anhängen" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "Zulieferer-Teil Aktionen" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Teil bestellen" @@ -3953,67 +3995,60 @@ msgstr "Zuliefererteil entfernen" msgid "Delete Supplier Part" msgstr "Zuliefererteil entfernen" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "Barcode-Bezeichner" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "Keine Lieferanteninformationen verfügbar" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "Zulieferer-Bestand" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Neuen Lagerartikel hinzufügen" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Neuer Lagerartikel" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "Zulieferer-Bestellungen" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "Preisinformationen ansehen" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "Zuliefererteil QR-Code" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "Barcode mit Zuliefererteil verknüpfen" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "Teilverfügbarkeit aktualisieren" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Lagerartikel" @@ -4039,7 +4074,7 @@ msgstr "Kunden" msgid "New Customer" msgstr "Neuer Kunde" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "Firmen" @@ -4113,365 +4148,365 @@ msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "Unbekannt" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "Gesamtpreis" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "Bestellungs-Beschreibung" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:222 +#: order/models.py:223 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:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "Empfangen von" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "Versand von" -#: order/models.py:814 +#: order/models.py:826 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:818 -msgid "Only a pending order can be marked as complete" -msgstr "Nur ein ausstehender Auftrag kann als abgeschlossen markiert werden" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" +msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 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:824 +#: order/models.py:836 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:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:1051 +#: order/models.py:1069 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:1068 +#: order/models.py:1086 msgid "Context" msgstr "Kontext" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "Bestellung" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Empfangen" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1170 +#: order/models.py:1188 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:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "Versandhinweise" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1523 +#: order/models.py:1541 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:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "Position" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "Position" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "Position" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:504 -msgid "Unique identifier field" -msgstr "Einzigartiger Identifikator" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" +msgstr "Barcode" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "Überfälliger Auftrag" msgid "Sales order {so} is now overdue" msgstr "Auftrag {so} ist jetzt überfällig" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "Bestellbericht drucken" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "Exportiere Bestellung in Datei" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "Bestell-Aktionen" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "Auftrag bearbeiten" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "Bestellung stornieren" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "Bestellung duplizieren" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "Bestellung abschicken" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "Elemente empfangen" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "Teile empfangen" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Bestellung als vollständig markieren" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Auftrag fertigstellen" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Bestellreferenz" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Bestellungsbeschreibung" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "Bestellstatus" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "Keine Lieferanteninformationen verfügbar" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "Abgeschlossene Positionen" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "Unvollständig" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Aufgegeben" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "Gesamtsumme" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "Gesamtkosten konnten nicht berechnet werden" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "Auswahl duplizieren" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "Bestellungs-Positionen" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "Position hinzufügen" @@ -4920,70 +4967,86 @@ msgstr "Empfangene Teile" msgid "Order Notes" msgstr "Notizen zur Bestellung" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "Paketliste drucken" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "Kundenreferenz" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "Gesamtkosten" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "Verkaufsauftragsbericht drucken" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "Auftrag abschließen" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Abgeschlossene Sendungen" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Auftrags-Positionen" @@ -5039,20 +5102,20 @@ msgstr "Name des Teils" msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Version" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Schlüsselwörter" @@ -5072,17 +5135,17 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimaler Bestand" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "Auf Lager" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "Benutzt in" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "Zugeordnet" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "Im Bau" @@ -5131,7 +5194,7 @@ msgstr "Pfad zur Kategorie" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Teile" @@ -5162,36 +5225,36 @@ msgstr "Niedrigster Preis" msgid "Maximum Price" msgstr "Höchster Preis" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "Gültig" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Standard-Lagerort" @@ -5199,8 +5262,8 @@ msgstr "Standard-Lagerort" msgid "Total Stock" msgstr "Gesamtbestand" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "Verfügbarer Bestand" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "Teil-Kategorie" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "Teil-Kategorien" @@ -5223,7 +5286,7 @@ msgstr "Teil-Kategorien" msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "Standard Stichwörter" msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "Symbol" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "Symbol (optional)" @@ -5299,7 +5362,7 @@ msgstr "Ist dieses Teil eine Vorlage?" msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante von" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "Revisions- oder Versionsnummer" msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Standard Zulieferer" @@ -5415,8 +5478,8 @@ msgstr "Erstellungs-Nutzer" msgid "User responsible for this part" msgstr "Benutzer, der für diesen Teil verantwortlich ist" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Letzte Inventur" @@ -5573,7 +5636,7 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Datum" @@ -5826,7 +5889,7 @@ msgstr "Varianten zulassen" 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:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" @@ -6106,7 +6169,7 @@ msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Min #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "Gesamtstückzahl" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "Terminierungsdaten aktualisieren" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "Neu laden" @@ -6420,13 +6483,13 @@ msgstr "Teile-Importvorlage herunterladen" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "Format" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "Dateiformat auswählen" @@ -6511,9 +6574,8 @@ msgid "Part can be sold to customers" msgstr "Teil kann an Kunden verkauft werden" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" -msgstr "Teil ist virtuell (kein physisches Teil)" +msgid "Part is not active" +msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:930 @@ -6523,71 +6585,70 @@ msgstr "Teil ist virtuell (kein physisches Teil)" msgid "Inactive" msgstr "Inaktiv" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "Teil ist virtuell (kein physisches Teil)" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "Teildetails anzeigen" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "Dieses Teil ist eine Variante von %(link)s" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "Zu Bauaufträgen zugeordnet" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "Zur Bestellung zugeordnet" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "Herstellbar" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "Minimaler Bestand" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "Preisspanne" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "letzte Seriennummer" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "Nach Seriennummer suchen" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "Teil-QR-Code" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "Barcode mit Teil verknüpfen" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "Berechnen" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "Verknüpftes Bild von diesem Teil entfernen" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "Keine passenden Bilder gefunden" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "Teildetails ausblenden" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "Preis aktualisieren" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "Treffer für Barcode gefunden" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "Barcode entspricht einem bereits vorhandenen Artikel" @@ -6868,15 +6930,15 @@ msgstr "Kein Treffer für angegebenen Wert gefunden" msgid "Label printing failed" msgstr "Labeldruck fehlgeschlagen" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "InvenTree Barcodes" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "Bietet native Unterstützung für Barcodes" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "InvenTree Mitwirkende" @@ -7172,11 +7234,11 @@ msgstr "Lieferant gelöscht" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "Stück-Preis" @@ -7188,22 +7250,22 @@ msgstr "Zusätzliche Positionen" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 msgid "Total" msgstr "Summe" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "Seriennummer" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "Ergebnis" @@ -7290,8 +7352,8 @@ msgstr "Lieferant" msgid "Customer ID" msgstr "Kunden ID" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "verbaut in" @@ -7315,278 +7377,278 @@ msgstr "Überprüfung erforderlich" msgid "Delete on Deplete" msgstr "Löschen wenn leer" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "Bestand-Lagerorte" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "Extern" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "Dies ist ein externer Lagerort" -#: stock/models.py:170 +#: stock/models.py:171 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:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Teile-Typ ('{pf}') muss {pe} sein" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:603 +#: stock/models.py:604 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:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:631 +#: stock/models.py:632 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:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses Lagerartikel ist gelagert in" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:774 +#: stock/models.py:775 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:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Lagerartikel-Notizen" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1349 +#: stock/models.py:1373 #, 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:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1635 +#: stock/models.py:1659 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:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "Test Notizen" @@ -7843,129 +7905,133 @@ msgstr "Lagerartikel bearbeiten" msgid "Delete stock item" msgstr "Lagerartikel löschen" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Elternposition" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "Kein Hersteller ausgewählt" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern." -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "Nur Leserechte" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" +msgstr "" + +#: stock/templates/stock/item_base.html:272 msgid "This stock item is in production and cannot be edited." msgstr "Dieser Lagerartikel wird gerade hergestellt und kann nicht geändert werden." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "Ändern des Lagerartikel in der Bauauftrag-Ansicht." -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "Dieser Lagerartikel hat nicht alle Tests bestanden" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "Dieser Lagerartikel ist einem Auftrag zugewiesen" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "Dieser Lagerartikel ist einem Bauauftrag zugewiesen" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "Diesesr Lagerartikel ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" +msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "vorherige Seite" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "Zur vorherigen Seriennummer wechseln" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "nächste Seite" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "Zur nächsten Seriennummer wechseln" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "Verfügbare Menge" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Kein Lagerort gesetzt" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "Tests" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "Dieser Lagerartikel hat nicht alle Tests bestanden" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "abgelaufen" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Dieser Lagerartikel läuft am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "überfällig" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "Bestandsstatus bearbeiten" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "Lagerartikel-QR-Code" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "Barcode mit Lagerartikel verknüpfen" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "Wählen Sie eine der unten aufgeführten Teilvarianten aus." -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Warnung" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "Lagerartikel umwandeln" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "zurück ins Lager" @@ -8025,29 +8091,29 @@ msgstr "Standortbesitzer" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-Lagerort kann nicht verändert werden." -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "Neuen Lagerort anlegen" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "Lagerort an diesen Ort eingescannt" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "QR-Code für diesen Lagerort" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "Barcode mit Lagerort verknüpfen" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "Startseite" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "Markierte Anhänge löschen" msgid "Delete Attachments" msgstr "Anhänge entfernen" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "Barcode-Bezeichner" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "Server-Neustart erforderlich" @@ -9259,10 +9329,6 @@ msgstr "Barcode Daten hier mit Barcode Scanner scannen" msgid "Enter barcode data" msgstr "Barcode-Daten eingeben" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "Barcode" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "Barcode mittels angeschlossener Webcam scannen" @@ -9275,94 +9341,94 @@ msgstr "Optionale Notizen zu Bestandsübertragung eingeben" msgid "Enter notes" msgstr "Notizen eingeben" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "Server-Fehler" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "Unbekannte Antwort von Server erhalten" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Ungültige Antwort von Server" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "Barcode Daten scannen" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "Barcode scannen" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "keine URL in der Antwort" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "Dadurch wird der Link zu dem zugehörigen Barcode entfernt" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "Entfernen" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "Lagerartikel entfernen" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "Lagerartikel in Lagerort buchen" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "Barcode des Lagerartikels scannen um ihn an diesen Ort einzuchecken" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "Einbuchen" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "Kein Barcode vorhanden" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "Lagerartikel bereits gescannt" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "Lagerartikel besteht bereits in diesem Lagerort" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "Lagerartikel hinzugefügt" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "Barcode entspricht keinem Lagerartikel" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "Diesen Lagerort per Scan an einen anderen Lagerort verschieben" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "Barcode des Lagerorts scannen um ihn an diesen Ort einzuchecken" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "Barcode entspricht keinem Lagerort" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "In Lagerorten buchen" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "Barcode entspricht keinem Lagerort" @@ -9381,7 +9447,7 @@ msgstr "Zeilendaten" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Schliessen" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "Keine Preisinformation verfügbar" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "Keine erforderlichen Tests für diesen Bauauftrag" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "Anzahl pro" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "Ausreichender Bestand verfügbar" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "Bestand bauen" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "Bestand bestellen" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "Bestand zuweisen" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "Teile auswählen" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "Sie müssen mindestens ein Teil auswählen" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "Lagerartikel für Bauauftrag zuweisen" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "Keine passenden Lagerstandorte" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "Keine passenden Lagerbestände" @@ -10120,7 +10186,7 @@ msgstr "Fehler in Formular" msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "Suche" @@ -10148,7 +10214,7 @@ msgstr "JA" msgid "NO" msgstr "NEIN" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "Notiz aktualisiert" @@ -10275,40 +10341,40 @@ msgstr "Keine ungelesenen Benachrichtigungen" msgid "Notifications will load here" msgstr "Benachrichtigungen erscheinen hier" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "Bestellung exportieren" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "Position duplizieren" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "Zeile löschen" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "Keine Positionen gefunden" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "Position duplizieren" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "Zeile löschen" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "Keine Varianten gefunden" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "Diese Position ist überfällig" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "Position empfangen" @@ -10718,184 +10784,206 @@ msgstr "Bestellung bearbeiten" msgid "Duplication Options" msgstr "Duplizierungsoptionen" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "Bestellung vervollständigen" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "Diese Bestellung als vollständig markieren?" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "Alle Einträge wurden erhalten" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "Diese Bestellung enthält Positionen, die nicht als empfangen markiert wurden." -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "Fertigstellen dieser Bestellung bedeutet, dass sie und ihre Positionen nicht länger bearbeitbar sind." -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "Bestellung abbrechen" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Sind Sie sicher, dass Sie diese Bestellung abbrechen möchten?" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "Diese Bestellung kann nicht storniert werden" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "Bestellung aufgeben" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "Mindestens ein kaufbares Teil muss ausgewählt werden" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "Zu bestellende Menge" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "Neues Zuliefererteil" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "Neue Bestellung" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "Zur Bestellung hinzufügen" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "Keine passenden Lieferantenteile" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "Keine passenden Bestellungen" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "Positionen auswählen" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "Mindestens eine Position muss ausgewählt werden" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "Losnummer hinzufügen" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "Seriennummern hinzufügen" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "Gelieferte Menge" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "Status" -#: templates/js/translated/purchase_order.js:1196 +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "Losnummer hinzufügen" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" +msgstr "Seriennummern hinzufügen" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 msgid "Order Code" msgstr "Bestellnummer" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" -msgstr "Bestellt" - -#: templates/js/translated/purchase_order.js:1199 +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "Empfang der Teile bestätigen" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "Bestellpositionen erhalten" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "Bestellung überfällig" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "Positionen" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "Alle ausgewählten Positionen werden gelöscht" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "Ausgewählte Positionen löschen?" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "Position duplizieren" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "Position bearbeiten" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "Position löschen" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "Position duplizieren" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "Position bearbeiten" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "Position löschen" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "Ungültiger Kunde" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "Auftrag anlegen" msgid "Edit Sales Order" msgstr "Auftrag bearbeiten" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "Dieser Sendung wurden keine Artikel zugewiesen" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "Die folgenden Artikel werden verschickt" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "Sendung fertigstellen" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "Sendung bestätigen" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "Keine ausstehenden Sendungen gefunden" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "Keine Lagerartikel für offene Sendungen zugewiesen" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "Abgeschlossene Sendungen" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "Überspringen" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "Dieser Auftrag enthält Positionen, die noch nicht abgeschlossen sind." -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "Auftrag stornieren" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar ist." -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "Sendung anlegen" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "Sendung fertigstellen" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "Sendung löschen" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "Sendung löschen" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "Keine passenden Sendungen gefunden" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "Sendungsreferenz" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "Nicht versandt" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "Nachverfolgen" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "Rechnung" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "Sendung hinzufügen" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "Bestandszuordnung bestätigen" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "Artikel zu Kundenauftrag zuweisen" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "Keine Allokationen für Verkaufsaufträge gefunden" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "Bestandszuordnung bearbeiten" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "Löschvorgang bestätigen" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "an Kunde versand" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "Lagerstandort nicht angegeben" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "Bestand kaufen" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "Preis berechnen" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "Stückpreis aktualisieren" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "Keine Ergebnisse" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "Suchbegriff eingeben" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "Ergebnisse minimieren" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "Ergebnisse entfernen" @@ -11848,51 +11937,51 @@ msgstr "Tabellendaten exportieren" msgid "Select File Format" msgstr "Dateiformat wählen" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "Lade Daten" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "Zeilen pro Seite" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "Alle Zeilen anzeigen" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "zeige" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "bis" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "von" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "Zeilen" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "Keine passenden Ergebnisse gefunden" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "Zeige/Verstecke Pagination" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "umschalten" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "Spalten" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "Alle" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 2b8d2e7fc1..4c11616e1d 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "Το API endpoint δε βρέθηκε" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλματος στον πίνακα διαχείρισης" @@ -33,25 +33,25 @@ msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλμα msgid "Enter date" msgstr "Εισάγετε ημερομηνία" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Σημειώσεις" @@ -137,7 +137,7 @@ msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s" msgid "Supplied URL is not a valid image file" msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" @@ -209,7 +209,7 @@ msgstr "Το αρχείο λείπει" msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Συνημμένο" msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Σύνδεσμος" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -245,9 +249,9 @@ msgstr "Σχόλιο" msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Όνομα" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Όνομα" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "" @@ -374,11 +378,11 @@ msgstr "" msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Σφάλμα διακομιστή" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." @@ -459,107 +463,107 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Τσέχικα" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Γερμανικά" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Ελληνικά" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Αγγλικά" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Ισπανικά" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Ισπανικά (Μεξικό)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Φαρσί / Περσικά" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Γαλλικά" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Εβραϊκά" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Ούγγρικα" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Ιταλικά" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Ιαπωνικά" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Κορεάτικα" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Dutch" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Νορβηγικά" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Πολωνικά" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Πορτογαλικά" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Πορτογαλικά (Βραζιλίας)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Ρωσικά" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Σουηδικά" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Ταϊλανδέζικα" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Τούρκικα" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Βιετναμέζικα" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Κινέζικα" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Τοποθετήθηκε" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Ολοκληρώθηκε" @@ -610,9 +614,10 @@ msgstr "Επιστράφηκε" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Αποστάλθηκε" @@ -800,7 +805,7 @@ msgstr "Πληροφορίες συστήματος" msgid "About InvenTree" msgstr "Σχετικά με το InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" @@ -820,7 +825,7 @@ msgstr "Σειρά Κατασκευής" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Δημιουργία Παραγγελιών" @@ -832,19 +837,19 @@ msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Αναφορά" @@ -852,7 +857,7 @@ msgstr "Αναφορά" msgid "Brief description of the build" msgstr "Σύντομη περιγραφή της κατασκευής" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Γονική Κατασκευή" @@ -861,9 +866,9 @@ msgstr "Γονική Κατασκευή" msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "Κωδικός Παραγγελίας Πωλήσεων" msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" @@ -965,19 +970,19 @@ msgstr "Κατάσταση Κατασκευής" msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" @@ -989,7 +994,7 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" @@ -1006,15 +1011,15 @@ msgstr "Εκδόθηκε από" msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" @@ -1074,11 +1079,11 @@ msgstr "Το στοιχείο κατασκευής πρέπει να ορίζε msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1090,7 +1095,7 @@ msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακ msgid "Selected stock item not found in BOM" msgstr "Το επιλεγμένο αντικείμενο αποθέματος δεν βρέθηκε στο BOM" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Κατασκευή" msgid "Build to allocate parts" msgstr "Κατασκευή για εκχώρηση τμημάτων" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Στοιχείο Αποθέματος" msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Εγκατάσταση σε" msgid "Destination stock item" msgstr "Αποθήκη προορισμού" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Κατασκευή Εξόδου" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 -msgid "Print actions" +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" msgstr "" #: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 0e835734dd..55d3e90984 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "\"API Endpoint\" no encontrado" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Los detalles del error pueden encontrarse en el panel de administración" @@ -33,25 +33,25 @@ msgstr "Los detalles del error pueden encontrarse en el panel de administración msgid "Enter date" msgstr "Seleccionar una fecha" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Notas" @@ -137,7 +137,7 @@ msgstr "El servidor remoto devolvió una respuesta vacía" msgid "Supplied URL is not a valid image file" msgstr "La URL proporcionada no es un archivo de imagen válido" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -209,7 +209,7 @@ msgstr "Archivo no encontrado" msgid "Missing external link" msgstr "Falta enlace externo" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Archivo adjunto" msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Enlace" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -245,9 +249,9 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Nombre" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Nombre" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Hash del Código de barras" msgid "Third party barcode data" msgstr "Datos del código de barras de terceros" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Hash del Código de barras" @@ -374,11 +378,11 @@ msgstr "Hash único de los datos de código de barras" msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Error del servidor" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "Un error ha sido registrado por el servidor." @@ -459,107 +463,107 @@ msgstr "URL del archivo de imagen remoto" msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Checo" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Danés" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Alemán" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Griego" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Inglés" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Español" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Español (México)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Farsi / persa" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Francés" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Hebreo" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Húngaro" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japonés" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Holandés" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Noruego" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polaco" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugués" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Português (Brasil)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Ruso (Русский)" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Esloveno" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Svenska" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Tailandés" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Chino (中文)" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Colocado" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Completado" @@ -610,9 +614,10 @@ msgstr "Devuelto" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Enviado" @@ -800,7 +805,7 @@ msgstr "Información del sistema" msgid "About InvenTree" msgstr "Acerca de InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "La construcción debe cancelarse antes de que pueda ser eliminada" @@ -820,7 +825,7 @@ msgstr "Petición de Ensamblado" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Peticiones de Ensamblado" @@ -832,19 +837,19 @@ msgstr "Opción no válida para la construcción padre" msgid "Build Order Reference" msgstr "Referencia de Orden de Ensamblado" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Referencia" @@ -852,7 +857,7 @@ msgstr "Referencia" msgid "Brief description of the build" msgstr "Breve descripción del ensamblado" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Construcción o Armado Superior" @@ -861,9 +866,9 @@ msgstr "Construcción o Armado Superior" msgid "BuildOrder to which this build is allocated" msgstr "Construcción de orden a la que se asigna esta versión" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Construcción de orden a la que se asigna esta versión" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Construcción de orden a la que se asigna esta versión" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "Referencia de Pedido de Entrega" msgid "SalesOrder to which this build is allocated" msgstr "Pedido de Entrega a la que este ensamblaje se asigna" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Ubicación de la fuente" @@ -965,19 +970,19 @@ msgstr "Estado de la construcción" msgid "Build status code" msgstr "" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Fecha de Creación" @@ -989,7 +994,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 del ensamblado. El ensamblado estará vencido después de esta fecha." -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Fecha de Finalización" @@ -1006,15 +1011,15 @@ msgstr "Emitido por" msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "Usuario o grupo responsable de esta orden de fabricación" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Enlaces Externo" @@ -1074,11 +1079,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" @@ -1090,7 +1095,7 @@ msgstr "La cantidad debe ser 1 para el stock serializado" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Instalar en" msgid "Destination stock item" msgstr "Artículo de stock de destino" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Números de serie" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Introduzca los números de serie de salidas de construcción" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "Autoasignar Números de Serie" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Ubicación" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Estado" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "Existencias sobreasignadas" -#: build/serializers.py:516 +#: build/serializers.py:519 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 stock asignados a la orden de ensamblado" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de stock han sido sobreasignados" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:532 +#: build/serializers.py:535 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:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "Acepta incompleto" -#: build/serializers.py:548 +#: build/serializers.py:551 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:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Ubicación de stock donde las piezas deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "Excluir ubicación" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Acciones de impresión" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "Imprimir informe de orden de fabricación" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "Acciones de fabricación" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Editar fabricación" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "Descripción de Ensamblado" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "Este Pedido de Ensamblaje está asignado a la Petición de Entrega %(link)s" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Fecha Límite" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "Vencido" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Completado" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Pedido de Entrega" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Creado" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Pedir Piezas" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 msgid "Date Format" msgstr "Formato de Fecha" -#: common/models.py:2005 +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planificación de piezas" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "Mostrar información de programación de piezas" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "Precio" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "Correo electrónico de contacto" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Contacto" @@ -3348,7 +3419,7 @@ msgstr "Moneda predeterminada utilizada para esta empresa" msgid "Company" msgstr "Empresa" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "Seleccionar pieza" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "Seleccionar fabricante" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "'Part Number' del Fabricante" @@ -3400,7 +3471,7 @@ msgstr "Descripción de la pieza del fabricante" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Pieza del Fabricante" @@ -3410,7 +3481,7 @@ msgstr "Nombre del parámetro" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "Valor del parámetro" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma pieza base" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Proveedor" @@ -3453,12 +3524,12 @@ msgstr "Proveedor" msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "Descripción de la pieza del proveedor" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "Empaquetado de pieza" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "Eliminar imagen asociada a esta empresa" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "Subir Imagen" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "Piezas del Proveedor" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Ordenes de Compra" @@ -3731,7 +3802,7 @@ msgstr "Nueva Orden de Compra" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Pedidos de Entrega" @@ -3757,7 +3828,7 @@ msgstr "Stock Asignado" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "Fabricantes" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Pedir pieza" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Pieza del Proveedor" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "Acciones de piezas del proveedor" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Pedir Pieza" @@ -3953,67 +3995,60 @@ msgstr "Eliminar Pieza del Proveedor" msgid "Delete Supplier Part" msgstr "Eliminar Pieza del Proveedor" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "Stock de Piezas del Proveedor" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Añadir un nuevo artículo en inventario" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Nuevo artículo en stock" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "Pedidos de Piezas al Proveedor" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "Enlazar código de barras a Pieza del Proveedor" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "Actualizar Disponibilidad de Piezas" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Artículos de Stock" @@ -4039,7 +4074,7 @@ msgstr "Clientes" msgid "New Customer" msgstr "Nuevo Cliente" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "Empresas" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Orden de Compra" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "Precio Total" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "Descripción del pedido" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "Enlace a página web externa" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "Usuario o grupo responsable de este pedido" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "Empresa a la que se están encargando los artículos" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "Referencia del Proveedor" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "Referencia de Cliente " -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "Código de referencia del pedido del cliente" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "Fecha de Envío" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "Referencia de artículo de línea" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "Precio por unidad" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "Precio de compra por unidad" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "Una pieza virtual no puede ser asignada a un pedido de entrega" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "Sólo las piezas entregables pueden ser asignadas a un pedido de entrega" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "Precio de venta por unidad" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "La petición de entrega no coincide con el envío" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de entrega" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de entrega" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "Pedidos de Entrega Atrasados" msgid "Sales order {so} is now overdue" msgstr "La petición de entrega {so} está vencida" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "Exportar pedido a archivo" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "Acciones de pedido" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "Editar pedido" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "Cancelar pedido" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "Recibir artículos" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "Recibir Artículos" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Completar Pedido" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Referencia del Pedido" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Descripción del Pedido" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "Estado del Pedido" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "Artículos de Línea Completados" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "Incompleto" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "Coste total" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "No se ha podido calcular el coste total" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "Artículos de la Orden de Compra" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "Añadir Artículo de Línea" @@ -4920,70 +4967,86 @@ msgstr "Artículos Recibidos" msgid "Order Notes" msgstr "Notas del Pedido" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "Imprimir lista de empaquetado" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "Referencia del Cliente" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "Imprimir informe de pedidos de entrega" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "Completar Pedido de Entrega" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "Este pedido de entrega no ha sido completamente asignado" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Envíos Completados" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Artículos de Pedidos de Entrega" @@ -5039,20 +5102,20 @@ msgstr "Nombre de la Pieza" msgid "Part Description" msgstr "Descripción de la Pieza" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "En Stock" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "Usado En" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "Ruta de la Categoría" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Piezas" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "Pedidos de Entrega Salientes" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "Stock Disponible" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "Categoría de Pieza" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "Categorías de Piezas" @@ -5223,7 +5286,7 @@ msgstr "Categorías de Piezas" msgid "Default location for parts in this category" msgstr "Ubicación predeterminada para piezas de esta categoría" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "Palabras clave predeterminadas" msgid "Default keywords for parts in this category" msgstr "Palabras clave por defecto para piezas en esta categoría" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "Icono" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "Icono (opcional)" @@ -5299,7 +5362,7 @@ msgstr "¿Es esta pieza una 'pieza plantilla'?" msgid "Is this part a variant of another part?" msgstr "¿Es esta pieza una variante de otra pieza?" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante de" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda de piezas" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "Revisión de la pieza o número de versión" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Último Inventario" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Fecha" @@ -5826,7 +5889,7 @@ msgstr "Permitir Variantes" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "Cantidad Total" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "Actualizar datos de programación" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "La pieza puede ser entregada a los clientes" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "Inactivo" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "Mostrar Detalles de la Pieza" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "Esta pieza es una variante de %(link)s" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "Asignado a Pedidos" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "Precio Unitario" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 msgid "Total" msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "ID del Cliente" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicación de Stock" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "Ubicaciones de Stock" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "Seleccione el proveedor de este artículo" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "¿Dónde se encuentra este artículo?" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "Empaque utilizado para almacenar este artículo" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "Pedido de Entrega de Destino" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Eliminar al agotarse" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "Eliminar este artículo cuando no queden más existencias" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "Precio de compra por unidad en el momento de la compra" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "Artículo de stock ha sido asignado a un pedido de entrega" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "El artículo de stock ha sido asignado a un cliente" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Elemento Superior" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "Solo lectura" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "Este artículo de stock está asignado a la Petición de Entrega" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "Ningún inventario realizado" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "Código QR del artículo de Stock" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sub-ubicaciones" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "Nueva ubicación" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Cerrar" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "Artículos" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "Cliente Inválido" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "Crear Pedido de Entrega" msgid "Edit Sales Order" msgstr "Editar Pedido de Entrega" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "Completar Envíos" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "Cancelar Pedido de Entrega" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "No se encontraron pedidos de entrega" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "Referencia de Envío" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "Asignar Artículos de Stock a Pedido de Entrega" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "No se encontraron asignaciones de pedidos de entrega" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "Enviado al cliente" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "Actualizar Precio por Unidad" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "filas por página" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "Mostrando todas las filas" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "Mostrando" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "hasta" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "de" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "filas" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "Columnas" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index cad69fb5cb..b7a5a803a7 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:39\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:59\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا کرد" @@ -33,25 +33,25 @@ msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا msgid "Enter date" msgstr "تاریخ را وارد کنید" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "یادداشت" @@ -137,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "" @@ -209,7 +209,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "" @@ -245,9 +249,9 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "" @@ -374,11 +378,11 @@ msgstr "" msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "" @@ -459,107 +463,107 @@ msgstr "آدرس فایل تصویری از راه دور" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "" @@ -610,9 +614,10 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "" @@ -800,7 +805,7 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -820,7 +825,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "" @@ -832,19 +837,19 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "" @@ -852,7 +857,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" @@ -861,9 +866,9 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "مرجع سفارش فروش" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "منبع محل" @@ -965,19 +970,19 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "" @@ -989,7 +994,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" @@ -1006,15 +1011,15 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "" @@ -1074,11 +1079,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1090,7 +1095,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 -msgid "Print actions" +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" msgstr "" #: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 85d1af224f..87fc8376d5 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 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" @@ -33,25 +33,25 @@ msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'admin msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Notes" @@ -137,7 +137,7 @@ msgstr "Le serveur distant a renvoyé une réponse vide" msgid "Supplied URL is not a valid image file" msgstr "L'URL fournie n'est pas un fichier image valide" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -209,7 +209,7 @@ msgstr "Fichier manquant" msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Lien" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -245,9 +249,9 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Nom" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Nom" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Données du code-barres" msgid "Third party barcode data" msgstr "Données de code-barres tierces" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Hash du code-barre" @@ -374,11 +378,11 @@ msgstr "Hachage unique des données du code-barres" msgid "Existing barcode found" msgstr "Code-barres existant trouvé" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Erreur serveur" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." @@ -459,107 +463,107 @@ msgstr "URL du fichier image distant" msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Tchèque" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Danois" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Grec" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Espagnol" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Espagnol (Mexique)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Farsi / Perse" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Français" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Hébreu" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Hongrois" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Italien" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japonais" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Coréen" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Néerlandais" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norvégien" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugais" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portugais (Brésilien)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Russe" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Slovénien" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Suédois" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Thaïlandais" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Turc" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamien" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Chinois" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Placé" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Terminé" @@ -610,9 +614,10 @@ msgstr "Retourné" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Expédié" @@ -800,7 +805,7 @@ msgstr "Informations système" msgid "About InvenTree" msgstr "À propos d'InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" @@ -820,7 +825,7 @@ msgstr "Ordre de Fabrication" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Ordres de Fabrication" @@ -832,19 +837,19 @@ msgstr "Choix invalide pour la fabrication parente" msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Référence" @@ -852,7 +857,7 @@ msgstr "Référence" msgid "Brief description of the build" msgstr "Brève description de la fabrication" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Fabrication parente" @@ -861,9 +866,9 @@ msgstr "Fabrication parente" msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ 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:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Emplacement d'origine" @@ -965,19 +970,19 @@ msgstr "État de la construction" msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Date de création" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Date d'achèvement" @@ -1006,15 +1011,15 @@ msgstr "Émis par" msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Lien Externe" @@ -1074,11 +1079,11 @@ msgstr "L'élément de construction doit spécifier une sortie de construction, msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" @@ -1090,7 +1095,7 @@ msgstr "La quantité doit être de 1 pour stock sérialisé" msgid "Selected stock item not found in BOM" msgstr "L'article du stock sélectionné n'a pas été trouvé dans la BOM" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Assemblage" msgid "Build to allocate parts" msgstr "Construction à laquelle allouer des pièces" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Article en stock" msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Stock d'origine de l'article" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Installer dans" msgid "Destination stock item" msgstr "Stock de destination de l'article" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "L'ordre de production ne correspond pas à l'ordre parent" -#: build/serializers.py:161 +#: build/serializers.py:164 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:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "Cet ordre de production a déjà été produit" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "Cet ordre de production n'est pas complètement attribué" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:219 +#: build/serializers.py:222 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:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Numéros de série" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:248 +#: build/serializers.py:251 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:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 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:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Emplacement" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "État" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:385 +#: build/serializers.py:388 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:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "Supprimer le stock alloué" -#: build/serializers.py:455 +#: build/serializers.py:458 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:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "Retirer les sorties incomplètes" -#: build/serializers.py:462 +#: build/serializers.py:465 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:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "Accepter comme consommé par cet ordre de construction" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "Désaffecter avant de terminer cette commande de fabrication" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "Stock suralloué" -#: build/serializers.py:516 +#: build/serializers.py:519 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:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "Certains articles de stock ont été suralloués" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:532 +#: build/serializers.py:535 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:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:548 +#: build/serializers.py:551 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:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "La quantité nécessaire n'a pas encore été complétée" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "Article du BOM" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:615 +#: build/serializers.py:618 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:665 +#: build/serializers.py:668 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:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:735 +#: build/serializers.py:738 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:742 +#: build/serializers.py:745 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:747 +#: build/serializers.py:750 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:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" -#: build/serializers.py:826 +#: build/serializers.py:829 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:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "Exclure les articles de stock de cet emplacement sélectionné" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "Stock interchangeable" -#: build/serializers.py:841 +#: build/serializers.py:844 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:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "Stock de substitution" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "Autoriser l'allocation de pièces de remplacement" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "Objets Optionnels" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "L'ordre de commande {bo} est maintenant en retard" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "Actions de code-barres" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "Afficher le QR Code" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "Délier le code-barre" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "Lier le code-barre" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Actions d'impression" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "Imprimer le rapport d'ordre de construction" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "Modifier construction/ordre de construction" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Modifier l'assemblage" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Annuler l'assemblage" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "Dupliquer la construction" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "Supprimer l'assemblage" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "Compléter l'assemblage" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "Description de la construction" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "Aucune sortie de construction n'a été créée pour cet ordre de construction" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "Cet ordre de construction est allouée à la commande de vente %(link)s" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Cet ordre de construction est un enfant de l'ordre de construction %(link)s" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "L'ordre de construction est prêt à être marqué comme terminé" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "L'ordre de construction ne peut pas être achevé car il reste des outputs en suspens" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "Le nombre de constructions requis n'a pas encore été atteint" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Date Cible" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "Cette construction était due le %(target)s" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "Cette construction était due le %(target)s" msgid "Overdue" msgstr "En retard" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Terminé" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Commandes" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Émis par" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Priorité" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "Supprimer l'ordre de construction" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "Détails de la construction" @@ -1597,9 +1652,8 @@ msgstr "Stock d'origine" msgid "Stock can be taken from any available location." msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible." -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "Destination" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "Pièces allouées" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "Lot" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Créé le" @@ -1678,7 +1733,7 @@ msgstr "Commander les pièces requises" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Commander des pièces" @@ -2679,7 +2734,7 @@ msgstr "" 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:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" @@ -3000,89 +3055,105 @@ 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:1983 +msgid "Regex Search" +msgstr "" + +#: common/models.py:1984 +msgid "Enable regular expressions in search queries" +msgstr "" + +#: common/models.py:1990 +msgid "Whole Word Search" +msgstr "" + +#: common/models.py:1991 +msgid "Search queries return results for whole word matches" +msgstr "" + +#: common/models.py:1997 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:1984 +#: common/models.py:1998 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:1990 +#: common/models.py:2004 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:1991 +#: common/models.py:2005 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:1997 +#: common/models.py:2011 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:1998 +#: common/models.py:2012 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:2004 +#: common/models.py:2018 msgid "Date Format" msgstr "Format de date" -#: common/models.py:2005 +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:2034 +#: common/models.py:2048 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:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "Prix" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "Jeton" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "ID message" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "Hôte" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "Entête" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "Corps" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "Id" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "Titre" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "Publié" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Auteur" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "Résumé" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "Lu" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "Adresse e-mail de contact" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Contact" @@ -3348,7 +3419,7 @@ msgstr "Devise par défaut utilisée pour cette entreprise" msgid "Company" msgstr "Société" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "Sélectionner un fabricant" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Pièces du fabricant" @@ -3410,7 +3481,7 @@ msgstr "Nom du paramètre" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "Valeur du paramètre" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ 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:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Fournisseur" @@ -3453,12 +3524,12 @@ msgstr "Fournisseur" msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "SKU" @@ -3478,7 +3549,7 @@ msgstr "Lien de la pièce du fournisseur externe" msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "coût de base" msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "Conditionnement de l'article" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "Nombre de paquet" @@ -3602,15 +3673,15 @@ 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:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "Téléphone" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "Supprimer l'image" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "Supprimer l'image associée de cette entreprise" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Supprimer" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "Charger une image" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "Télécharger une image" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "Pièce fournisseur" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "Supprimer les pièces" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "Pièces du fabricant" @@ -3708,7 +3779,7 @@ msgstr "Stock fournisseur" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Commandes d'achat" @@ -3731,7 +3802,7 @@ msgstr "Nouvelle commande achat" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Ventes" @@ -3757,7 +3828,7 @@ msgstr "Stock affecté" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "Fabricants" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Article de la commande" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Pièce fournisseur" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "Actions de code-barres" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "Afficher le QR Code" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "Délier le code-barre" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "Lier le code-barre" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "Actions de la pièce du fournisseur" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Commander un composant" @@ -3953,67 +3995,60 @@ msgstr "Supprimer la pièce du fournisseur" msgid "Delete Supplier Part" msgstr "Supprimer la pièce du fournisseur" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "Identifiant du code-barres" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "Aucune information de fournisseur disponible" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "Stock de pièces du fournisseur" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Créer un nouvel article de stock" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Nouvel article de stock" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "Commandes de pièces du fournisseur" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "Information sur les prix" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Ajouter un prix de rupture" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "Lier le code-barres à la pièce du fournisseur" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "Mettre à jour la disponibilité des pièces" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Éléments en stock" @@ -4039,7 +4074,7 @@ msgstr "Clients" msgid "New Customer" msgstr "Nouveaux Clients" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "Entreprises" @@ -4113,365 +4148,365 @@ msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virg msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Filtres de requêtes de pièces (valeurs de paires clé=valeur séparées par des virgules)" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "Inconnu" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "Description de la commande" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:206 +#: order/models.py:207 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:215 +#: order/models.py:216 msgid "Created By" msgstr "Créé par" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "Utilisateur ou groupe responsable de cette commande" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "Notes de commande" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "Statut de la commande d'achat" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "Société de laquelle les articles sont commandés" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "Référence du fournisseur" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "Code de référence de la commande fournisseur" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "reçu par" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "expédié par" -#: order/models.py:814 +#: order/models.py:826 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:818 -msgid "Only a pending order can be marked as complete" -msgstr "Seule une commande en attente peut être marquée comme terminée" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" +msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 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:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "Contexte" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "supprimé" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "Commande" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Reçu" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1236 +#: order/models.py:1254 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:1241 +#: order/models.py:1259 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:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "Notes d'expédition" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "Ligne" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "Article" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 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:504 -msgid "Unique identifier field" -msgstr "Champ d'identifiant unique" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" +msgstr "Code-barres" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:544 +#: order/serializers.py:552 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:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 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:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "Modifier la commande" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "Annuler la commande" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "Recevoir objet" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "Réception d'articles" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Marquer la commande comme complète" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Finaliser la commande" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Référence de commande" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Description de la commande" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "Statut de la commande" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "Incomplet" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "Dupliquer la sélection" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "Articles de la commande d'achat" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "Notes de commande" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Révision" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Composantes" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "Catégorie de composant" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "Catégories de composants" @@ -5223,7 +5286,7 @@ msgstr "Catégories de composants" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Date" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "Actualiser" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "Sélectionner un format de fichier" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "Dernier numéro de série" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "Rechercher un numéro de série" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "Calculer" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "Correspondance trouvée pour les données du code-barres" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "Contributeurs d'InvenTree" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "Numéro de série" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "Résultat" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "Sélectionner un propriétaire" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 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:603 +#: stock/models.py:604 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:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 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:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Les numéros de série existent déja : {exists}" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "Cet article de stock est sérialisé - il a un numéro de série unique et la quantité ne peut pas être ajustée." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" +msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "page précédente" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "Accéder au numéro de série précédent" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "Accéder au numéro de série suivant" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "Code QR de l'article en stock" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "Lier le code-barres à l'article de stock" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "Identifiant du code-barres" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "Redémarrage du serveur nécessaire" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "Saisir les données du code-barres" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "Code-barres" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "Saisir les notes optionnelles pour le transfert de stock" msgid "Enter notes" msgstr "Saisir des notes" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "Erreur serveur" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "Réponse inconnue du serveur" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Réponse du serveur invalide" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "Scanner le code-barres" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "Aucune URL dans la réponse" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "Délier" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "Supprimer l'article de stock" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "Article de stock déjà scanné" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "Article de stock déjà à cet emplacement" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "Article de stock ajouté" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "Vérifier dans l'emplacement" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "Le code-barres ne correspond pas à un emplacement valide" @@ -9381,7 +9447,7 @@ msgstr "Données de la rangée" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "Commander des stocks" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "Aucune variante trouvée" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 msgid "Order Code" msgstr "Référence de commande" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" -msgstr "Commandé" - -#: templates/js/translated/purchase_order.js:1199 +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "Commande en retard" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "Livré au client" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "Acheter du stock" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "Calculer le prix" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "Chargement des données" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "résultats par page" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "Afficher toutes les lignes" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "Afficher" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "à" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "de" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "lignes" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "Aucun résultat correspondant n'a été trouvé" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "Masquer/Afficher la pagination" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "Colonnes" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "Tout" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 0f69f70a85..0ba0e1e57d 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "" @@ -33,25 +33,25 @@ msgstr "" msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "" @@ -137,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "" @@ -209,7 +209,7 @@ msgstr "קובץ חסר" msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "קישור" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -245,9 +249,9 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "שם" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "שם" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "" @@ -374,11 +378,11 @@ msgstr "" msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "" @@ -459,107 +463,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "גרמנית" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "יוונית" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "אנגלית" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "ספרדית" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "ספרדית (מקסיקנית)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "צרפתית" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "עברית" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "איטלקית" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "יפנית" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "קוריאנית" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "הולנדית" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "נורווגית" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "פולנית" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "רוסית" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "שוודית" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "תאילנדית" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "טורקית" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "ווייטנאמית" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "סינית" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "מוקם" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "הושלם" @@ -610,9 +614,10 @@ msgstr "הוחזר" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "נשלח" @@ -800,7 +805,7 @@ msgstr "מידע אודות המערכת" msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -820,7 +825,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "" @@ -832,19 +837,19 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "מקט" @@ -852,7 +857,7 @@ msgstr "מקט" msgid "Brief description of the build" msgstr "תיאור קצר אודות הבנייה" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "מקור הבנייה" @@ -861,9 +866,9 @@ msgstr "מקור הבנייה" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "" @@ -965,19 +970,19 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "" @@ -989,7 +994,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" @@ -1006,15 +1011,15 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "" @@ -1074,11 +1079,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1090,7 +1095,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "מספרים סידוריים" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 -msgid "Print actions" +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" msgstr "" #: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index c687e8b5c1..94ec43ba14 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "A hiba részleteit megtalálod az admin panelen" @@ -33,25 +33,25 @@ msgstr "A hiba részleteit megtalálod az admin panelen" msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Megjegyzések" @@ -137,7 +137,7 @@ msgstr "A kiszolgáló üres választ adott" msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" @@ -209,7 +209,7 @@ msgstr "Hiányzó fájl" msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Link" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -245,9 +249,9 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Név" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Név" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Vonalkód adat" msgid "Third party barcode data" msgstr "Harmadik féltől származó vonalkód adat" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Vonalkód hash" @@ -374,11 +378,11 @@ msgstr "Egyedi vonalkód hash" msgid "Existing barcode found" msgstr "Létező vonalkód" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Kiszolgálóhiba" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." @@ -459,107 +463,107 @@ msgstr "A távoli kép URL-je" msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Cseh" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Dán" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Német" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Görög" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Angol" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Spanyol (Mexikói)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Fárszi/Perzsa" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Francia" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Héber" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Magyar" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Olasz" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japán" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Koreai" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Holland" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norvég" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Lengyel" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugál" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portugál (Brazíliai)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Orosz" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Szlovén" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Svéd" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Tháj" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Török" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnámi" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Kínai" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Kiküldve" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Kész" @@ -610,9 +614,10 @@ msgstr "Visszaküldve" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Kiszállítva" @@ -800,7 +805,7 @@ msgstr "Rendszerinformáció" msgid "About InvenTree" msgstr "Verzió információk" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" @@ -820,7 +825,7 @@ msgstr "Gyártási utasítás" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Gyártási utasítások" @@ -832,19 +837,19 @@ 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:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Azonosító" @@ -852,7 +857,7 @@ msgstr "Azonosító" msgid "Brief description of the build" msgstr "Gyártás rövid leírása" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Szülő gyártás" @@ -861,9 +866,9 @@ msgstr "Szülő gyártás" msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ 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:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Forrás hely" @@ -965,19 +970,19 @@ msgstr "Gyártási állapot" msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Létrehozás dátuma" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Elkészítés dátuma" @@ -1006,15 +1011,15 @@ msgstr "Kiállította" msgid "User who issued this build order" msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Külső link" @@ -1074,11 +1079,11 @@ msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" @@ -1090,7 +1095,7 @@ msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" msgid "Selected stock item not found in BOM" msgstr "Kiválasztott készlet tétel nem található az alkatrészjegyzékben" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Gyártás" msgid "Build to allocate parts" msgstr "Gyártás amihez készletet foglaljunk" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Készlet tétel" msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Forrás készlet tétel" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,256 +1186,257 @@ msgstr "Beépítés ebbe" msgid "Destination stock item" msgstr "Cél készlet tétel" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:157 +#: build/serializers.py:160 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:161 +#: build/serializers.py:164 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:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "Ez a gyártási kimenet már elkészült" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/serializers.py:216 +#: build/serializers.py:219 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:219 +#: build/serializers.py:222 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:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:248 +#: build/serializers.py:251 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:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 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:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Hely" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Állapot" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:385 +#: build/serializers.py:388 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:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "Lefoglalt készlet levonása" -#: build/serializers.py:455 +#: build/serializers.py:458 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:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "Gyártásban fel lett használva" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "Foglalás felszabadítása a készre jelentés előtt" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "Túlfoglalt készlet" -#: build/serializers.py:516 +#: build/serializers.py:519 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:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "Pár készlet tétel túl lett foglalva" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:532 +#: build/serializers.py:535 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:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:548 +#: build/serializers.py:551 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:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Szükséges gyártási mennyiség nem lett elérve" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:615 +#: build/serializers.py:618 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:665 +#: build/serializers.py:668 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:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:735 +#: build/serializers.py:738 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:742 +#: build/serializers.py:745 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:747 +#: build/serializers.py:750 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:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:826 +#: build/serializers.py:829 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:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:835 +#: build/serializers.py:838 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:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:841 +#: build/serializers.py:844 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:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "Opcionális tételek" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "Opcionális tételek lefoglalása a gyártáshoz" @@ -1447,101 +1454,141 @@ msgid "Build order {bo} is now overdue" msgstr "A {bo} gyártás most már késésben van" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "Vonalkód műveletek" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "QR kód megjelenítése" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "Vonalkód leválasztása" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "Vonalkód hozzárendelése" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Nyomtatási műveletek" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "Gyártási riport nyomtatása" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "Gyártási műveletek" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Gyártás szerkesztése" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Gyártás törlése" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "Gyártás másolása" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "Gyártás törlése" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "Gyártás befejezése" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "Gyártás leírása" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "Ehhez a gyártási utasításhoz nem készült kimenet" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "Hozzárendelve a %(link)s vevői rendeléshez" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Ez gyártási utasítás a %(link)s gyártási utasítás gyermeke" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "Gyártási utasítás elkészültnek jelölhető" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Befejezetlen gyártási kimenetek vannak" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "Szükséges gyártási mennyiség még nincs meg" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "Még nincs lefoglalva a szükséges készlet" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Cél dátum" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "Ez a gyártás %(target)s-n volt esedékes" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1549,43 +1596,51 @@ msgstr "Ez a gyártás %(target)s-n volt esedékes" msgid "Overdue" msgstr "Késésben" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Kész" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Vevői rendelés" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Kiállította" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Prioritás" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "Gyártási utasítás törlése" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "Gyártás részletei" @@ -1598,9 +1653,8 @@ msgstr "Készlet forrás" msgid "Stock can be taken from any available location." msgstr "Készlet bármely rendelkezésre álló helyről felhasználható." -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "Cél" @@ -1613,9 +1667,10 @@ msgid "Allocated Parts" msgstr "Lefoglalt alkatrészek" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1624,9 +1679,9 @@ msgid "Batch" msgstr "Batch" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Létrehozva" @@ -1679,7 +1734,7 @@ msgstr "Szükséges alkatrészek rendelése" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Alkatrész rendelés" @@ -2680,7 +2735,7 @@ msgstr "Riport törlési gyakoriság" 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:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny" @@ -3001,89 +3056,105 @@ 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:1983 +msgid "Regex Search" +msgstr "" + +#: common/models.py:1984 +msgid "Enable regular expressions in search queries" +msgstr "" + +#: common/models.py:1990 +msgid "Whole Word Search" +msgstr "" + +#: common/models.py:1991 +msgid "Search queries return results for whole word matches" +msgstr "" + +#: common/models.py:1997 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:1984 +#: common/models.py:1998 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:1990 +#: common/models.py:2004 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:1991 +#: common/models.py:2005 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:1997 +#: common/models.py:2011 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:1998 +#: common/models.py:2012 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:2004 +#: common/models.py:2018 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:2005 +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:2027 +#: common/models.py:2041 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:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:2034 +#: common/models.py:2048 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:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "Ár" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3091,97 +3162,97 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "Token" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "Titok" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "Fejléc" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "Törzs" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "Id" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "Cím" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "Közzétéve" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Szerző" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "Elolvasva" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "Elolvasva?" @@ -3293,9 +3364,9 @@ msgid "Contact email address" msgstr "Kapcsolattartó email címe" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Kapcsolattartó" @@ -3349,7 +3420,7 @@ msgstr "Cég által használt alapértelmezett pénznem" msgid "Company" msgstr "Cég" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3361,8 +3432,8 @@ msgstr "Válassz alkatrészt" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3376,13 +3447,13 @@ msgid "Select manufacturer" msgstr "Gyártó kiválasztása" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "MPN" @@ -3401,7 +3472,7 @@ msgstr "Gyártói alkatrész leírása" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" @@ -3411,7 +3482,7 @@ msgstr "Paraméter neve" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3422,7 +3493,7 @@ msgid "Parameter value" msgstr "Paraméter értéke" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3437,15 +3508,15 @@ 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:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Beszállító" @@ -3454,12 +3525,12 @@ msgstr "Beszállító" msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "SKU" @@ -3479,7 +3550,7 @@ msgstr "URL link a beszállítói alkatrészhez" msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3497,9 +3568,9 @@ msgstr "alap költség" msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3510,14 +3581,14 @@ msgid "Part packaging" msgstr "Alkatrész csomagolás" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "Csomagolási mennyiség" @@ -3603,15 +3674,15 @@ 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:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3626,7 +3697,7 @@ msgid "Phone" msgstr "Telefonszám" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "Kép eltávolítása" @@ -3635,25 +3706,25 @@ msgid "Remove associated image from this company" msgstr "Céghez rendelt kép eltávolítása" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Törlés" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "Kép feltöltése" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "Kép letöltése" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "Beszállítói alkatrészek" @@ -3684,7 +3755,7 @@ msgid "Delete Parts" msgstr "Alkatrész törlés" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "Gyártói alkatrészek" @@ -3709,7 +3780,7 @@ msgstr "Beszállítói készlet" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Beszerzési rendelések" @@ -3732,7 +3803,7 @@ msgstr "Új beszerzési rendelés" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Vevői rendelések" @@ -3758,7 +3829,7 @@ msgstr "Hozzárendelt készlet" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3792,7 +3863,7 @@ msgid "Manufacturers" msgstr "Gyártók" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Alkatrész rendelés" @@ -3881,50 +3952,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Beszállítói alkatrész" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "Vonalkód műveletek" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "QR kód megjelenítése" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "Vonalkód leválasztása" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "Vonalkód hozzárendelése" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "Beszállítói alkatrész műveletek" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Alkatrész rendelése" @@ -3954,67 +3996,60 @@ msgstr "Beszállítói alkatrész törlése" msgid "Delete Supplier Part" msgstr "Beszállítói alkatrész törlése" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "Vonalkód azonosító" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "Nincs elérhető beszállítói információ" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "Beszállítói készlet" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Új készlet tétel létrehozása" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Új készlet tétel" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "Beszállítói alkatrész rendelések" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "Árinformációk" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Ársáv hozzáadása" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "Beszállítói alkatrész QR kód" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Készlet tételek" @@ -4040,7 +4075,7 @@ msgstr "Vevők" msgid "New Customer" msgstr "Új vevő" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "Cégek" @@ -4114,365 +4149,365 @@ msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "Ismeretlen" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "Teljes ár" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "Rendelés leírása" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:206 +#: order/models.py:207 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:215 +#: order/models.py:216 msgid "Created By" msgstr "Készítette" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "Rendelés jegyzetek" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "érkeztette" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:412 +#: order/models.py:413 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:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:737 +#: order/models.py:749 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:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "szállította" -#: order/models.py:814 +#: order/models.py:826 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:818 -msgid "Only a pending order can be marked as complete" -msgstr "Csak függő rendelés jelölhető késznek" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" +msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 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:824 +#: order/models.py:836 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:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:1051 +#: order/models.py:1069 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:1068 +#: order/models.py:1086 msgid "Context" msgstr "Kontextus" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "törölve" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "Rendelés" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1170 +#: order/models.py:1188 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:1236 +#: order/models.py:1254 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:1241 +#: order/models.py:1259 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:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "Szállítmány megjegyzései" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1523 +#: order/models.py:1541 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:1525 +#: order/models.py:1543 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:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 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:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "Sor" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "Tétel" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4481,164 +4516,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 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:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:408 +#: order/serializers.py:414 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:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:504 -msgid "Unique identifier field" -msgstr "Egyedi azonosító mező" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" +msgstr "Vonalkód" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:544 +#: order/serializers.py:552 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:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4660,111 +4699,119 @@ msgstr "Késésben lévő vevői rendelés" msgid "Sales order {so} is now overdue" msgstr "A {so} vevői rendelés most már késésben van" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "Beszerzési rendelés nyomtatása" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "Rendelés exportálása fájlba" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "Rendelés műveletek" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "Rendelés szerkesztése" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "Rendelés törlése" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "Rendelés másolása" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "Megrendelés elküldése" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "Érkezett tételek bevételezése" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "Bevételezés" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Rendelés teljesítettnek jelölése" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Rendelés befejezése" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Rendelési azonosító" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Rendelés leírása" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "Rendelés állapota" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "Nincs elérhető beszállítói információ" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "Kész sortételek" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "Hiányos" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Kiküldve" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "Teljes költség" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "A teljes költség nem számolható" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4816,10 +4863,10 @@ msgstr "Kijelöltek másolása" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4881,9 +4928,9 @@ msgstr "Beszerzési rendelés tételei" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "Sortétel hozzáadása" @@ -4921,70 +4968,86 @@ msgstr "Érkezett tételek" msgid "Order Notes" msgstr "Rendelés megjegyzések" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "Csomagolási lista nyomtatása" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "Vevői azonosító" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "Teljes költség" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "Vevői rendelés nyomtatása" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "Vevői rendelés befejezése, minden kiszállítva" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "Ehhez a vevői rendeléshez nincs minden alkatrész lefoglalva" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Kész szállítmányok" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Vevői rendelés tételek" @@ -5040,20 +5103,20 @@ msgstr "Alkatrész neve" msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Változat" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Kulcsszavak" @@ -5073,17 +5136,17 @@ msgstr "Alapértelmezett készlethely ID" msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimális készlet" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "Készleten" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5096,11 +5159,11 @@ msgstr "Felhasználva ebben" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "Lefoglalva" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "Gyártásban" @@ -5132,7 +5195,7 @@ msgstr "Kategória elérési út" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Alkatrészek" @@ -5163,36 +5226,36 @@ msgstr "Minimum ár" msgid "Maximum Price" msgstr "Maximum ár" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "Érvényes" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Alapértelmezett hely" @@ -5200,8 +5263,8 @@ msgstr "Alapértelmezett hely" msgid "Total Stock" msgstr "Teljes készlet" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "Elérhető készlet" @@ -5215,7 +5278,7 @@ msgid "Part Category" msgstr "Alkatrész kategória" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "Alkatrész kategóriák" @@ -5224,7 +5287,7 @@ msgstr "Alkatrész kategóriák" msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5242,11 +5305,11 @@ msgstr "Alapértelmezett kulcsszavak" msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "Ikon" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "Ikon (opcionális)" @@ -5300,7 +5363,7 @@ msgstr "Ez egy sablon alkatrész?" msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Ebből a sablonból" @@ -5313,7 +5376,7 @@ 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:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5336,7 +5399,7 @@ msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" @@ -5416,8 +5479,8 @@ msgstr "Létrehozó" msgid "User responsible for this part" msgstr "Felhasználó aki felelős ezért az alkatrészért" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Utolsó leltár" @@ -5574,7 +5637,7 @@ msgstr "Teljes készlet a leltárkor" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Dátum" @@ -5827,7 +5890,7 @@ msgstr "Változatok" 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:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 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" @@ -6107,7 +6170,7 @@ msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott mini #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "Teljes mennyiség" @@ -6269,7 +6332,7 @@ msgid "Refresh scheduling data" msgstr "Ütemezési adatok frissítése" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "Frissítés" @@ -6421,13 +6484,13 @@ msgstr "Alkatrész import sablon letöltése" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "Formátum" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "Fájlfomátum kiválasztása" @@ -6512,9 +6575,8 @@ msgid "Part can be sold to customers" msgstr "Vevő által rendelhető, eladható" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" -msgstr "Virtuális (nem kézzelfogható alkatrész)" +msgid "Part is not active" +msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:930 @@ -6524,71 +6586,70 @@ msgstr "Virtuális (nem kézzelfogható alkatrész)" msgid "Inactive" msgstr "Inaktív" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "Virtuális (nem kézzelfogható alkatrész)" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "Alkatrész részletei" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "Ez az alkatrész egy változata a %(link)s alkatrésznek" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "Gyártáshoz lefoglalva" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "Vevő rendeléshez lefoglalva" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "Gyártható" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "Minimális készlet" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "Ártartomány" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "Legutolsó sorozatszám" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "Sorozatszámra keresés" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "Alkatrész QR kódja" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "Vonalkód hozzárendelése az alkatrészhez" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "Számítás" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "Alkatrészhez rendelt kép eltávolítása" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "Nincs egyező kép" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "Részletek elrejtése" @@ -6678,7 +6739,7 @@ msgid "Refresh Part Pricing" msgstr "Árazás frissítése" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6858,6 +6919,7 @@ msgid "Match found for barcode data" msgstr "Egyezés vonalkódra" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "Ez a vonalkód már egy másik tételé" @@ -6869,15 +6931,15 @@ msgstr "Nincs találat a megadott értékre" msgid "Label printing failed" msgstr "Címkenyomtatás sikertelen" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "InventTree vonalkódok" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "Alapvető vonalkód támogatást ad" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "InvenTree fejlesztők" @@ -7173,11 +7235,11 @@ msgstr "Beszállító törölve lett" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "Egységár" @@ -7189,22 +7251,22 @@ msgstr "Egyéb tételek" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 msgid "Total" msgstr "Összesen" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "Sorozatszám" @@ -7218,12 +7280,12 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "Teszt" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "Eredmény" @@ -7291,8 +7353,8 @@ msgstr "Beszállító neve" msgid "Customer ID" msgstr "Vevő ID" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "Beépítve ebbe" @@ -7316,278 +7378,278 @@ msgstr "Felülvizsgálat szükséges" msgid "Delete on Deplete" msgstr "Törlés ha kimerül" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "Lejárati dátum" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "Készlethelyek" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Tulajdonos" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "Tulajdonos kiválasztása" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "Külső" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "Ez egy külső készlethely" -#: stock/models.py:170 +#: stock/models.py:171 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:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "A alkatrész típus ('{pf}') {pe} kell legyen" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 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:603 +#: stock/models.py:604 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:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "A tétel nem tartozhat saját magához" -#: stock/models.py:631 +#: stock/models.py:632 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:645 +#: stock/models.py:646 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:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "Szülő készlet tétel" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "Kiindulási alkatrész" -#: stock/models.py:677 +#: stock/models.py:678 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:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:694 +#: stock/models.py:695 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:703 +#: stock/models.py:704 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:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:774 +#: stock/models.py:775 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:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Készlet tétel megjegyzések" -#: stock/models.py:810 +#: stock/models.py:811 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:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1349 +#: stock/models.py:1373 #, 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:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Ezek a sorozatszámok már léteznek: {exists}" -#: stock/models.py:1432 +#: stock/models.py:1456 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:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1462 +#: stock/models.py:1486 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:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1635 +#: stock/models.py:1659 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:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "Teszt neve" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "Tesztek megjegyzései" @@ -7844,129 +7906,133 @@ msgstr "Készlet tétel szerkesztése" msgid "Delete stock item" msgstr "Készlet tétel törlése" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Szülő tétel" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "Nincs beállítva gyártó" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Úgytűnik nem vagy ennek a tételnek a tulajdonosa. Ezt így nem tudod módosítani." -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "Csak olvasható" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" +msgstr "" + +#: stock/templates/stock/item_base.html:272 msgid "This stock item is in production and cannot be edited." msgstr "Ez a készlet tétel éppen gyártás alatt van és itt még nem szerkeszthető." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "A tétel szerkesztése most csak a gyártási nézetből lehetséges." -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "Ez a készlet tétel nem felelt meg az összes szükséges teszten" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "Foglalva ehhez a vevői rendeléshez" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "Foglalva ehhez a gyártási utasításhoz" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "Ez a készlet tétel egyedi követésre kötelezett - egyedi sorozatszámmal rendelkezik így a mennyiség nem módosítható." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" +msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "előző oldal" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "Menj az előző sorozatszámhoz" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "követkető oldal" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "Menj a következő sorozatszámhoz" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "Elérhető mennyiség" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Nincs beállítva hely" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "Tesztek" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "Ez a készlet tétel nem felelt meg az összes szükséges teszten" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "Lejárt" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejár %(item.expiry_date)s-n" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "Állott" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "Még nem volt leltározva" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "Készlet állapot szerkesztése" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "Készlet tétel QR kódja" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "Vonalkód hozzárendelése a készlet tételhez" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "Válassz a lenti alkatrész változatok közül" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Figyelem" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Ez a művelet nem vonható vissza könnyen" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "Készlet tétel konvertálása" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "Visszavétel készletre" @@ -8026,29 +8092,29 @@ msgstr "Hely tulajdonosa" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Úgytűnik nem vagy ennek a készlethelynek a tulajdonosa. Ezt így nem tudod módosítani." -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alhelyek" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "Új készlet hely létrehozása" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "Új hely" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "Készlet tároló bevételezve erre a helyre" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "Készlet hely QR kódja" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "Vonalkód hozzárendelése a készlet helyhez" @@ -8586,7 +8652,7 @@ msgid "Home Page" msgstr "Főoldal" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9106,6 +9172,10 @@ msgstr "Kiválasztott mellékletek törlése" msgid "Delete Attachments" msgstr "Mellékletek törlése" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "Vonalkód azonosító" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "Kiszolgáló újraindítása szükséges" @@ -9260,10 +9330,6 @@ msgstr "Vonalkód beolvasása ide a kódolvasó használatával" msgid "Enter barcode data" msgstr "Add meg a vonalkódot" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "Vonalkód" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "Vonalkód beolvasása webkamerával" @@ -9276,94 +9342,94 @@ msgstr "Megjegyzések a készlet áthelyezéshez" msgid "Enter notes" msgstr "Írd be a megjegyzéseket" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "Kiszolgálóhiba" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "Ismeretlen válasz a kiszolgálótól" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Érvénytelen válasz a szervertől" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "Vonalkód beolvasása" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "Vonalkód beolvasása" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "Nincs URL a válaszban" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "Ez törli a vonalkód hozzárendelést" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "Leválasztás" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "Készlet tétel törlése" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "Készlet bevételezése adott helyre" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "Készlet tétel vonalkód beolvasása, amit bevételezzünk erre a helyre" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "Bevételezés" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "Nincs vonalkód beolvasva" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "Készlet tétel már beolvasva" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "Készlet tétel már ezen a helyen van" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "Hozzáadott készlet tétel" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "Vonalkód nem egyezik egy ismert készlet tétellel sem" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "Készlet tároló bevételezése adott helyre" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "Készlet tároló vonalkód beolvasása, amit bevételezzünk erre a helyre" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "A vonalkód nem egyezik egy ismert hellyel sem" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "Készlet áthelyezése a leolvasott helyre" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "A vonalkód nem egyezik egy ismert hellyel sem" @@ -9382,7 +9448,7 @@ msgstr "Sor adat" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Bezárás" @@ -9516,7 +9582,7 @@ msgid "No pricing available" msgstr "Nincsenek árak" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "Nincs szabad" @@ -9717,12 +9783,12 @@ msgid "No required tests for this build" msgstr "Nincsenek szükséges tesztek ehhez a gyártáshoz" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "Készlet foglalások szerkesztése" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "Készlet foglalások törlése" @@ -9743,17 +9809,17 @@ msgid "Quantity Per" msgstr "Szükséges/db" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "Nincs elegendő" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "Van elegendő" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "Gyártási készlet" @@ -9762,23 +9828,23 @@ msgid "Order stock" msgstr "Készlet rendelés" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "Lefoglalt készlet" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "Kiválasztott alkatrészek" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "Legalább egy alkatrész választása szükséges a foglaláshoz" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" @@ -9791,7 +9857,7 @@ msgid "All selected parts have been fully allocated" msgstr "Minden kiválasztott alkatrész teljesen lefoglalva" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" @@ -9800,12 +9866,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "Készlet foglalása a gyártási utasításhoz" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "Nincs egyező készlethely" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "Nincs egyező készlet" @@ -10121,7 +10187,7 @@ msgstr "Form hibák vannak" msgid "No results found" msgstr "Nincs eredmény" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "Keresés" @@ -10149,7 +10215,7 @@ msgstr "IGEN" msgid "NO" msgstr "NEM" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "Megjegyzések frissítve" @@ -10276,40 +10342,40 @@ msgstr "Nincs olvasatlan értesítés" msgid "Notifications will load here" msgstr "Az értesítések itt fognak megjelenni" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "Rendelés exportálása" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "Sor másolása" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "Sor törlése" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "Nem találhatók sortételek" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "Sor másolása" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "Sor törlése" @@ -10511,19 +10577,19 @@ msgid "No variants found" msgstr "Nincs több változat" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "Sortétel bevételezése" @@ -10719,184 +10785,206 @@ msgstr "Beszerzési rendelés szerkesztése" msgid "Duplication Options" msgstr "Másolási opciók" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "Beszerzési rendelés befejezése" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "Rendelés befejezettnek jelölése?" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "Minden sortétel megérkezett" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem érkeztek be." -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "A rendelés befejezésével jelölésével annak adatai és sortételei a továbbiakban már nem lesznek szerkeszthetők." -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "Beszerzési rendelés törlése" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Biztosan törölni szeretnéd ezt a beszerzési rendelést?" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "Ezt a beszerzési rendelést nem lehet törölni" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "Beszerzési rendelés kiküldése" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "Legalább egy beszerezhető alkatrészt ki kell választani" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "Rendelendő mennyiség" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "Új beszállítói alkatrész" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "Új beszerzési rendelés" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "Hozzáadás beszerzési rendeléshez" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "Nincsenek egyező beszállítói alkatrészek" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "Nincsenek egyező beszerzési rendelések" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "Sortételek kiválasztása" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "Legalább egy sortételt ki kell választani" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "Batch kód hozzáadása" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "Sorozatszám hozzáadása" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "Beérkezett mennyiség" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "Érkező mennyiség" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "Készlet állapota" -#: templates/js/translated/purchase_order.js:1196 +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "Batch kód hozzáadása" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" +msgstr "Sorozatszám hozzáadása" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 msgid "Order Code" msgstr "Rendelési kód" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" -msgstr "Megrendelve" - -#: templates/js/translated/purchase_order.js:1199 +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "Érkező mennyiség" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "Bevételezés megerősítése" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "Beszerzési rendelés tételeinek bevételezése" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "Rendelés késésben" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "Tételek" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "Az összes kijelölt sortétel törlésre kerül" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "Töröljük a kiválasztott sortételeket?" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "Sortétel törlése" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "Sortétel törlése" @@ -10954,20 +11042,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "Érvénytelen vevő" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "Nincs egyező sortétel" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10979,195 +11067,196 @@ msgstr "Vevői rendelés létrehozása" msgid "Edit Sales Order" msgstr "Vevői rendelés szerkesztése" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "Ehhez a szállítmányhoz nincs készlet hozzárendelve" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "A következő készlet tételek ki lesznek szállítva" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "Függő szállítmányok kiszállítása" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "Szállítmány megerősítése" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "Nincs függő szállítmány" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "A függő a szállítmányokhoz nincs készlet hozzárendelve" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "Függő szállítmányok kiszállítása" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "Kihagyás" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem teljesítettek." -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "Vevő rendelés törlése" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "A rendelés törlésével annak adatai a továbbiakban már nem lesznek szerkeszthetők." -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "Szállítmány létrehozása" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "Nem található vevői rendelés" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "Szállítmány kiszállítása" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "Nincs egyező szállímány" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "Szállítmány azonosító" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "Nincs kiszállítva" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "Nyomkövetés" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "Számla" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "Szállítmány hozzáadása" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "Készlet foglalás megerősítése" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "Készlet foglalása a vevői rendeléshez" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "Nincs vevői rendeléshez történő foglalás" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "Törlési művelet megerősítése" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "Vevőnek kiszállítva" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "Készlethely nincs megadva" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "Készletrendelés" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "Árszámítás" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "Nem törölhető mivel a tételek ki lettek szállítva" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "Nem törölhető mivel tételek vannak lefoglalva" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "Egységár módosítása" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "Eredmények összezárása" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "Eredmények eltávolítása" @@ -11849,51 +11938,51 @@ msgstr "Táblázat exportálása" msgid "Select File Format" msgstr "Fájlfomátum kiválasztása" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "Adatok betöltése" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "sor oldalanként" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "Összes sor mutatása" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "Látható" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "-" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "a" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "sorból," -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "Nincs egyező eredmény" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "Lapozó elrejtése/megjelenítése" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "Átváltás" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "Oszlopok" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "Összes" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 527a575c46..7d767fe6f0 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:39\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "" @@ -33,25 +33,25 @@ msgstr "" msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Catatan" @@ -137,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "URL yang diberikan bukan file gambar yang valid" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" @@ -209,7 +209,7 @@ msgstr "File tidak ditemukan" msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Lampiran" msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Tautan" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -245,9 +249,9 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Nama" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Nama" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Data Barcode" msgid "Third party barcode data" msgstr "Data barcode pihak ketiga" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Barcode Hash" @@ -374,11 +378,11 @@ msgstr "Hash unik data barcode" msgid "Existing barcode found" msgstr "Sudah ada barcode yang sama" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Terjadi Kesalahan Server" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." @@ -459,107 +463,107 @@ msgstr "URL file gambar external" msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Ceko" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Denmark" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Jerman" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Yunani" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Inggris" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Spanyol (Meksiko)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Farsi / Persia" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Perancis" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Ibrani" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Hungaria" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Itali" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Jepang" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Korea" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Belanda" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norwegia" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polandia" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugis" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portugis (Brasil)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Rusia" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Swedia" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Thai" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Turki" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnam" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Cina" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Diletakkan" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Selesai" @@ -610,9 +614,10 @@ msgstr "Dikembalikan" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Dikirim" @@ -800,7 +805,7 @@ msgstr "Informasi Sistem" msgid "About InvenTree" msgstr "Tentang InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" @@ -820,7 +825,7 @@ msgstr "Order Produksi" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Order Produksi" @@ -832,19 +837,19 @@ msgstr "Pilihan produksi induk tidak valid" msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Referensi" @@ -852,7 +857,7 @@ msgstr "Referensi" msgid "Brief description of the build" msgstr "Deskripsi singkat produksi" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produksi Induk" @@ -861,9 +866,9 @@ msgstr "Produksi Induk" msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Produksi induk dari produksi ini" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "Referensi Order Penjualan" msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Lokasi Sumber" @@ -965,19 +970,19 @@ msgstr "Status pembuatan" msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Tanggal Pembuatan" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Tanggal selesai" @@ -1006,15 +1011,15 @@ msgstr "Diserahkan oleh" msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Tautan eksternal" @@ -1074,11 +1079,11 @@ msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" @@ -1090,7 +1095,7 @@ msgstr "Jumlah harus 1 untuk stok dengan nomor seri" msgid "Selected stock item not found in BOM" msgstr "Item stok yang dipilih tidak ditemukan dalam daftar barang order" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Produksi" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Stok Item" msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Sumber stok item" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Pasang ke" msgid "Destination stock item" msgstr "Tujuan stok item" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Hasil Produksi" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "Hasil produksi tidak sesuai dengan produksi induk" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "Hasil bagian tidak sesuai dengan bagian dalam order produksi" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "Hasil produksi ini sudah diselesaikan" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "Hasil produksi tidak dialokasikan sepenuhnya" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" -#: build/serializers.py:219 +#: build/serializers.py:222 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:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Nomor Seri" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "Alokasikan nomor seri secara otomatis" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Lokasi" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "Terima Alokasi Tidak Lengkap" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "Terima Tidak Teralokasikan" -#: build/serializers.py:532 +#: build/serializers.py:535 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:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" -#: build/serializers.py:548 +#: build/serializers.py:551 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:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Jumlah produksi yang diperlukan masih belum cukup" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "Item tagihan material" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "Hasil produksi" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" -#: build/serializers.py:665 +#: build/serializers.py:668 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:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak" -#: build/serializers.py:742 +#: build/serializers.py:745 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:747 +#: build/serializers.py:750 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:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" -#: build/serializers.py:826 +#: build/serializers.py:829 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:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "Lokasi tidak termasuk" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "Jangan ambil stok item dari lokasi yang dipilih" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "Stok bergantian" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "Stok pengganti" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "Izinkan alokasi bagian pengganti" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Cetak aksi" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "Cetak laporan order produksi" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "Aksi produksi" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Ubah Produksi" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Batalkan Produksi" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "Hapus Produksi" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "Selesaikan Produksi" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "Deskripsi Produksi" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "Tidak ada hasil pesanan yang dibuat oleh pesanan ini" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 594339a8ad..34577d8275 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministrazione" @@ -33,25 +33,25 @@ msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministra msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Note" @@ -137,7 +137,7 @@ msgstr "Il server remoto ha restituito una risposta vuota" msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" @@ -209,7 +209,7 @@ msgstr "File mancante" msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Collegamento" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -245,9 +249,9 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Nome" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Nome" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Dati del Codice a Barre" msgid "Third party barcode data" msgstr "Dati Codice a Barre applicazioni di terze parti" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Codice a Barre" @@ -374,11 +378,11 @@ msgstr "Codice univoco del codice a barre" msgid "Existing barcode found" msgstr "Trovato codice a barre esistente" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Errore del server" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." @@ -459,107 +463,107 @@ msgstr "URL del file immagine remota" msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Ceco" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Danese" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Tedesco" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Greco" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Inglese" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Spagnolo" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Spagnolo (Messicano)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Farsi / Persiano" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Francese" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Ebraico" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Ungherese" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Giapponese" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Olandese" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norvegese" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polacco" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portoghese" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portoghese (Brasile)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Sloveno" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Svedese" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Thailandese" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Cinese" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Inviato" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Completo" @@ -610,9 +614,10 @@ msgstr "Reso" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Spedito" @@ -800,7 +805,7 @@ msgstr "Informazioni sistema" msgid "About InvenTree" msgstr "Informazioni Su InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" @@ -820,7 +825,7 @@ msgstr "Ordine di Produzione" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Ordini di Produzione" @@ -832,19 +837,19 @@ msgstr "Scelta non valida per la produzione genitore" msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Riferimento" @@ -852,7 +857,7 @@ msgstr "Riferimento" msgid "Brief description of the build" msgstr "Breve descrizione della produzione" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produzione Genitore" @@ -861,9 +866,9 @@ msgstr "Produzione Genitore" msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ 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:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Posizione Di Origine" @@ -965,19 +970,19 @@ msgstr "Stato Produzione" msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Data di creazione" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Data di completamento" @@ -1006,15 +1011,15 @@ msgstr "Rilasciato da" msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Collegamento esterno" @@ -1074,11 +1079,11 @@ msgstr "L'elemento di compilazione deve specificare un output poiché la parte p 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:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" @@ -1090,7 +1095,7 @@ msgstr "La quantità deve essere 1 per lo stock serializzato" msgid "Selected stock item not found in BOM" msgstr "Articolo in giacenza selezionato non trovato nel BOM" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Produzione" msgid "Build to allocate parts" msgstr "Costruisci per allocare gli articoli" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Articoli in magazzino" msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Origine giacenza articolo" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Installa in" msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Genera Output" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "L'output generato non corrisponde alla produzione principale" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "L'output non corrisponde alle parti dell'ordine di produzione" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "Questa produzione è stata già completata" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "Questo output non è stato completamente assegnato" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "Quantità totale richiesta per articoli rintracciabili" -#: build/serializers.py:219 +#: build/serializers.py:222 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:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Codice Seriale" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "Numeri di Serie Assegnazione automatica" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 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:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Posizione" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Stato" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "Accetta Assegnazione Incompleta" -#: build/serializers.py:385 +#: build/serializers.py:388 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:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "Rimuovi Giacenze Allocate" -#: build/serializers.py:455 +#: build/serializers.py:458 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:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "Rimuovi Output Incompleti" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "Elimina gli output di produzione che non sono stati completati" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "Accetta come consumato da questo ordine di produzione" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "Non assegnare prima di aver completato questo ordine di produzione" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "Giacenza in eccesso assegnata" -#: build/serializers.py:516 +#: build/serializers.py:519 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:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "Accetta Non Assegnato" -#: build/serializers.py:532 +#: build/serializers.py:535 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:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "Accetta Incompleta" -#: build/serializers.py:548 +#: build/serializers.py:551 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:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "La quantità di produzione richiesta non è stata completata" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "Genera Output" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "L'output di produzione deve puntare alla stessa produzione" -#: build/serializers.py:665 +#: build/serializers.py:668 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:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:735 +#: build/serializers.py:738 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:742 +#: build/serializers.py:745 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:747 +#: build/serializers.py:750 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:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:826 +#: build/serializers.py:829 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:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "Escludi Ubicazione" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "Escludi gli elementi stock da questa ubicazione selezionata" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "Scorte Intercambiabili" -#: build/serializers.py:841 +#: build/serializers.py:844 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:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "Sostituisci Giacenze" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "Consenti l'allocazione delle parti sostitutive" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "Articoli Opzionali" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "L'ordine di produzione {bo} è in ritardo" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "Azioni Barcode" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "Mostra QR Code" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "Scollega Codice a Barre" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "Collega Codice a Barre" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Azioni di stampa" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "Stampa report ordine di produzione" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "Azioni Produzione" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Modica Produzione" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Annulla Produzione" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "Duplica Produzione" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "Elimina Produzione" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "Completa Produzione" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "Descrizione Produzione" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "Nessun output di produzione è stato creato per questo ordine di produzione" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "Questo ordine di produzione è assegnato all'ordine di vendita %(link)s" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Questo ordine di produzione è subordinato dell'ordine di produzione %(link)s" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "L'ordine di produzione è pronto per essere contrassegnato come completato" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "L'ordine di produzione non può essere completato poiché gli output rimangono in sospeso" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "La quantità di produzione richiesta non è stata completata" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 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:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Data scadenza" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "Questa produzione era in scadenza il %(target)s" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "Questa produzione era in scadenza il %(target)s" msgid "Overdue" msgstr "In ritardo" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Completato" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Ordini di Vendita" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Inviato da" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Priorità" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "Elimina Ordine Build" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "Dettagli della Produzione" @@ -1597,9 +1652,8 @@ 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:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "Destinazione" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "Articoli Assegnati" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "Lotto" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Creato" @@ -1678,7 +1733,7 @@ msgstr "Ordina articoli richiesti" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Ordine Articoli" @@ -2679,7 +2734,7 @@ msgstr "" 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:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" @@ -3000,89 +3055,105 @@ 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:1983 +msgid "Regex Search" +msgstr "" + +#: common/models.py:1984 +msgid "Enable regular expressions in search queries" +msgstr "" + +#: common/models.py:1990 +msgid "Whole Word Search" +msgstr "" + +#: common/models.py:1991 +msgid "Search queries return results for whole word matches" +msgstr "" + +#: common/models.py:1997 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:1984 +#: common/models.py:1998 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:1990 +#: common/models.py:2004 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:1991 +#: common/models.py:2005 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:1997 +#: common/models.py:2011 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:1998 +#: common/models.py:2012 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:2004 +#: common/models.py:2018 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:2005 +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:2027 +#: common/models.py:2041 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:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:2034 +#: common/models.py:2048 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:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "Prezzo" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "Nome per questa notifica" msgid "Active" msgstr "Attivo" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "Token" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "Segreto" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "Host" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "Intestazione" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "Contenuto" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "Id" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "Titolo" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "Pubblicato" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autore" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "Letto" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "Indirizzo email" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Contatto" @@ -3348,7 +3419,7 @@ msgstr "Valuta predefinita utilizzata per questa azienda" msgid "Company" msgstr "Azienda" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "Seleziona articolo" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "Seleziona Produttore" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "Codice articolo produttore (MPN)" @@ -3400,7 +3471,7 @@ msgstr "Descrizione articolo costruttore" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Codice articolo produttore" @@ -3410,7 +3481,7 @@ msgstr "Nome parametro" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "Valore del parametro" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Fornitore" @@ -3453,12 +3524,12 @@ msgstr "Fornitore" msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "SKU" @@ -3478,7 +3549,7 @@ msgstr "URL dell'articolo del fornitore" msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "costo base" msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "Imballaggio del pezzo" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "Quantità Confezione" @@ -3602,15 +3673,15 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "Telefono" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "Rimuovi immagine" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "Rimuovi l'immagine associata a questa azienda" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Rimuovi" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "Carica immagine" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "Download Immagine" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "Articoli fornitore" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "Cancella articoli" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "Articoli Produttore" @@ -3708,7 +3779,7 @@ msgstr "Giacenza Fornitore" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Ordine di acquisto" @@ -3731,7 +3802,7 @@ msgstr "Nuovo Ordine di Acquisto" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Ordini di Vendita" @@ -3757,7 +3828,7 @@ msgstr "Assegna Giacenza" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "Produttori" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Articoli ordinati" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Articolo Fornitore" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "Azioni Barcode" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "Mostra QR Code" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "Scollega Codice a Barre" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "Collega Codice a Barre" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "Azioni Articolo Fornitore" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Ordine Articolo" @@ -3953,67 +3995,60 @@ msgstr "Cancella Articolo Fornitore" msgid "Delete Supplier Part" msgstr "Elimina Articolo Fornitore" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "Codice a Barre Identificativo" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "Nessuna informazione sul fornitore disponibile" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "Fornitore articolo in giacenza" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Crea nuova allocazione magazzino" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "Ordini articoli fornitore" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "Informazioni Prezzi" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Aggiungi riduzione prezzo" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "Codice Articolo Fornitore QR" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "Collega Codice a Barre con l'Articolo Fornitore" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "Aggiorna Disponibilità Articolo" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -4039,7 +4074,7 @@ msgstr "Clienti" msgid "New Customer" msgstr "Nuovo cliente" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "Aziende" @@ -4113,365 +4148,365 @@ msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Articolo Filtri di ricerca (elenco separato da virgole key=coppia di valori)" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "Sconosciuto" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "Prezzo Totale" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "Descrizione ordine" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" -#: order/models.py:206 +#: order/models.py:207 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:215 +#: order/models.py:216 msgid "Created By" msgstr "Creato Da" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "Note ordine" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "ricevuto da" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "spedito da" -#: order/models.py:814 +#: order/models.py:826 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:818 -msgid "Only a pending order can be marked as complete" -msgstr "Solo un ordine in sospeso può essere contrassegnato come completato" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" +msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 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:824 +#: order/models.py:836 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:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:1051 +#: order/models.py:1069 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:1068 +#: order/models.py:1086 msgid "Context" msgstr "Contesto" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "eliminato" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "Ordine" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Ricevuto" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1236 +#: order/models.py:1254 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:1241 +#: order/models.py:1259 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:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "Note di spedizione" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1523 +#: order/models.py:1541 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:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "Linea" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "Elemento" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "L'ordine non è aperto" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" -#: order/serializers.py:504 -msgid "Unique identifier field" -msgstr "Campo identificativo univoco" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" +msgstr "Codice a Barre" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "I seguenti numeri di serie sono già assegnati" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "Ordini Di Vendita in ritardo" msgid "Sales order {so} is now overdue" msgstr "L'ordine di vendita {so} è ora in ritardo" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "Stampa report ordine acquisto" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "Esportare File Ordine" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "Azioni Ordine" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "Modifica ordine" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "Annulla l'ordine" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "Duplica Ordine" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "Invia ordine" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "Ricevere articoli" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "Ricevi elementi" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Contrassegna ordine come completato" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Completa l'ordine" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Riferimento ordine" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Descrizione Dell'Ordine" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "Stato dell'ordine" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "Nessuna informazione sul fornitore disponibile" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "Elementi della linea completati" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "Incompleto" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Emesso" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "Costo totale" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "Il costo totale non può essere calcolato" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "Duplica selezionati" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "Elementi D'Ordine D'Acquisto" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "Aggiungi Elemento Riga" @@ -4920,70 +4967,86 @@ msgstr "Elementi Ricevuti" msgid "Order Notes" msgstr "Note dell'Ordine" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "Stampa lista d'imballaggio" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "Riferimento Cliente" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "Costo Totale" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "Stampa il rapporto dell'ordine delle vendite" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "Completa Ordine Di Vendita" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "Questo Ordine di Vendita non è stato assegnato completamente" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Spedizioni Completate" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Elementi Ordine di Vendita" @@ -5039,20 +5102,20 @@ msgstr "Nome Articolo" msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Revisione" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Parole Chiave" @@ -5072,17 +5135,17 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Scorta Minima" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "In magazzino" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "Utilizzato In" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "Allocato" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "In Costruzione" @@ -5131,7 +5194,7 @@ msgstr "Percorso Categoria" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Articoli" @@ -5162,36 +5225,36 @@ msgstr "Prezzo Minimo" msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "Ordine D'Acquisto In Arrivo" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "Ordine di Vendita in Uscita" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "Giacenza prodotta dall'Ordine di Costruzione" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "Giacenza richiesta per l'Ordine di Produzione" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "Valido" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Posizione Predefinita" @@ -5199,8 +5262,8 @@ msgstr "Posizione Predefinita" msgid "Total Stock" msgstr "Giacenze Totali" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "Disponibilità in magazzino" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "Categoria Articoli" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "Categorie Articolo" @@ -5223,7 +5286,7 @@ msgstr "Categorie Articolo" msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "Keywords predefinite" msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "Icona" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "Icona (facoltativa)" @@ -5299,7 +5362,7 @@ msgstr "Quest'articolo è un articolo di template?" msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante Di" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "Numero di revisione o di versione" msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Fornitore predefinito" @@ -5415,8 +5478,8 @@ msgstr "Creazione Utente" msgid "User responsible for this part" msgstr "Utente responsabile di questo articolo" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Ultimo Inventario" @@ -5573,7 +5636,7 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Data" @@ -5826,7 +5889,7 @@ msgstr "Consenti Le Varianti" 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:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" @@ -6106,7 +6169,7 @@ msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo co #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "Quantità Totale" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "Aggiorna i dati di pianificazione" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "Aggiorna" @@ -6420,13 +6483,13 @@ msgstr "Scarica il Modello Articolo Importato" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "Formato" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "Seleziona il formato del file" @@ -6511,9 +6574,8 @@ msgid "Part can be sold to customers" msgstr "La parte può essere venduta ai clienti" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" -msgstr "L'Articolo è virtuale (non è un articolo fisico)" +msgid "Part is not active" +msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:930 @@ -6523,71 +6585,70 @@ msgstr "L'Articolo è virtuale (non è un articolo fisico)" msgid "Inactive" msgstr "Inattivo" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "L'Articolo è virtuale (non è un articolo fisico)" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "Mostra i Dettagli Articolo" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "Questo articolo è una variante di %(link)s" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "Assegnato agli Ordini di Produzione" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "Assegnato agli Ordini di Vendita" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "Puoi produrre" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "Livello minimo di giacenza" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "Fascia di Prezzo" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "Ultimo Numero Di Serie" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "Ricerca per numero seriale" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "QR Code Articolo" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "Collega il codice a barre all'Articolo" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "Calcola" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "Rimuovi l'immagine associata all'articolo" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "Nessuna immagine corrispondente trovata" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "Nascondi Dettagli dell'Articolo" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "Aggiorna prezzo articolo" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "Corrispondenza trovata per i dati del codice a barre" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "Il codice a barre corrisponde a un elemento esistente" @@ -6868,15 +6930,15 @@ msgstr "Nessuna corrispondenza trovata per il valore fornito" msgid "Label printing failed" msgstr "Stampa etichetta fallita" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "InvenTree Codice a Barre" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "Fornisce supporto nativo per codici a barre" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "Contributi d'InvenTree" @@ -7172,11 +7234,11 @@ msgstr "Il fornitore è stato eliminato" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "Prezzo Unitario" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 msgid "Total" msgstr "Totale" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "Numero Seriale" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "Risultati Test" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "Risultato" @@ -7290,8 +7352,8 @@ msgstr "Nome Fornitore" msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "Installato In" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "Data di Scadenza" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "Posizioni magazzino" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Proprietario" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "Seleziona Owner" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "Esterno" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "Si tratta di una posizione esterna al magazzino" -#: stock/models.py:170 +#: stock/models.py:171 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:549 +#: stock/models.py:550 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:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Il tipo di articolo ('{pf}') deve essere {pe}" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 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:603 +#: stock/models.py:604 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:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "L'elemento non può appartenere a se stesso" -#: stock/models.py:631 +#: stock/models.py:632 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:645 +#: stock/models.py:646 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:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "Elemento di magazzino principale" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "Dove si trova questo articolo di magazzino?" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "Questo elemento è stato installato su un altro elemento?" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "Numero di serie per questo elemento" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "Genera Costruzione" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "Costruisci per questo elemento di magazzino" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "Origina Ordine di Acquisto" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "Ordine d'acquisto per questo articolo in magazzino" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "Destinazione Ordine di Vendita" -#: stock/models.py:774 +#: stock/models.py:775 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:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Note Elemento di magazzino" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "Prezzo di acquisto unitario al momento dell’acquisto" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "Convertito in articolo" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "L'articolo non è impostato come tracciabile" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "La quantità deve essere un numero intero" -#: stock/models.py:1349 +#: stock/models.py:1373 #, 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:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "I numeri di serie devono essere numeri interi" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Numeri di serie già esistenti: {exists}" -#: stock/models.py:1432 +#: stock/models.py:1456 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:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "L'elemento di magazzino è installato in un altro elemento" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "L'elemento di magazzino contiene altri elementi" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "L'elemento di magazzino è stato assegnato a un cliente" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "L'elemento di magazzino è attualmente in produzione" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "I codici di stato dello stock devono corrispondere" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "Nome Test" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "Note del test" @@ -7843,129 +7905,133 @@ msgstr "Modifica elemento di magazzino" msgid "Delete stock item" msgstr "Cancella elemento di magazzino" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Elemento principale" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "Nessun produttore impostato" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Non sei nell'elenco dei proprietari di questo elemento. Questo elemento di magazzino non può essere modificato." -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "Sola lettura" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" +msgstr "" + +#: stock/templates/stock/item_base.html:272 msgid "This stock item is in production and cannot be edited." msgstr "Questo elemento di magazzino è in produzione e non può essere modificato." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "Modifica l'elemento di magazzino dalla visualizzazione generata." -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "Questo elemento di magazzino non ha superato i test richiesti" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "Questo elemento di magazzino è stato assegnato all'Ordine di Vendita" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "Questo elemento di magazzino è stato assegnato all'Ordine di Produzione" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "Questo elemento di magazzino è di serie - ha un numero di serie unico e la quantità non può essere regolata." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" +msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "pagina precedente" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "Vai al numero di serie precedente" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "pagina successiva" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "Vai al numero di serie successivo" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "Quantità Disponibile" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Nessuna posizione impostata" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "Test" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "Questo elemento di magazzino non ha superato i test richiesti" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Questo Elemento Stock è scaduto il %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "Scaduto" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Questo Elemento Stock scade il %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "Obsoleto" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "Nessun inventario eseguito" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "Modifica Stato Magazzino" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "Stock Item QR Code" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "Collega il codice a barre all'Elemento Stock" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "Selezionare una delle varianti dell'articolo elencate sotto." -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Attenzione" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Questa azione non può essere facilmente annullata" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "Converti Elemento Stock" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "Torna al Magazzino" @@ -8025,29 +8091,29 @@ msgstr "Proprietario Posizione" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Non sei nell'elenco dei proprietari di questa posizione. Questa posizione di giacenza non può essere modificata." -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "Crea nuova posizione di magazzino" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "Nuova Posizione" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "Container magazzino scansionato in questa posizione" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "Codice QR Ubicazione Magazzino" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "Collega il Codice a Barre alla Posizione Magazzino" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "Home Page" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "Elimina allegati selezionati" msgid "Delete Attachments" msgstr "Elimina Allegati" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "Codice a Barre Identificativo" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "È necessario riavviare il server" @@ -9259,10 +9329,6 @@ msgstr "Scansiona il codice a barre usando uno scanner" msgid "Enter barcode data" msgstr "Inserire il codice a barre" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "Codice a Barre" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "Scansiona il codice a barre usando la webcam" @@ -9275,94 +9341,94 @@ msgstr "Inserire le note facoltative per il trasferimento delle scorte" msgid "Enter notes" msgstr "Inserire le note" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "Problemi con il server" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "Risposta sconosciuta dal server" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Risposta del server non valida" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "Scansione del codice a barre" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "Scansiona codice a barre" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "Nessuna risposta dall'URL" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "Questo rimuoverà il collegamento al codice a barre associato" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "Scollega" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "Rimuovere l'articolo in magazzino" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "Scansione articoli di magazzino in sede" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "Scansione del codice a barre dell'articolo di magazzino per effettuare il check-in in questa sede" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "Check In" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "Non c'è un codice a barre" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "Articolo di magazzino già scansionato" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "Elemento in giacenza già in questa posizione" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "Aggiunta di un articolo di magazzino" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "Il codice a barre non corrisponde a un articolo di magazzino valido" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "Scansione delle scorte contenute in sede" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "Scansionare il codice a barre di scorta contenuta per effettuare il check-in in questa sede" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "Il codice a barre non corrisponde a una posizione di magazzino valida" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "Controlla Nella Posizione" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "Il codice a barre non corrisponde a una posizione valida" @@ -9381,7 +9447,7 @@ msgstr "Dati" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Chiudi" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "Nessun prezzo disponibile" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "Nessuna Scorta Disponibile" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "Nessun test richiesto per questa produzione" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "Modifica allocazione magazzino" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "Elimina posizione giacenza" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "Quantità Per" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "Scorte insufficienti disponibili" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "Scorte sufficienti disponibili" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "Produci scorta" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "Ordina scorta" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "Assegna scorta" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "Seleziona Articoli" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "È necessario selezionare almeno un articolo da assegnare" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "Specificare il quantitativo assegnato allo stock" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "Tutti gli articoli selezionati sono stati completamente assegnati" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "Seleziona la posizione di origine (lascia vuoto per prendere da tutte le posizioni)" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "Assegna gli Elementi Stock all'Ordine di Produzione" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "Nessuna posizione di magazzino corrispondente" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "Nessun elemento corrispondente trovato" @@ -10120,7 +10186,7 @@ msgstr "Esistono errori nel modulo" msgid "No results found" msgstr "Nessun risultato trovato" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "Ricerca" @@ -10148,7 +10214,7 @@ msgstr "SÌ" msgid "NO" msgstr "NO" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "Note aggiornate" @@ -10275,40 +10341,40 @@ msgstr "Nessuna notifica non letta" msgid "Notifications will load here" msgstr "Le notifiche verranno caricate qui" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "Esporta Ordine" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "Duplica Linea" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "Modifica Linea" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "Cancella Linea" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "Nessuna linea elementi trovata" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "Duplica linea" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "Modifica linea" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "Cancella linea" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "Nessuna variante trovata" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "Nessun ordine d'acquisto trovato" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "Questo elemento è in ritardo" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "Ricevi linea elemento" @@ -10718,184 +10784,206 @@ msgstr "Modifica ordine d'acquisto" msgid "Duplication Options" msgstr "Opzioni Duplicazione" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "Completa Ordine D'Acquisto" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "Contrassegnare questo ordine come completato?" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "Tutti gli elementi della riga sono stati ricevuti" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "Questo ordine ha elementi di riga che non sono stati contrassegnati come ricevuti." -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "Completare questo ordine significa che l'ordine e gli elementi della riga non saranno più modificabili." -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "Annulla Ordine di Acquisto" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Sei sicuro di voler annullare questo ordine di acquisto?" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "Questo ordine d'acquisto non può essere cancellato" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "Problema Ordine di Acquisto" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "Deve essere selezionata almeno un articolo acquistabile" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "Quantità da ordinare" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "Nuovo articolo fornitore" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "Nuovo ordine d'acquisto" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "Aggiungi ordine d'acquisto" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "Nessun fornitore articolo corrispondente" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "Seleziona Linee Elementi" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "È necessario selezionare almeno una linea elemento" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "Aggiungi codice lotto" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "Aggiungi numeri seriali" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "Quantità Ricevuta" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "Quantità da ricevere" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "Stato giacenza" -#: templates/js/translated/purchase_order.js:1196 +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "Aggiungi codice lotto" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" +msgstr "Aggiungi numeri seriali" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 msgid "Order Code" msgstr "Codice ordine" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" -msgstr "Ordinato" - -#: templates/js/translated/purchase_order.js:1199 +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "Quantità da Ricevere" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "Conferma la ricezione degli elementi" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "Ricevi Elementi Ordine D'Acquisto" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "L'Ordine è in ritardo" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "Elementi" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "Duplica Linee Elementi" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "Modifica Linee Elementi" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "Cancella Linea Elemento" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "Duplica linea elemento" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "Modifica linea elemento" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "Cancella linea elemento" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "Cliente non valido" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "Nessun elemento di riga corrispondente" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "Crea Ordine di Vendita" msgid "Edit Sales Order" msgstr "Modifica Ordine di Vendita" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "I seguenti elementi in magazzino saranno spediti" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "Completa Spedizione" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "Conferma Spedizione" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "Nessuna spedizione in sospeso trovata" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "Spedizioni Completate" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "Salta" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "Questo ordine ha elementi di riga che non sono stati completati." -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "Annulla Ordine di Vendita" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Cancellando questo ordine, l'ordine non sarà più modificabile." -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "Crea Nuova Spedizione" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "Non sono state trovati ordini di vendita" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "Modifica spedizione" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "Completa spedizione" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "Elimina spedizione" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "Modifica spedizione" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "Elimina Spedizione" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "Nessuna spedizione corrispondente trovata" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "Riferimento della spedizione" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "Non spedito" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "Tracciamento" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "Fattura" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "Aggiungi Spedizione" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "Conferma l'assegnazione della giacenza" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "Assegna Elementi di Magazzino all'Ordine di Vendita" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "Nessun ordine di vendita trovato" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "Modifica posizione giacenza" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "Conferma Operazione Eliminazione" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "Elimina posizione giacenza" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "Spedito al cliente" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "Nessun posizione specificata" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "Assegna Numeri di Serie" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "Prezzo d'acquisto" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "Calcola il prezzo" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "Non può essere eliminato perché gli elementi sono stati spediti" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "Non può essere eliminato perché gli elementi sono stati assegnati" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "Assegna Numeri di Serie" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "Aggiorna Prezzo Unitario" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "Minimizza risultati" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "Rimuovi risultati" @@ -11848,51 +11937,51 @@ msgstr "Esporta Dati Tabella" msgid "Select File Format" msgstr "Seleziona Formato File" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "Caricamento dati" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "righe per pagina" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "Mostra tutte le righe" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "Visualizzo" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "a" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "di" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "righe" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "Nessun risultato corrispondente" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "Mostra/nascondi la paginazione" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "Attiva/disattiva" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "Colonne" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "Tutti" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index bd0fddb171..db413d99a0 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "" @@ -33,25 +33,25 @@ msgstr "" msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "メモ" @@ -137,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -209,7 +209,7 @@ msgstr "ファイルがありません" msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "リンク" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -245,9 +249,9 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "お名前" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "お名前" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "" @@ -374,11 +378,11 @@ msgstr "" msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "" @@ -459,107 +463,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "ドイツ語" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "ギリシャ語" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "英語" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "スペイン語" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "スペイン語(メキシコ)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "フランス語" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "ヘブライ語" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "ハンガリー語" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "イタリア語" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "日本語" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "韓国語" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "オランダ語" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "ノルウェー語" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "ポーランド語" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "ロシア語" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "スウェーデン語" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "タイ語" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "トルコ語" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "ベトナム語" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "中国語" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "設置済" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "完了" @@ -610,9 +614,10 @@ msgstr "返品済" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "発送済み" @@ -800,7 +805,7 @@ msgstr "システム情報" msgid "About InvenTree" msgstr "InvenTree について" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -820,7 +825,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "" @@ -832,19 +837,19 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "" @@ -852,7 +857,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" @@ -861,9 +866,9 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "" @@ -965,19 +970,19 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "作成日時" @@ -989,7 +994,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" @@ -1006,15 +1011,15 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "" @@ -1074,11 +1079,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1090,7 +1095,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "" msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "在庫商品" msgid "Source stock item" msgstr "" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "ステータス" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 -msgid "Print actions" +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" msgstr "" #: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1678,7 +1733,7 @@ msgstr "注文必須パーツ" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "パーツの注文" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "メーカー・パーツ" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "サプライヤー・パーツ" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "パーツを削除" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "メーカー・パーツ" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "パーツの注文" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "パーツ" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "期限切れ" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index 982ef8b2af..8e78ca3542 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -19,42 +19,42 @@ msgstr "" #: InvenTree/api.py:65 msgid "API endpoint not found" -msgstr "" +msgstr "API endpoint 없음" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" -msgstr "" +msgstr "이 모델을 볼 수 있는 권한이 없습니다." -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" -msgstr "" +msgstr "오류 세부 정보는 관리자 패널에서 찾을 수 있습니다." #: InvenTree/fields.py:129 msgid "Enter date" -msgstr "" +msgstr "날짜 입력" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" -msgstr "" +msgstr "메모" #: InvenTree/format.py:152 #, python-brace-format @@ -83,7 +83,7 @@ msgstr "새 비밀번호 확인" #: InvenTree/forms.py:160 msgid "Old password" -msgstr "" +msgstr "이전 암호" #: InvenTree/forms.py:179 msgid "Email (again)" @@ -137,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "" @@ -209,7 +209,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "첨부파일" msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "링크" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "외부 URL로 링크" @@ -245,9 +249,9 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "이름" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "이름" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "바코드 해시" @@ -374,11 +378,11 @@ msgstr "" msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "" @@ -459,107 +463,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "체코어" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "독일어" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "그리스어" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "영어" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "스페인어" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "스페인어 (멕시코)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "파르시어/페르시아어" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "프랑스어" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "히브리어" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "헝가리어" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "이탈리아어" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "일본어" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "한국어" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "네덜란드어" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "노르웨이어" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "폴란드어" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "러시아어" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "스웨덴어" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "태국어" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "터키어" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "베트남어" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "중국어" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "" @@ -610,9 +614,10 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "" @@ -800,7 +805,7 @@ msgstr "시스템 정보" msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -820,7 +825,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "" @@ -832,19 +837,19 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "" @@ -852,7 +857,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" @@ -861,9 +866,9 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "" @@ -965,19 +970,19 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "" @@ -989,7 +994,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" @@ -1006,15 +1011,15 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "외부 링크" @@ -1074,11 +1079,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1090,7 +1095,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "일련번호" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "위치" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "상태" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 -msgid "Print actions" +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" msgstr "" #: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "QR 코드 보기" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "작성자" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "회사" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "URL에서 이미지 다운로드" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "전화번호" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "이미지 업로드" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "이미지 다운로드" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "QR 코드 보기" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "신규 고객" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" +msgstr "바코드" + +#: order/serializers.py:510 +msgid "Scanned barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "이미 사용 중인 바코드입니다" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "일련번호 검색" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "단가" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "일련번호" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "경고" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "홈페이지" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "서버 재시작 필요" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "바코드" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "서버 오류" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "예" msgid "NO" msgstr "아니오" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 8de5a1fddf..22b4b57acc 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" -msgstr "" +msgstr "Gebruiker heeft geen rechten om dit model te bekijken" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Error details kunnen worden gevonden in het admin scherm" @@ -33,25 +33,25 @@ msgstr "Error details kunnen worden gevonden in het admin scherm" msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Opmerkingen" @@ -103,7 +103,7 @@ msgstr "Het opgegeven primaire e-mailadres is ongeldig." #: InvenTree/forms.py:242 msgid "The provided email domain is not approved." -msgstr "" +msgstr "Het ingevoerde e-maildomein is niet goedgekeurd." #: InvenTree/helpers.py:168 msgid "Connection error" @@ -137,7 +137,7 @@ msgstr "Externe server heeft lege reactie teruggegeven" msgid "Supplied URL is not a valid image file" msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" @@ -157,7 +157,7 @@ msgstr "Ongeldig groepsbereik: {g}" #: InvenTree/helpers.py:702 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" -msgstr "" +msgstr "Groepsbereik {g} overschrijdt toegestane hoeveelheid ({q})" #: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 #, python-brace-format @@ -175,7 +175,7 @@ msgstr "Hoeveelheid van unieke serienummers ({s}) moet overeenkomen met de hoeve #: InvenTree/helpers.py:960 msgid "Remove HTML tags from this value" -msgstr "" +msgstr "Verwijder HTML tags van deze waarde" #: InvenTree/models.py:243 msgid "Improperly formatted pattern" @@ -209,7 +209,7 @@ msgstr "Ontbrekend bestand" msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Link" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -245,9 +249,9 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -286,13 +290,13 @@ msgstr "Fout bij hernoemen bestand" #: InvenTree/models.py:527 msgid "Duplicate names cannot exist under the same parent" -msgstr "" +msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" #: InvenTree/models.py:546 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Naam" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Naam" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Streepjescode gegevens" msgid "Third party barcode data" msgstr "Streepjescode van derden" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Hash van Streepjescode" @@ -374,11 +378,11 @@ msgstr "Unieke hash van barcode gegevens" msgid "Existing barcode found" msgstr "Bestaande barcode gevonden" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Serverfout" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." @@ -394,7 +398,7 @@ msgstr "Valuta" #: InvenTree/serializers.py:85 msgid "Select currency from available options" -msgstr "" +msgstr "Selecteer valuta uit beschikbare opties" #: InvenTree/serializers.py:334 msgid "Filename" @@ -459,107 +463,107 @@ msgstr "URL van extern afbeeldingsbestand" msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Tsjechisch" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Deens" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Duits" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Grieks" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Engels" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Spaans" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Spaans (Mexicaans)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Farsi / Perzisch" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Frans" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Hebreeuws" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Hongaars" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Italiaans" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japans" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Koreaans" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Nederlands" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Noors" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Pools" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugees" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portugees (Braziliaans)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" -msgstr "" +msgstr "Sloveens" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Thais" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Turks" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Chinees" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Geplaatst" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Voltooid" @@ -608,11 +612,12 @@ msgstr "Retour" #: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395 msgid "In Progress" -msgstr "" +msgstr "In Behandeling" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Verzonden" @@ -726,15 +731,15 @@ msgstr "Verbruikt door productieorder" #: InvenTree/status_codes.py:340 msgid "Shipped against Sales Order" -msgstr "" +msgstr "Verzonden onder verkooporder" #: InvenTree/status_codes.py:342 msgid "Received against Purchase Order" -msgstr "" +msgstr "Ontvangen onder verkooporder" #: InvenTree/status_codes.py:344 msgid "Returned against Return Order" -msgstr "" +msgstr "Geretourneerd onder retourorder" #: InvenTree/status_codes.py:358 msgid "Production" @@ -742,23 +747,23 @@ msgstr "Productie" #: InvenTree/status_codes.py:430 msgid "Return" -msgstr "" +msgstr "Retour" #: InvenTree/status_codes.py:431 msgid "Repair" -msgstr "" +msgstr "Herstel" #: InvenTree/status_codes.py:432 msgid "Refund" -msgstr "" +msgstr "Restitutie" #: InvenTree/status_codes.py:433 msgid "Replace" -msgstr "" +msgstr "Vervangen" #: InvenTree/status_codes.py:434 msgid "Reject" -msgstr "" +msgstr "Afwijzen" #: InvenTree/validators.py:18 msgid "Not a valid currency code" @@ -800,7 +805,7 @@ msgstr "Systeeminformatie" msgid "About InvenTree" msgstr "Over InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" @@ -820,7 +825,7 @@ msgstr "Productieorder" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Productieorders" @@ -832,19 +837,19 @@ msgstr "Ongeldige keuze voor bovenliggende productie" msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Referentie" @@ -852,7 +857,7 @@ msgstr "Referentie" msgid "Brief description of the build" msgstr "Korte beschrijving van de productie" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Bovenliggende Productie" @@ -861,9 +866,9 @@ msgstr "Bovenliggende Productie" msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "Verkooporder Referentie" msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Bronlocatie" @@ -965,19 +970,19 @@ msgstr "Productiestatus" msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Aanmaakdatum" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Opleveringsdatum" @@ -1006,15 +1011,15 @@ msgstr "Uitgegeven door" msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1022,13 +1027,13 @@ msgstr "Verantwoordelijke" #: build/models.py:287 msgid "User or group responsible for this build order" -msgstr "" +msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Externe Link" @@ -1074,11 +1079,11 @@ msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofd msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" @@ -1090,7 +1095,7 @@ msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" msgid "Selected stock item not found in BOM" msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Product" msgid "Build to allocate parts" msgstr "Product om onderdelen toe te wijzen" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Voorraadartikel" msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Bron voorraadartikel" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,257 +1186,258 @@ msgstr "Installeren in" msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:219 +#: build/serializers.py:222 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:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Serienummers" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Locatie" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "Toegewezen Voorraad Verwijderen" -#: build/serializers.py:455 +#: build/serializers.py:458 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:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" -msgstr "" +msgstr "Accepteer zoals geconsumeerd onder deze bouwopdracht" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" -msgstr "" +msgstr "De-alloceren voordat deze bouwopdracht voltooid wordt" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" -msgstr "" +msgstr "Overgealloceerde voorraad" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "" +msgstr "Hoe wilt u omgaan met extra voorraaditems toegewezen aan de bouworder" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" -msgstr "" +msgstr "Sommige voorraadartikelen zijn overalloceerd" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:532 +#: build/serializers.py:535 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:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:548 +#: build/serializers.py:551 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:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:665 +#: build/serializers.py:668 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:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:735 +#: build/serializers.py:738 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:742 +#: build/serializers.py:745 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:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" -#: build/serializers.py:826 +#: build/serializers.py:829 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:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "Optionele Items" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" -msgstr "" +msgstr "Alloceer optionele BOM items om bestelling te bouwen" #: build/tasks.py:100 msgid "Stock required for build order" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "Productieorder {bo} is nu achterstallig" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "Barcode acties" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "QR-code weergeven" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "Barcode loskoppelen" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "Koppel Barcode" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Afdruk acties" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "Print productieorderrapport" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "Productie acties" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Bewerk Productie" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Annuleer Productie" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" -msgstr "" +msgstr "Dupliceer Bouw" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "Verwijder Productie" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "Voltooi Productie" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "Productiebeschrijving" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "Er zijn geen productuitvoeren aangemaakt voor deze productieorder" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "Deze Productieorder is toegewezen aan verkooporder %(link)s" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Deze Productieorder is een onderdeel van Productieorder %(link)s" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "Productieorder is gereed om te markeren als voltooid" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Productieorder kan niet worden voltooid omdat er nog producties openstaan" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "Vereiste Producthoeveelheid is nog niet bereikt" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Streefdatum" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "Deze productie was verwacht op %(target)s" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "Deze productie was verwacht op %(target)s" msgid "Overdue" msgstr "Achterstallig" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Voltooid" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Verkooporder" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Uitgegeven door" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Prioriteit" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "Verwijder Productieorder" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "Bouworder QR Code" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "Link Barcode aan bouwopdracht" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "Productie details" @@ -1597,9 +1652,8 @@ msgstr "Voorraadbron" msgid "Stock can be taken from any available location." msgstr "Voorraad kan worden genomen van elke beschikbare locatie." -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "Bestemming" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "Toegewezen Onderdelen" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "Batch" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Gecreëerd" @@ -1678,7 +1733,7 @@ msgstr "Vereiste onderdelen bestellen" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Onderdelen bestellen" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "Prijs" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "Actief" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "Token" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "Geheim" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "Host" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "Koptekst" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "Contact e-mailadres" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Contact" @@ -3348,7 +3419,7 @@ msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" msgid "Company" msgstr "Bedrijf" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "Onderdeel selecteren" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "Fabrikant selecteren" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "MPN" @@ -3400,7 +3471,7 @@ msgstr "Omschrijving onderdeel fabrikant" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" @@ -3410,7 +3481,7 @@ msgstr "Parameternaam" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "Parameterwaarde" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Leverancier" @@ -3453,12 +3524,12 @@ msgstr "Leverancier" msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "SKU" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "basisprijs" msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "Telefoon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "Afbeelding Uploaden" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "Afbeelding Downloaden" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "Verwijder Onderdelen" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "Fabrikant onderdelen" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Inkooporders" @@ -3731,7 +3802,7 @@ msgstr "Nieuwe Inkooporder" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Verkooporders" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "Fabrikanten" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Order onderdeel" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Leveranciersonderdeel" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "QR-code weergeven" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Order Onderdeel" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "Geen leveranciersinformatie beschikbaar" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Nieuw voorraadartikel aanmaken" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Nieuw Voorraadartikel" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "Leverancier Onderdelenorders" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "Prijsinformatie" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Voorraadartikelen" @@ -4039,7 +4074,7 @@ msgstr "Klanten" msgid "New Customer" msgstr "Nieuwe Klant" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "Bedrijven" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "Totaalprijs" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "Order beschrijving" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "Link naar externe pagina" -#: order/models.py:206 +#: order/models.py:207 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:215 +#: order/models.py:216 msgid "Created By" msgstr "Aangemaakt Door" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "Gebruiker of groep verantwoordelijk voor deze order" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "Ordernotities" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "ontvangen door" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:814 +#: order/models.py:826 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:818 -msgid "Only a pending order can be marked as complete" -msgstr "Alleen orders in afwachting kunnen als voltooid worden gemarkeerd" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" +msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 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:824 +#: order/models.py:836 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:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "Context" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "Order" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Ontvangen" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Zending" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "Zendingnotities" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1523 +#: order/models.py:1541 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:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "Regel" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "Artikel" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:504 -msgid "Unique identifier field" -msgstr "Uniek identificatieveld" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" +msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "Achterstallige Verkooporder" msgid "Sales order {so} is now overdue" msgstr "Verkooporder {so} is nu achterstallig" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "Print rapport inkooporder" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "Exporteer order naar bestand" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "Order acties" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "Order bewerken" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "Order annuleren" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "Ontvang artikelen" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "Ontvang Artikelen" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Order markeren als voltooid" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Order Voltooien" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Order Referentie" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Order Beschrijving" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "Order Status" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "Geen leveranciersinformatie beschikbaar" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "Afgeronde artikelen" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "Incompleet" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Uitgegeven" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "Totale kosten" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "Totale kosten konden niet worden berekend" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "Inkooporder Artikelen" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "Artikel toevoegen" @@ -4920,70 +4967,86 @@ msgstr "Ontvangen Artikelen" msgid "Order Notes" msgstr "Ordernotities" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "Pakbon afdrukken" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "Klantreferentie" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "Print verkooporderrapport" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "Voltooi Verkooporder" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "Deze Verkooporder is niet volledig toegewezen" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Voltooide Verzendingen" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Verkoooporder Artikelen" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "Toegewezen" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "Binnenkomende Inkooporder" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "Uitgaande Verkooporder" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "Geproduceerde voorraad door Productieorder" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "Voorraad vereist voor Productieorder" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Standaard locatie" @@ -5199,8 +5262,8 @@ msgstr "Standaard locatie" msgid "Total Stock" msgstr "Totale Voorraad" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "Beschikbare Voorraad" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Datum" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "Formaat" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "Selecteer bestandsindeling" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "Toegewezen aan Productieorder" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "Toegewezen aan verkooporders" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "Geen overeenkomende afbeeldingen gevonden" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "Overeenkomst gevonden voor streepjescodegegevens" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "Stukprijs" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 msgid "Total" msgstr "Totaal" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "Serienummer" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "Voorraadlocaties" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "Inkooporder Bron" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "Bestemming Verkooporder" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "Geen fabrikant geselecteerd" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "Dit voorraadartikel is toegewezen aan Verkooporder" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "Dit voorraadartikel is toegewezen aan Productieorder" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "vorige pagina" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "volgende pagina" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Geen locatie ingesteld" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt." -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sublocaties" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "Maak nieuwe voorraadlocatie" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "Nieuwe Locatie" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "Startpagina" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Sluit" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "Geen Voorraad Aanwezig" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "Voorraadtoewijzing bewerken" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "Voorraadtoewijzing verwijderen" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "Genoeg voorraad beschikbaar" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "Productie voorraad" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "Voorraad order" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "Voorraad toewijzen" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "Onderdelen selecteren" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "Er moet op zijn minst één onderdeel toegewezen worden" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "Specificeer voorraadtoewijzingshoeveelheid" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruiken)" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "Voorraadartikelen toewijzen aan Productieorder" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "Geen overeenkomende voorraadlocaties" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "Geen overeenkomende voorraadartikelen" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "Export Order" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "Kopieer Regel" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "Bewerk Regel" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "Verwijder Regel" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "Geen artikelen gevonden" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "Kopieer regel" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "Bewerk regel" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "Verwijder regel" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "Geen inkooporder gevonden" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "Dit artikel is achterstallig" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "Artikel ontvangen" @@ -10718,184 +10784,206 @@ msgstr "Bewerk Inkooporder" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "Voltooi Inkooporder" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "Order markeren als voltooid?" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "Alle artikelen zijn ontvangen" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "Deze order heeft artikelen die niet zijn gemarkeerd als ontvangen." -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "Na het voltooien van de order zijn de order en de artikelen langer bewerkbaar." -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "Inkooporder annuleren" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Weet u zeker dat u deze inkooporder wilt annuleren?" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "Deze inkooporder kan niet geannuleerd worden" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "Geef inkooporder uit" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "Te bestellen aantal" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "Nieuwe inkooporder" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "Toevoegen aan inkooporder" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "Geen overeenkomende inkooporders" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "Selecteer artikelen" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "Ten minste één artikel moet worden geselecteerd" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 msgid "Order Code" msgstr "Order Code" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" -msgstr "Besteld" - -#: templates/js/translated/purchase_order.js:1199 +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "Ontvang Artikelen Inkooporder" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "Order is achterstallig" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "Artikelen" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "Artikel dupliceren" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "Artikel wijzigen" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "Artikel verwijderen" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "Artikel dupliceren" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "Artikel bewerken" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "Artikel verwijderen" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "Ongeldige Klant" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "Geen overeenkomende artikelen" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "Verkooporder aanmaken" msgid "Edit Sales Order" msgstr "Verkooporder bewerken" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "Geen voorraadartikelen toegewezen aan deze zending" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "De volgende voorraadartikelen worden verzonden" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "Verzending Voltooien" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "Verzending Bevestigen" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "Geen verzendingen in behandeling gevonden" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "Verzendingen Voltooien" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "Verkooporder annuleren" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Na annulering van de order kan de order niet meer bewerkt worden." -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "Geen verkooporder gevonden" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "Verzending bewerken" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "Verzending Voltooien" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "Verzending verwijderen" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "Verzending bewerken" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "Verzending verwijderen" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "Geen overeenkomende verzending gevonden" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "Verzendingsreferentie" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "Niet verzonden" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "Volgen" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "Factuur" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "Voeg Verzending toe" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "Bevestig de voorraadtoewijzing" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "Voorraadartikel toewijzen aan Verkooporder" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "Geen verkooporder toewijzingen gevonden" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "Bewerk Voorraadtoewijzing" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "Bevestig Verwijderen" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "Verwijder Voorraadtoewijzing" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "Verzonden aan klant" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "Voorraadlocatie niet gespecificeerd" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "Wijs serienummers toe" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "Koop voorraad" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "Bereken prijs" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "Kan niet worden verwijderd omdat artikelen verzonden zijn" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "Kan niet worden verwijderd omdat artikelen toegewezen zijn" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "Wijs Serienummers Toe" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "Werk Stukprijs Bij" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "rijen per pagina" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index a70c93cdd6..673e8d77ad 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "API endepunkt ikke funnet" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Feildetaljer kan ikke finnes i admin-panelet" @@ -33,25 +33,25 @@ msgstr "Feildetaljer kan ikke finnes i admin-panelet" msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Notater" @@ -137,7 +137,7 @@ msgstr "Ekstern server returnerte tomt svar" msgid "Supplied URL is not a valid image file" msgstr "Angitt URL er ikke en gyldig bildefil" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -209,7 +209,7 @@ msgstr "Fil mangler" msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Lenke" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -245,9 +249,9 @@ msgstr "Kommenter" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Navn" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Navn" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Strekkode data" msgid "Third party barcode data" msgstr "Tredjeparts strekkode-data" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Strekkode hash" @@ -374,11 +378,11 @@ msgstr "Unik hash av strekkode-data" msgid "Existing barcode found" msgstr "Eksisterende strekkode funnet" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Serverfeil" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." @@ -459,107 +463,107 @@ msgstr "URL-adressen til ekstern bildefil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Tsjekkisk" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Dansk" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Gresk" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Spansk (Meksikansk)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Nederlandsk" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilian)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Slovensk" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Kinesisk" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Plassert" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Fullført" @@ -610,9 +614,10 @@ msgstr "Returnert" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Sendt" @@ -800,7 +805,7 @@ msgstr "Systeminformasjon" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "Bygningen må avbrytes før den kan slettes" @@ -820,7 +825,7 @@ msgstr "Build ordre" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Build Ordre" @@ -832,19 +837,19 @@ msgstr "Ugylding valg for overordnet build" msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Referanse" @@ -852,7 +857,7 @@ msgstr "Referanse" msgid "Brief description of the build" msgstr "Kort beskrivelse av build" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet build" @@ -861,9 +866,9 @@ msgstr "Overordnet build" msgid "BuildOrder to which this build is allocated" msgstr "Build order som denne build er tildelt til" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Build order som denne build er tildelt til" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Build order som denne build er tildelt til" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "Salg order referanse" msgid "SalesOrder to which this build is allocated" msgstr "Salgorder som denne build er tildelt til" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Kilde plassering" @@ -965,19 +970,19 @@ msgstr "Byggstatus" msgid "Build status code" msgstr "Byggstatuskode" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Batch kode" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Batch kode for denne build output" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Opprettelsesdato" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Fullført dato" @@ -1006,15 +1011,15 @@ msgstr "Utstedt av" msgid "User who issued this build order" msgstr "Brukeren som utstede denne prosjekt order" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Ekstern link" @@ -1074,11 +1079,11 @@ msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er mar msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelige lager mengde ({a})" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "Lagervare er overtildelt" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Tildeling antallet må være større enn null" @@ -1090,7 +1095,7 @@ msgstr "Mengden må væew 1 for serialisert lagervare" msgid "Selected stock item not found in BOM" msgstr "Valgt lagevare ikke funnet i BOM" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Prosjekt" msgid "Build to allocate parts" msgstr "Bygge for å tildele deler" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Lagervare" msgid "Source stock item" msgstr "Kilde lagervare" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Kilde lagervare" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Installerings informasjon" msgid "Destination stock item" msgstr "Målets lagervare" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Byggresultat" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "Byggresultat samsvarer ikke med det overordnede bygget" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "Resultatdel samsvarer ikke med byggordre del" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "Jobben er allerede fullført" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "Denne produksjonen er ikke fullt tildelt" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "Angi antall for build utgang" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "Heltallsverdi kreves for sporbare deler" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, materialene inneholder sporbare deler" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for bygge-utganger" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "Automatisk tildeling av serienummere" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk allokering av nødvendige elementer med tilsvarende serienummer" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienumre finnes allerede eller er ugyldige" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "En liste over byggeresultater må oppgis" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Beliggenhet" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "Sted for ferdige byggeresultater" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "Godta ufullstendig tildeling" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "Fullstendig produkt dersom lagerbeholdning ikke er fullt tildelt" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "Fjern tildelt lagerbeholdning" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "Trekk fra alle varer som allerede er tildelt dette bygget" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "Fjern ufullstendige resultater" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "Slett alle byggresultater som ikke er fullført" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "Godta som brukt av denne byggeordren" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "Fjern før du fullfører denne ordren" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "Overtildelt lager" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hvordan vil du håndtere ekstra lagervarer tildelt for byggeordre" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "Noen varer i lager har blitt overskredet" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "Godta ikke tildelt" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Godta at lagervarer ikke er fullt tildelt til denne byggeordren" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Påkrevd varer er ikke fullt tildelt" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "Godta ufullstendig" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "Godta at antallet byggprodukter som kreves, ikke er gjennomført" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Antall nødvendige bygg er ikke fullført" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "Bestillingen har ufullstendige resultater" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "BOM varer" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "Byggresultat" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "Byggresultat må peke til samme byggversjon" -#: build/serializers.py:665 +#: build/serializers.py:668 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 byggeordren" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "Varen må være på lager" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig mengde ({q}) overskredet" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "Bygge utdata må spesifiseres for allokering av sporede deler" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Bygge utdage kan ikke spesifiseres for allokering av usporede deler" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "Denne lagervaren er allerede tildelt til denne byggeproduksjonen" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "Allokeringselementer må oppgis" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagersted hvor deler skal hentes (la stå tomt for å ta fra hvilken som helst lokasjon)" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "Eksluderer lokasjon" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "Ekskluder lagervarer fra denne valgte lokasjonen" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "Byttebar vare" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagervarer i flere lokasjoner kan brukes om hverandre" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "Erstatningsvare" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "Tilatt tildelling av erstatningsdeler" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "Valgfrie elementer" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "Tildel valgfrie BOM varer til bygge ordre" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "Bygge ordre {bo} er nå forfalt" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Skriv ut handlinger" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "Skriv ut byggeordre rapport" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "Bygg handlinger" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Rediger bygg" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Avbryt bygging" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "Dupliser bygg" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "Slett bygg" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "Denne byggeordren er allokert til salgsordre %(link)s" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Denne byggeordre er underordnet for byggeordre %(link)s" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "Byggeordre er klar til å markere som fullført" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Byggeordre kan ikke fullføres fordi utganger forblir" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "Nødvendig mengde bygg er ikke fullført ennå" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "Lager er ikke fullt tildelt til denne byggordren" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Måldato" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "Forfall for denne builden var %(target)s" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "Forfall for denne builden var %(target)s" msgid "Overdue" msgstr "Forfallt" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Fullført" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Salgsorder" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Utstedt av" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Prioritet" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "Slett denne byggeordren" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "Build detaljer" @@ -1597,9 +1652,8 @@ msgstr "Lager kilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige steder." -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "Destinasjon" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "Tildelte deler" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "Parti" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Opprettet" @@ -1678,7 +1733,7 @@ msgstr "Bestill nødvendige deler" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Bestill deler" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store og små bokstaver" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Del planlegging" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "Aktiv" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "Sjetong" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "Vert" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "Tittel" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "Kontakt e-post" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Kontakt" @@ -3348,7 +3419,7 @@ msgstr "Standardvaluta brukt for dette firmaet" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Produsentdeler" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "Last opp bilde" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "Leverandør deler" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "Slett deler" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "Produsentdeler" @@ -3708,7 +3779,7 @@ msgstr "Leverandør lager" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Bestillingsorder" @@ -3731,7 +3802,7 @@ msgstr "Ny bestillingsorder" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Salgsordre" @@ -3757,7 +3828,7 @@ msgstr "Tildelt lagervare" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "Produsenter" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Bestill del" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Leverandør deler" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "Handlinger for leverandørdeler" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Bestill del" @@ -3953,67 +3995,60 @@ msgstr "Slett Leverandørdel" msgid "Delete Supplier Part" msgstr "Slett Leverandørdel" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "Leverandør lager" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "Leverandørordre" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "Koble strekkode til leverandørdelen" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "Oppdater tilgjengelighet" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "Treff funnet for strekkodedata" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 802d3e5b9a..c1f4f9452f 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" @@ -33,25 +33,25 @@ msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Uwagi" @@ -137,7 +137,7 @@ msgstr "Zdalny serwer zwrócił pustą odpowiedź" msgid "Supplied URL is not a valid image file" msgstr "Podany adres URL nie jest poprawnym plikiem obrazu" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -209,7 +209,7 @@ msgstr "Brak pliku" msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Łącze" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -245,9 +249,9 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Nazwa" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Nazwa" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Dane kodu kreskowego" msgid "Third party barcode data" msgstr "Dane kodu kreskowego stron trzecich" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Hasz kodu kreskowego" @@ -374,11 +378,11 @@ msgstr "Unikalny hasz danych kodu kreskowego" msgid "Existing barcode found" msgstr "Znaleziono istniejący kod kreskowy" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Błąd serwera" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." @@ -459,107 +463,107 @@ msgstr "Adres URL zdalnego pliku obrazu" msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Czeski" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Duński" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Niemiecki" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Grecki" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Angielski" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Hiszpański" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Hiszpański (Meksyk)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Perski" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Francuski" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Hebrajski" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Węgierski" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Włoski" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japoński" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Koreański" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Holenderski" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norweski" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polski" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugalski" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portugalski (Brazylijski)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Rosyjski" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Słoweński" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Szwedzki" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Tajski" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Turecki" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Wietnamski" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Chiński" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Umieszczony" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Zakończono" @@ -610,9 +614,10 @@ msgstr "Zwrócone" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Wysłane" @@ -800,7 +805,7 @@ msgstr "Informacja systemowa" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" @@ -820,7 +825,7 @@ msgstr "Zlecenie Budowy" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Zlecenia budowy" @@ -832,19 +837,19 @@ msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Referencja" @@ -852,7 +857,7 @@ msgstr "Referencja" msgid "Brief description of the build" msgstr "Krótki opis budowy" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Budowa nadrzędna" @@ -861,9 +866,9 @@ msgstr "Budowa nadrzędna" msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ 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:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Lokalizacja źródła" @@ -965,19 +970,19 @@ msgstr "Status budowania" msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Data utworzenia" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Data zakończenia" @@ -1006,15 +1011,15 @@ msgstr "Wydany przez" msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Link Zewnętrzny" @@ -1074,11 +1079,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" @@ -1090,7 +1095,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "Nie znaleziono wybranego elementu magazynowego w BOM" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Budowa" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Element magazynowy" msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Zainstaluj do" msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Numer seryjny" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Lokalizacja" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "Element BOM" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 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:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "Zastępczy magazyn" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "Akcje kodów kreskowych" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "Pokaż Kod QR" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Akcje drukowania" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Edytuj Budowę" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Anuluj Budowę" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Data docelowa" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "Zaległe" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Zakończone" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Zamówienie zakupu" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Dodane przez" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "Szczegóły budowy" @@ -1597,9 +1652,8 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "Przeznaczenie" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "Partia" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Utworzony" @@ -1678,7 +1733,7 @@ msgstr "Zamów wymagane komponenty" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Zamów komponent" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" -msgstr "Pokaż ilość w formularzach" +msgid "Regex Search" +msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" -msgstr "Stały pasek nawigacyjny" +msgid "Show Quantity in Forms" +msgstr "Pokaż ilość w formularzach" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "Stały pasek nawigacyjny" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 msgid "Date Format" msgstr "Format daty" -#: common/models.py:2005 +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "Cena" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "Sekret" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "Zawartość" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "Kontaktowy adres e-mail" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Kontakt" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "Firma" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "Wybierz część" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "Wybierz producenta" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Komponent producenta" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Dostawca" @@ -3453,12 +3524,12 @@ msgstr "Dostawca" msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "koszt podstawowy" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "Opakowanie części" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "Załaduj obrazek" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "Pobierz obraz" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "Komponenty dostawcy" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "Usuń części" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "Części producenta" @@ -3708,7 +3779,7 @@ msgstr "Zapasy dostawcy" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Zamówienia zakupu" @@ -3731,7 +3802,7 @@ msgstr "Nowe zamówienie zakupu" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "Producenci" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Zamów komponent" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "Akcje kodów kreskowych" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "Pokaż Kod QR" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Zamów komponent" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "Skaner kodów" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Utwórz nowy towar" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Nowy towar" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "Informacja cenowa" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Towary" @@ -4039,7 +4074,7 @@ msgstr "Klienci" msgid "New Customer" msgstr "Nowy klient" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "Firmy" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "Cena całkowita" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "Opis Zamówienia" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "Notatki do zamówienia" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "odebrane przez" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "Zamówienie" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Odebrane" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "Notatki do przesyłki" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "Linia" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "Komponent" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" +msgstr "Kod kreskowy" + +#: order/serializers.py:510 +msgid "Scanned barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "Eksportuj zamówienie do pliku" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "Edytuj zamówienie" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "Anuluj zamówienie" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Oznacz zamówienie jako zakończone" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Kompletne zamówienie" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Numer zamówienia" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Opis zamówienia" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "Status zamówienia" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "Niekompletny" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Wydany" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "Duplikuj wybrane" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "Dodaj element zamówienia" @@ -4920,70 +4967,86 @@ msgstr "Otrzymane elementy" msgid "Order Notes" msgstr "Notatki zamówień" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "Całkowity Koszt" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "Nazwa komponentu" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Wersja" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Słowa kluczowe" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "Na stanie" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "Użyte w" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "Przydzielono" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "Ścieżka kategorii" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Części" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "Ważny" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -5199,8 +5262,8 @@ msgstr "Domyślna lokalizacja" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "Dostępna ilość" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "Kategoria komponentu" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "Kategorie części" @@ -5223,7 +5286,7 @@ msgstr "Kategorie części" msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "Domyślne słowa kluczowe" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "Czy ta część stanowi szablon części?" msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Wariant" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "Tworzenie użytkownika" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Data" @@ -5826,7 +5889,7 @@ msgstr "Zezwalaj na warianty" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "Odśwież" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "Wybierz format pliku" @@ -6511,9 +6574,8 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" -msgstr "Część jest wirtualna (nie fizyczna)" +msgid "Part is not active" +msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:930 @@ -6523,71 +6585,70 @@ msgstr "Część jest wirtualna (nie fizyczna)" msgid "Inactive" msgstr "Nieaktywny" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "Część jest wirtualna (nie fizyczna)" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "Przypisane do zamówień sprzedaży" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "Minimalny poziom stanu magazynowego" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "Ostatni numer seryjny" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "Szukaj numeru seryjnego" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "Kod QR części" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "Oblicz" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "Nie znaleziono pasujących obrazów" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "Ukryj szczegóły części" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "Znaleziono wyniki dla danych kodu kreskowego" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "Cena jednostkowa" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 msgid "Total" msgstr "Razem" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "Numer Seryjny" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "Wynik" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "Zainstalowane w" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "Data ważności" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Właściciel" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "Wybierz właściciela" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "Nadrzędny towar" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "Wybierz pasującą część dostawcy dla tego towaru" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1349 +#: stock/models.py:1373 #, 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:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "Nazwa testu" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Element nadrzędny" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "Nie ustawiono producenta" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "Tylko do odczytu" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "poprzednia strona" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "następna strona" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Lokacje nie są ustawione" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "Testy" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "Termin minął" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Ostrzeżenie" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "Wróć do stanu magazynowego" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Podlokalizacje" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "Nowa lokalizacja" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "Strona główna" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "Skaner kodów" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "Wymagane ponowne uruchomienie serwera" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "Wprowadź dane kodu kreskowego" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "Kod kreskowy" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "Wprowadź notatki" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "Błąd serwera" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "Nieznana odpowiedź serwera" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "Niepoprawna odpowiedź serwera" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "Zeskanuj kod kreskowy" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "Brak adresu URL w odpowiedzi" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "Rozłącz" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "Sprawdź" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "Dane wiersza" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Zamknij" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "Ilość za" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "Wybierz części" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "Istnieją błędy formularza" msgid "No results found" msgstr "Nie znaleziono wyników" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "Wyszukiwanie" @@ -10148,7 +10214,7 @@ msgstr "TAK" msgid "NO" msgstr "Nie" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "Nie znaleziono wariantów" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "Edytuj zamówienie zakupu" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "Oznacz zamówienie jako zakończone?" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 msgid "Order Code" msgstr "Kod zamówienia" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" -msgstr "Zamówione" - -#: templates/js/translated/purchase_order.js:1199 +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "Ilość do otrzymania" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "Potwierdź odbiór elementów" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "Przedmioty" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "Nieprawidłowy klient" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "Nie znaleziono zamówień sprzedaży" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "Kompletna wysyłka" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "Nie odnaleziono pasujących przesyłek" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "Numer referencyjny przesyłki" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "Nie wysłano" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "Śledzenie" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "Potwierdź przydział zapasów" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "Cena zakupu" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "Oblicz cenę" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "Zaktualizuj cenę jednostkową" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "Eksportuj dane tabeli" msgid "Select File Format" msgstr "Wybierz format pliku" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "Wczytywanie danych" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "wierszy na stronę" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "Pokaż wszystkie wiersze" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "Pokazywane" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "do" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "z" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "wierszy" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "Brak pasujących wyników" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "Ukryj/Pokaż stronicowanie" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "Przełącz" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "Kolumny" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "Wszystkie" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index d896303a82..c107d3201e 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:39\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "Usuário não tem permissão para ver este modelo" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Detalhes do erro podem ser encontrados no painel de administrador" @@ -33,25 +33,25 @@ msgstr "Detalhes do erro podem ser encontrados no painel de administrador" msgid "Enter date" msgstr "Insira uma Data" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Anotações" @@ -137,7 +137,7 @@ msgstr "O servidor remoto retornou resposta vazia" msgid "Supplied URL is not a valid image file" msgstr "A URL fornecida não é um arquivo de imagem válido" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Quantidade invalida" @@ -209,7 +209,7 @@ msgstr "Arquivo nao encontrado" msgid "Missing external link" msgstr "Link externo nao encontrado" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Anexo" msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Link" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Link para URL externa" @@ -245,9 +249,9 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario sobre arquivo" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "Nomes duplicados não podem existir sob o mesmo parental" msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Nome" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Nome" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Dados de código de barras" msgid "Third party barcode data" msgstr "Dados de código de barras de terceiros" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Hash de código de barras" @@ -374,11 +378,11 @@ msgstr "Hash exclusivo de dados de código de barras" msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Erro de servidor" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." @@ -459,107 +463,107 @@ msgstr "URL do arquivo de imagem remoto" msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Tcheco" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Dinamarquês" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Alemão" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Grego" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Inglês" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Espanhol" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Espanhol (Mexicano)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Persa" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Francês" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Hebraico" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Húngaro" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japonês" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Holandês" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norueguês" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polonês" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Português" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Português (Brasileiro)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Esloveno" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Sueco" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Tailandês" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Chinês" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Colocado" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Completado" @@ -610,9 +614,10 @@ msgstr "Retornado" msgid "In Progress" msgstr "Em Progresso" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Enviado" @@ -800,7 +805,7 @@ msgstr "Informação do Sistema" msgid "About InvenTree" msgstr "Sobre o InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" @@ -820,7 +825,7 @@ msgstr "Ondem de Produção" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Ordens de Produções" @@ -832,19 +837,19 @@ msgstr "Escolha de Produção parental inválida" msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Referência" @@ -852,7 +857,7 @@ msgstr "Referência" msgid "Brief description of the build" msgstr "Breve descrição da produção" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produção Progenitor" @@ -861,9 +866,9 @@ msgstr "Produção Progenitor" msgid "BuildOrder to which this build is allocated" msgstr "Ordem de produção para qual este serviço está alocado" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "Referência do pedido de venda" msgid "SalesOrder to which this build is allocated" msgstr "Ordem de Venda para qual esta produção está alocada" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Local de Origem" @@ -965,19 +970,19 @@ msgstr "Progresso da produção" msgid "Build status code" msgstr "Código de situação da produção" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Código de Lote" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Criado em" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Data de conclusão" @@ -1006,15 +1011,15 @@ msgstr "Emitido em" msgid "User who issued this build order" msgstr "Usuário que emitiu esta ordem de produção" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "Usuário ou grupo responsável para esta ordem de produção" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Link Externo" @@ -1074,11 +1079,11 @@ msgstr "Item de produção deve especificar a saída, pois peças mestres estão 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:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" @@ -1090,7 +1095,7 @@ msgstr "Quantidade deve ser 1 para estoque serializado" msgid "Selected stock item not found in BOM" msgstr "Item do estoque selecionado não encontrado na LDM" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Produção" msgid "Build to allocate parts" msgstr "Faça uma Produção para atribuir peças" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Item de estoque" msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Origem do item em estoque" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Instalar em" msgid "Destination stock item" msgstr "Destino do Item do Estoque" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Saída da Produção" -#: build/serializers.py:157 +#: build/serializers.py:160 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:161 +#: build/serializers.py:164 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:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "Esta saída de produção já foi concluída" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "A saída de produção não está completamente alocada" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "Entre a quantidade da saída de produção" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "Quantidade inteira necessária para peças rastreáveis" -#: build/serializers.py:219 +#: build/serializers.py:222 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:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Números de Série" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Digite os números de série para saídas de produção" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "Alocar Números de Série Automaticamente" -#: build/serializers.py:248 +#: build/serializers.py:251 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:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 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:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Local" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Situação" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "Aceitar Alocação Incompleta" -#: build/serializers.py:385 +#: build/serializers.py:388 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:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "Remover Estoque Alocado" -#: build/serializers.py:455 +#: build/serializers.py:458 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:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "Remover Saídas Incompletas" -#: build/serializers.py:462 +#: build/serializers.py:465 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:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "Aceitar conforme consumido por esta ordem de produção" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "Desatribua antes de completar esta ordem de produção" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "Estoque sobrealocado" -#: build/serializers.py:516 +#: build/serializers.py:519 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 a ordem de produção" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "Alguns itens de estoque foram sobrealocados" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "Aceitar não alocados" -#: build/serializers.py:532 +#: build/serializers.py:535 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:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" -#: build/serializers.py:548 +#: build/serializers.py:551 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:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Quantidade de produção requerida não foi concluída" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "Item LDM" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "Saída da Produção" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "Saída de produção deve indicar a mesma produção" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "bin_item.part deve indicar a mesma peça da ordem de produção" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "Item deve estar em estoque" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantidade disponível ({q}) excedida" -#: build/serializers.py:735 +#: build/serializers.py:738 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:742 +#: build/serializers.py:745 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:747 +#: build/serializers.py:750 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:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" -#: build/serializers.py:826 +#: build/serializers.py:829 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:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "Local não incluso" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "Não incluir itens de estoque deste local" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "Estoque permutável" -#: build/serializers.py:841 +#: build/serializers.py:844 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:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "Substituir Estoque" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "Permitir alocação de peças substitutas" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "Itens opcionais" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "Alocar itens LDM opcionais para a ordem de produção" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "Pedido de produção {bo} está atrasada" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "Ações de código de barras" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "Mostrar QR Code" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "Desatribuir Código de Barras" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "Atribuir Código de Barras" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Ações de impressão" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "Imprimir relatório do pedido de produção" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "Ações de produção" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Editar produção" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Cancelar produção" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "Duplicar produção" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "Excluir produção" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "Concluir produção" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "Descrição da produção" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "Nenhuma saída de produção foi criada para esta ordem de serviço" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "A ordem de produção está alocada para a Ordem de Venda %(link)s" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Essa ordem de produção é filha da ordem de produção %(link)s" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "Ordem de produção está pronta para ser marcada como concluída" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Ordem de produção não pode ser concluída, os resultados pendentes permanecem" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "A quantidade de produção necessária ainda não foi concluída" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 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:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Data alvo" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "Essa produção expirou em %(target)s" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "Essa produção expirou em %(target)s" msgid "Overdue" msgstr "Expirou" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Concluído" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Pedido de Venda" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Emitido por" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "Prioridade" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "Excluir Ordem de Produção" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "QR Code do Pedido de Produção" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "Detalhes da produção" @@ -1597,9 +1652,8 @@ 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:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "Destino" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "Peças alocadas" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "Lote" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Criado" @@ -1678,7 +1733,7 @@ msgstr "Pedir peças necessárias" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Pedir Peças" @@ -2679,7 +2734,7 @@ msgstr "Intervalo para Excluir o Relatório" 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:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas" @@ -3000,89 +3055,105 @@ 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:1983 +msgid "Regex Search" +msgstr "" + +#: common/models.py:1984 +msgid "Enable regular expressions in search queries" +msgstr "" + +#: common/models.py:1990 +msgid "Whole Word Search" +msgstr "" + +#: common/models.py:1991 +msgid "Search queries return results for whole word matches" +msgstr "" + +#: common/models.py:1997 msgid "Show Quantity in Forms" msgstr "Mostrar Quantidade nos Formulários" -#: common/models.py:1984 +#: common/models.py:1998 msgid "Display available part quantity in some forms" msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" -#: common/models.py:1990 +#: common/models.py:2004 msgid "Escape Key Closes Forms" msgstr "Tecla Esc Fecha Formulários" -#: common/models.py:1991 +#: common/models.py:2005 msgid "Use the escape key to close modal forms" msgstr "Usar a tecla Esc para fechar fomulários modais" -#: common/models.py:1997 +#: common/models.py:2011 msgid "Fixed Navbar" msgstr "Fixar Navbar" -#: common/models.py:1998 +#: common/models.py:2012 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:2004 +#: common/models.py:2018 msgid "Date Format" msgstr "Formato da data" -#: common/models.py:2005 +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar datas" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Agendamento de peças" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "Mostrar informações de agendamento de peças" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Balanço de Peça" -#: common/models.py:2027 +#: common/models.py:2041 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:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "Comprimento da Tabela de Frases" -#: common/models.py:2034 +#: common/models.py:2048 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:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "Preço" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "Nome para este webhook" msgid "Active" msgstr "Ativo" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "Token" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "Segredo" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "Servidor" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "Corpo" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "Id" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "Título" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "Publicado" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "Autor" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "Resumo" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "Lida" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "Endereço de e-mail do contato" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Contato" @@ -3348,7 +3419,7 @@ msgstr "Moeda padrão utilizada para esta empresa" msgid "Company" msgstr "Empresa" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "Selecionar peça" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "Selecionar fabricante" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "NPF" @@ -3400,7 +3471,7 @@ msgstr "Descrição da peça do fabricante" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Peça do Fabricante" @@ -3410,7 +3481,7 @@ msgstr "Nome do parâmetro" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "Valor do Parâmetro" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ 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:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Fornecedor" @@ -3453,12 +3524,12 @@ msgstr "Fornecedor" msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "Código (SKU)" @@ -3478,7 +3549,7 @@ msgstr "URL do link externo da peça do fabricante" msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "preço base" msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "Embalagem de peças" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "Quantidade de embalagens" @@ -3602,15 +3673,15 @@ msgstr "Baixar imagem do URL" msgid "Delete image" msgstr "Excluir imagem" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "Telefone" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "Remover imagem" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "Remover imagem associada a esta empresa" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "Remover" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "Enviar imagem" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "Baixar Imagem" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "Peças do Fornecedor" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "Excluir Peças" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "Fabricantes de peças" @@ -3708,7 +3779,7 @@ msgstr "Estoque do Fornecedor" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Pedidos de compra" @@ -3731,7 +3802,7 @@ msgstr "Novo Pedido de Compra" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Pedidos de vendas" @@ -3757,7 +3828,7 @@ msgstr "Estoque Atribuído" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "Pedidos de Devolução" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "Fabricantes" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Pedir peça" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "Contatos" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Fornecedor da Peça" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "Ações de código de barras" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "Mostrar QR Code" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "Desatribuir Código de Barras" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "Atribuir Código de Barras" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "Ações de peças do fornecedor" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Pedir Peça" @@ -3953,67 +3995,60 @@ msgstr "Excluir Fornecedor da Peça" msgid "Delete Supplier Part" msgstr "Excluir Fornecedor da Peça" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "Identificador de Código de Barras" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "Nenhuma informação do fornecedor está disponível" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "Estoque de Peça do Fornecedor" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Criar novo item de estoque" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Novo item de estoque" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "Pedidos de peças do fornecedor" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "Informações de Preço" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "Adicionar parcela de preço" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "QR Code da Peça do Fornecedor" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "Vincular Código de Barras à Parte do Fornecedor" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "Atualizar disponibilidade de peças" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Itens de Estoque" @@ -4039,7 +4074,7 @@ msgstr "Clientes" msgid "New Customer" msgstr "Novo Cliente" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "Empresas" @@ -4113,365 +4148,365 @@ msgstr "Filtros de consulta (lista de valores separados por vírgula" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Filtros de consulta de peça (lista de valores separados por vírgula)" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "Nenhum pedido de compra correspondente encontrado" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "Desconhecido" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "Preço Total" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "Preço total deste pedido" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" -msgstr "" +msgstr "O contato não corresponde à empresa selecionada" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "Descrição do pedido" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "Link para página externa" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data esperada para entrega do pedido. A ordem estará atrasada após esta data." -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "Criado por" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "Usuário ou grupo responsável para este pedido" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" -msgstr "" +msgstr "Ponto de contato para este pedido" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "Observações do pedido" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "Referência do pedido" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "Situação do pedido de compra" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "Empresa da qual os itens estão sendo encomendados" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "Referencia do fornecedor" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "Código de referência do pedido fornecedor" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "recebido por" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "Data de emissão" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "Dia que o pedido foi feito" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "Referência do Cliente " -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "Data de Envio" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "enviado por" -#: order/models.py:814 +#: order/models.py:826 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:818 -msgid "Only a pending order can be marked as complete" -msgstr "Apenas um pedido pendente pode ser marcado como completo" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" +msgstr "Apenas um pedido aberto pode ser marcado como completo" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 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:824 +#: order/models.py:836 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:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "Referência do Item em Linha" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "Observações do Item de Linha" -#: order/models.py:1051 +#: order/models.py:1069 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 a partir da ordem)" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "Contexto" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "Preço Unitário" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "excluído" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "Pedido" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "Fornecedor da Peça" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "Recebido" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Preço de Compra" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "Onde o Comprador quer que este item seja armazenado?" -#: order/models.py:1236 +#: order/models.py:1254 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:1241 +#: order/models.py:1259 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:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Preço de Venda" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "Remessa" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "Número do Envio" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "Notas de envio" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "Número de Rastreamento" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "Informação de rastreamento da remessa" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "Número da Fatura" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "Número de referência para fatura associada" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "O pedido já foi enviado" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "Remessa não foi alocada nos itens de estoque" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "O item do estoque não foi atribuído" -#: order/models.py:1523 +#: order/models.py:1541 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:1525 +#: order/models.py:1543 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:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "Linha" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "Item" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "Selecione o item de estoque para alocar" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "Insira a quantidade de atribuição de estoque" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" -msgstr "" +msgstr "Referência de Pedidos de Devolução" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" -msgstr "" +msgstr "Empresa da qual os itens estão sendo retornados" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" -msgstr "" +msgstr "Estado do pedido de retorno" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "Pedido não pode ser cancelado" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 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:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "O pedido tem itens da linha incompletos" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "O pedido não está aberto" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "Moeda de preço de compra" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "A peça do fornecedor deve ser especificada" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "O pedido de compra deve ser especificado" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "O fornecedor deve corresponder o pedido de compra" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "Pedido de compra deve corresponder ao fornecedor" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "Itens de linha" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "Selecione o local de destino para os itens recebidos" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "Digite o código do lote para itens de estoque recebidos" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "Digite o número de série para itens de estoque recebidos" -#: order/serializers.py:504 -msgid "Unique identifier field" -msgstr "Identificador de exclusivo" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" +msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "Código de barras já em uso" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "Itens de linha deve ser providenciados" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "Loca de destino deve ser especificado" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "Código de barras fornecido deve ser único" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "Moeda de preço de venda" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "Nenhum detalhe da remessa fornecido" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "Item de linha não está associado a este pedido" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "Quantidade deve ser positiva" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "Digite números de série para alocar" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "O pedido já foi enviado" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "O envio não está associado a este pedido" -#: order/serializers.py:1284 +#: order/serializers.py:1293 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:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "Os seguintes números de série já estão alocados" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "Pedido de venda vencido" msgid "Sales order {so} is now overdue" msgstr "Pedido de venda {so} está atrasada" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "Imprimir relatório do pedido de compra" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "Exportar pedido ao arquivo" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "Ações de pedido" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "Editar pedido" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "Cancelar pedido" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "Duplicar pedido" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "Enviar pedido" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "Receber itens" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "Receber Itens" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Marcar pedido como concluído" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Completar Pedido" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Referência do Pedido" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Descrição do Pedido" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "Situação do pedido" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "Nenhuma informação do fornecedor disponível" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "Itens de Linha Concluídos" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "Incompleto" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Emitido" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "Custo total" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "O custo total não pôde ser calculado" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "Duplicar seleção" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "Itens do Pedido de Compra" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "Adicionar item de linha" @@ -4920,70 +4967,86 @@ msgstr "Itens Recebidos" msgid "Order Notes" msgstr "Notas do Pedido" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "Imprimir lista de pacotes" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "Referência do Cliente" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "Custo Total" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "Imprimir Relatório do Pedido de Venda" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "Concluir Pedido de Venda" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "Este Pedido de Venda não foi totalmente alocado" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Envios concluídos" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Itens do Pedido de Venda" @@ -5039,20 +5102,20 @@ msgstr "Nome da Peça" msgid "Part Description" msgstr "Descrição da Peça" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Revisão" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Palavras chave" @@ -5072,17 +5135,17 @@ msgstr "ID Local Padrão" msgid "Default Supplier ID" msgstr "ID de Fornecedor Padrão" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Estoque Mínimo" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "Em Estoque" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "Usado em" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "Alocado" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "Produzindo" @@ -5131,7 +5194,7 @@ msgstr "Caminho da Categoria" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Peças" @@ -5162,36 +5225,36 @@ msgstr "Preço Mínimo" msgid "Maximum Price" msgstr "Preço Máximo" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "Pedido de compra recebido" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "Pedidos de Venda Feitos" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "Estoque produzido por Ordem de Produção" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "Estoque obrigatório para Pedido de Produção" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "Válido" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "Validar a Lista de Materiais completa" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "Esta opção deve ser selecionada" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Local Padrão" @@ -5199,8 +5262,8 @@ msgstr "Local Padrão" msgid "Total Stock" msgstr "Estoque Total" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "Estoque Disponível" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "Categoria da Peça" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "Categorias de Peça" @@ -5223,7 +5286,7 @@ msgstr "Categorias de Peça" msgid "Default location for parts in this category" msgstr "Local padrão para peças desta categoria" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "Palavras-chave Padrão" msgid "Default keywords for parts in this category" msgstr "Palavras-chave padrão para peças nesta categoria" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "Ícone" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "Ícone (opcional)" @@ -5299,7 +5362,7 @@ msgstr "Esta peça é uma peça modelo?" msgid "Is this part a variant of another part?" msgstr "Esta peça é variante de outra peça?" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante de" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "Revisão de peça ou número de versão" msgid "Where is this item normally stored?" msgstr "Onde este item é armazenado normalmente?" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Fornecedor Padrão" @@ -5415,8 +5478,8 @@ msgstr "Criação de Usuário" msgid "User responsible for this part" msgstr "Usuário responsável por esta peça" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "Último Balanço" @@ -5573,7 +5636,7 @@ msgstr "Estoque total disponível no momento do balanço" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "Data" @@ -5826,7 +5889,7 @@ msgstr "Permitir variações" 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:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" @@ -6106,7 +6169,7 @@ msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo def #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "Quantidade Total" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "Atualizar dados de agendamento" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "Recarregar" @@ -6420,13 +6483,13 @@ msgstr "Baixar Modelo de Importação de Peça" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "Formato" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "Selecione o formato de arquivo" @@ -6511,9 +6574,8 @@ msgid "Part can be sold to customers" msgstr "Peça pode ser vendida a clientes" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" -msgstr "Peça é virtual (não é algo físico)" +msgid "Part is not active" +msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:930 @@ -6523,71 +6585,70 @@ msgstr "Peça é virtual (não é algo físico)" msgid "Inactive" msgstr "Inativo" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "Peça é virtual (não é algo físico)" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "Mostrar Detalhes de Peça" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "Esta peça é uma variante de %(link)s" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "Alocado para Pedidos de Construção" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "Alocado para Pedidos de Venda" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "Pode Produzir" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "Nível mínimo de estoque" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "Faixa de Preço" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "Último Número de Série" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "Procurar por número serial" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "QR Code da Peça" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "Vincular Código de Barras à Peça" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "Calcular" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "Remover imagem associada a esta peça" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "Nenhuma imagem correspondente encontrada" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "Esconder Detalhes da Peça" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "Atualizar Preço da Peça" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "Coincidência encontrada para dados de código de barras" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "Código de barras corresponde ao item existente" @@ -6868,15 +6930,15 @@ msgstr "Nenhuma correspondência encontrada para o valor fornecido" msgid "Label printing failed" msgstr "Impressão de etiqueta falhou" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "Códigos de Barras InvenTree" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "Fornece suporte nativo para códigos de barras" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "Contribuidores do InvenTree" @@ -7172,11 +7234,11 @@ msgstr "Fornecedor foi excluído" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "Preço unitário" @@ -7188,22 +7250,22 @@ msgstr "Extra Itens de Linha" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 msgid "Total" msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "Número de Sério" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "Resultados do teste" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "Teste" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "Resultado" @@ -7290,8 +7352,8 @@ msgstr "Nome do Fornecedor" msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "Instalado em" @@ -7315,278 +7377,278 @@ msgstr "Revisão Necessária" msgid "Delete on Deplete" msgstr "Excluir quando esgotado" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "Data de validade" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "Localização externa" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Localizacao do estoque" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "Locais de estoque" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Responsavel" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "Selecionar Responsável" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos." -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "Externo" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "Esta é uma localização de estoque externo" -#: stock/models.py:170 +#: stock/models.py:171 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:549 +#: stock/models.py:550 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:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 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:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Tipo da peça ('{pf}') deve ser {pe}" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 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:603 +#: stock/models.py:604 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:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "O item não pode pertencer a si mesmo" -#: stock/models.py:631 +#: stock/models.py:632 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:645 +#: stock/models.py:646 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:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "Item de Estoque Parental" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "Peça base" -#: stock/models.py:677 +#: stock/models.py:678 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:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "Onde está localizado este item de estoque?" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "Embalagem deste item de estoque está armazenado em" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "Este item está instalado em outro item?" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "Número de série para este item" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "Código do lote para este item de estoque" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "Quantidade de Estoque" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "Produção de Origem" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "Produção para este item de estoque" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "Pedido de compra Fonte" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "Pedido de Compra para este item de estoque" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "Destino do Pedido de Venda" -#: stock/models.py:774 +#: stock/models.py:775 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:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Excluir quando esgotado" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "Excluir este item de estoque quando o estoque for esgotado" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Notas de Item Estoque" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "Preço de compra unitário único no momento da compra" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "Convertido para peça" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "Peça não está definida como rastreável" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "Quantidade deve ser inteira" -#: stock/models.py:1349 +#: stock/models.py:1373 #, 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:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "Códigos de estado do estoque devem corresponder" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "Inativo" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "Nenhum balanço feito" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "Editar Situação do Estoque" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "Identificador de Código de Barras" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "Situação do Estoque" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "Envios concluídos" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 98c6ad1b8b..4c5e722a27 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Подробности об ошибке можно найти в панели администратора" @@ -33,25 +33,25 @@ msgstr "Подробности об ошибке можно найти в пан msgid "Enter date" msgstr "Введите дату" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Заметки" @@ -137,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -209,7 +209,7 @@ msgstr "Файл не найден" msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Ссылка" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -245,9 +249,9 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Название" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Название" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "" @@ -374,11 +378,11 @@ msgstr "" msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "" @@ -459,107 +463,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Чешский" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Датский" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Немецкий" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Греческий" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Английский" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Испанский" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Испанский (Мексика)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Фарси / Персидский" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Французский" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Иврит" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Венгерский" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Итальянский" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Японский" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Корейский" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Голландский" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Норвежский" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Польский" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Португальский" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Португальский (Бразильский диалект)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Русский" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Словенский" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Шведский" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Тайский" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Турецкий" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Вьетнамский" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Китайский" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Размещены" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Готово" @@ -610,9 +614,10 @@ msgstr "Возвращено" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Доставлено" @@ -800,7 +805,7 @@ msgstr "Информация о системе" msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -820,7 +825,7 @@ msgstr "Порядок сборки" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Порядок сборки" @@ -832,19 +837,19 @@ msgstr "Неверный выбор для родительской сборки msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Отсылка" @@ -852,7 +857,7 @@ msgstr "Отсылка" msgid "Brief description of the build" msgstr "Краткое описание сборки" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Родительская сборка" @@ -861,9 +866,9 @@ msgstr "Родительская сборка" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "Отсылка на заказ" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Расположение источника" @@ -965,19 +970,19 @@ msgstr "Статус сборки" msgid "Build status code" msgstr "Код статуса сборки" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Дата создания" @@ -989,7 +994,7 @@ msgstr "Целевая дата завершения" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Дата завершения" @@ -1006,15 +1011,15 @@ msgstr "Выдал/ла" msgid "User who issued this build order" msgstr "Пользователь, выпустивший этот заказ на сборку" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Внешняя ссылка" @@ -1074,11 +1079,11 @@ msgstr "Элемент сборки должен указать вывод сб msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" @@ -1090,7 +1095,7 @@ msgstr "Количество должно быть 1 для сериализов msgid "Selected stock item not found in BOM" msgstr "Выбранная единица хранения не найдена в BOM" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Сборка" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Предметы на складе" msgid "Source stock item" msgstr "Исходный складской предмет" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Исходный складской предмет" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Установить в" msgid "Destination stock item" msgstr "" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "Результат сборки не совпадает с родительской сборкой" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "Результат этой сборки уже помечен как завершенный" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Серийные номера" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для результатов сборки" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Расположение" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Статус" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "BOM Компонент" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "Действия со штрих-кодом" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Печать" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "Печать отчета о заказе сборки" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "Действия со сборкой" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Редактировать сборку" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Отменить сборку" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "Удалить сборку" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "Завершить сборку" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "Описание сборки" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Целевая дата" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "Просрочено" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Завершённые" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Заказ покупателя" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Выдано" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "Удалить заказ на сборку" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "Подробности сборки" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "Назначение" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "Партия" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Создано" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Заказать детали" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "Цена" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "Контактный EMail" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Контакт" @@ -3348,7 +3419,7 @@ msgstr "Для этой компании используется валюта msgid "Company" msgstr "Компания" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "Выберите деталь" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "Выберите производителя" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Деталь производителя" @@ -3410,7 +3481,7 @@ msgstr "Наименование параметра" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "Значение параметра" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Поставщик" @@ -3453,12 +3524,12 @@ msgstr "Поставщик" msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "Ссылка на сайт поставщика" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "Телефон" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "Загрузить изображение" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "Скачать изображение" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "Детали поставщиков" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "Удалить детали" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "Детали производителей" @@ -3708,7 +3779,7 @@ msgstr "Склад поставщика" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Заказы на закупку" @@ -3731,7 +3802,7 @@ msgstr "Новый заказ на закупку" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Заказы на продажу" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "Производители" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Деталь поставщика" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "Действия со штрих-кодом" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Создать единицу хранения" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "Новая единица хранения" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "Информация о цене" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Детали на складе" @@ -4039,7 +4074,7 @@ msgstr "Покупатели" msgid "New Customer" msgstr "Новый покупатель" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "Компании" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "Общая стоимость" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "Курс покупки валюты" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих единиц хранения" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "Курс продажи валюты" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "Действия с заказом" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "Отменить заказ" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "Наименование детали" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Версия" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Ключевые слова" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Минимальный запас" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "На складе" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "Сборки" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "Путь к категории" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Детали" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Место хранения по умолчанию" @@ -5199,8 +5262,8 @@ msgstr "Место хранения по умолчанию" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "Доступный запас" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "Категория детали" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "Ключевые слова по умолчанию" msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "Эта деталь является шаблоном для други msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Разновидность" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "Версия детали" msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "Разрешить разновидности" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "Обновить" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "Деталь может быть продана покупателям" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "Эта деталь является разновидностью %(link)s" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "Минимальный складской запас" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "Подходящие изображения не найдены" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "Найдено совпадение по штрих-коду" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "Серийный номер" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "Места хранения" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "Родительская единица хранения" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "Базовая деталь" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "Код партии для этой единицы хранения" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "Исходная сборка" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту единицу хранения при обнулении складского запаса" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Заметки о единице хранения" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "Редактировать единицу хранения" msgid "Delete stock item" msgstr "Удалить единицу хранения" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Родительский элемент" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Предупреждение" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "Ответственный за место хранения" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Места хранения" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "Создать новое место хранения" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "Новое место хранения" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "Главная страница" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "Ошибка сервера" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "Форма содержит ошибки" msgid "No results found" msgstr "Не найдено" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "Разновидности не найдены" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "Заказов на закупку не найдено" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "Редактировать заказ на закупку" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "Добавить код партии" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "Добавить код партии" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Отмена этого заказа означает, что заказ нельзя будет редактировать." -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "Заказы на продажу не найдены" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "Подтвердите выделение запасов" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "Загрузка данных" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "строк на странице" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "Показываются все строки" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "Показано от" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "до" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "из" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "строк" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "Ничего не найдено" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index f448be980a..0ce6f9f3d8 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "API vmesnik ni najden" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Napaka, podrobnosti vidne v pogledu administratorja" @@ -33,25 +33,25 @@ msgstr "Napaka, podrobnosti vidne v pogledu administratorja" msgid "Enter date" msgstr "Vnesi datum" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Zapiski" @@ -137,7 +137,7 @@ msgstr "Oddaljeni server vrnil prazen odziv" msgid "Supplied URL is not a valid image file" msgstr "Podani URL ni veljavna slikovna datoteka" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Podana napačna količina" @@ -209,7 +209,7 @@ msgstr "Manjka datoteka" msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Priloga" msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Povezava" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -245,9 +249,9 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Ime" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Ime" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "Podatki čtrne kode" msgid "Third party barcode data" msgstr "Podatki črtne kode tretje osebe" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "Oznaka črtne kode" @@ -374,11 +378,11 @@ msgstr "Enolična oznaka podatkov črtne kode" msgid "Existing barcode found" msgstr "Črtna koda že obstaja" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Napaka strežnika" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." @@ -459,107 +463,107 @@ msgstr "Povezava do oddaljene slike" msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Češko" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "Danščina" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Nemščina" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Grščina" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Angleščina" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Španščina" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Španščina (Mehiško)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Farsi / Perzijsko" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Francoščina" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Hebrejščina" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Madžarščina" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Italijanščina" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japonščina" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Korejščina" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Nizozemščina" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norveščina" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Poljščina" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugalščina" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portugalščina (Brazilsko)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Ruščina" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "Slovenščina" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Švedščina" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Tajščina" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Turščina" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamščina" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Kitajščina" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Postavljeno" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Končano" @@ -610,9 +614,10 @@ msgstr "Vrnjeno" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Poslano" @@ -800,7 +805,7 @@ msgstr "Sistemske informacije" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" @@ -820,7 +825,7 @@ msgstr "Nalog izgradnje" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Nalogi izgradnje" @@ -832,19 +837,19 @@ msgstr "Neveljavna izbira za nadrejeno izgradnjo" msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Referenca" @@ -852,7 +857,7 @@ msgstr "Referenca" msgid "Brief description of the build" msgstr "Kratek opis izgradnje" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadrejena izgradnja" @@ -861,9 +866,9 @@ msgstr "Nadrejena izgradnja" msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "Referenca dobavnica" msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Lokacija vira" @@ -965,19 +970,19 @@ msgstr "Status izgradnje" msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Datum ustvarjenja" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Datom končanja" @@ -1006,15 +1011,15 @@ msgstr "Izdal" msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Zunanja povezava" @@ -1074,11 +1079,11 @@ msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot s msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" @@ -1090,7 +1095,7 @@ msgstr "Količina za zalogo s serijsko številko mora biti 1" msgid "Selected stock item not found in BOM" msgstr "Izbrana postavka ni najdena v BOM" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Izdelava" msgid "Build to allocate parts" msgstr "Izdelaj da prestaviš dele" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Postavka zaloge" msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Izvorna postavka zaloge" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Inštaliraj v" msgid "Destination stock item" msgstr "Destinacija postavke zaloge" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Izgradnja" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "Izhodni del se ne ujema s naročilom sestava" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "Ta sestava je že zaključena" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 -msgid "Print actions" +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" msgstr "" #: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 25e70dc7f8..bf54f2f6da 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:39\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "Användaren har inte behörighet att se denna modell" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Information om felet finns under Error i adminpanelen" @@ -33,25 +33,25 @@ msgstr "Information om felet finns under Error i adminpanelen" msgid "Enter date" msgstr "Ange datum" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Anteeckningar" @@ -137,7 +137,7 @@ msgstr "Fjärrservern returnerade tomt svar" msgid "Supplied URL is not a valid image file" msgstr "Angiven URL är inte en giltig bildfil" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" @@ -209,7 +209,7 @@ msgstr "Saknad fil" msgid "Missing external link" msgstr "Extern länk saknas" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Länk" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -245,9 +249,9 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Namn" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Namn" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "" @@ -374,11 +378,11 @@ msgstr "" msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "Serverfel" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." @@ -459,107 +463,107 @@ msgstr "URL för fjärrbildsfil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "Tjeckiska" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Tyska" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Grekiska" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "Engelska" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "Spanska" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "Spanska (Mexikanska)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "Farsi / Persiska" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Franska" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "Hebreiska" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Ungerska" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "Italienska" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japanska" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Koreanska" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Nederländska" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norska" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polska" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "Portugisiska" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "Portugisiska (brasiliansk)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Ryska" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "Svenska" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Thailändska" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Turkiska" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamesiska" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Kinesiska" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Placerad" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Slutför" @@ -610,9 +614,10 @@ msgstr "Återlämnad" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Skickad" @@ -800,7 +805,7 @@ msgstr "Systeminformation" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" @@ -820,7 +825,7 @@ msgstr "Byggorder" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Byggordrar" @@ -832,19 +837,19 @@ msgstr "Ogiltigt val för överordnad bygge" msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Referens" @@ -852,7 +857,7 @@ msgstr "Referens" msgid "Brief description of the build" msgstr "Kort beskrivning av bygget" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Överordnat Bygge" @@ -861,9 +866,9 @@ msgstr "Överordnat Bygge" msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "Försäljningsorderreferens" msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Källa Plats" @@ -965,19 +970,19 @@ msgstr "Byggstatus" msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Skapad" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Slutförandedatum" @@ -1006,15 +1011,15 @@ msgstr "Utfärdad av" msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Extern länk" @@ -1074,11 +1079,11 @@ msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" @@ -1090,7 +1095,7 @@ msgstr "Antal måste vara 1 för serialiserat lager" msgid "Selected stock item not found in BOM" msgstr "Vald lagervara hittades inte i BOM" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Bygg" msgid "Build to allocate parts" msgstr "Bygg för att allokera delar" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Artikel i lager" msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Källa lagervara" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Installera till" msgid "Destination stock item" msgstr "Destination lagervara" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "Bygg utdata" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "Byggutdata matchar inte överordnad version" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Plats" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Status" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 -msgid "Print actions" +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" msgstr "" #: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Redigera bygge" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Avbryt bygge" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "Ta bort bygge" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "Färdigställ bygget" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "Byggbeskrivning" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Måldatum" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "Försenad" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Slutförd" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Försäljningsorder" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Utfärdad av" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "Mål" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Skapad" @@ -1678,7 +1733,7 @@ msgstr "Beställ obligatoriska delar" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Beställ delar" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Artiklar" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "Välj artiklar" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 1a494c68ac..88591c30b0 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "" @@ -33,25 +33,25 @@ msgstr "" msgid "Enter date" msgstr "ป้อนวันที่" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "หมายเหตุ" @@ -137,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" @@ -209,7 +209,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "ไฟล์แนบ" msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "ลิงก์" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "" @@ -245,9 +249,9 @@ msgstr "ความคิดเห็น" msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "ชื่อ" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "ชื่อ" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "ข้อมูลบาร์โค้ด" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "" @@ -374,11 +378,11 @@ msgstr "" msgid "Existing barcode found" msgstr "บาร์โค้ดนี้มีในระบบแล้ว" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "" @@ -459,107 +463,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "ภาษาโปรตุเกส" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "ภาษารัสเซีย" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "ภาษาสวีเดน" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "ภาษาไทย" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "ภาษาเวียดนาม" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "ภาษาจีน" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "สำเร็จแล้ว" @@ -610,9 +614,10 @@ msgstr "ส่งคืนแล้ว" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "จัดส่งแล้ว" @@ -800,7 +805,7 @@ msgstr "ข้อมูลระบบ" msgid "About InvenTree" msgstr "เกี่ยวกับ Inventree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -820,7 +825,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "" @@ -832,19 +837,19 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "" @@ -852,7 +857,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" @@ -861,9 +866,9 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "" @@ -965,19 +970,19 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "" @@ -989,7 +994,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "" @@ -1006,15 +1011,15 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "" @@ -1074,11 +1079,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1090,7 +1095,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "สถานะ" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 -msgid "Print actions" +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" msgstr "" #: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "" @@ -3453,12 +3524,12 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 41a37c48b5..db92197a1c 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:39\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "Hata detaylarını admin panelinde bulabilirsiniz" @@ -33,25 +33,25 @@ msgstr "Hata detaylarını admin panelinde bulabilirsiniz" msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "Notlar" @@ -137,7 +137,7 @@ msgstr "Uzak sunucu boş cevap döndü" msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir resim dosyası değil" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -209,7 +209,7 @@ msgstr "Eksik dosya" msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "Bağlantı" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -245,9 +249,9 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "Adı" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "Adı" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "" @@ -374,11 +378,11 @@ msgstr "" msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "" @@ -459,107 +463,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "Almanca" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "Yunanca" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "İngilizce" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "İspanyolca" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "İspanyolca(Meksika)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "Fransızca" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "İbranice" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "Macarca" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "İtalyanca" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "Japonca" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "Korece" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "Flemenkçe" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "Norveççe" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "Polonyaca" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "Rusça" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "İsveççe" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "Tay dili" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "Vietnamca" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "Çince" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "Sipariş verildi" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "Tamamlandı" @@ -610,9 +614,10 @@ msgstr "İade" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "Sevk edildi" @@ -800,7 +805,7 @@ msgstr "Sistem Bilgisi" msgid "About InvenTree" msgstr "InvenTree Hakkında" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -820,7 +825,7 @@ msgstr "Yapım İşi Emri" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Yapım İşi Emirleri" @@ -832,19 +837,19 @@ msgstr "" msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "Referans" @@ -852,7 +857,7 @@ msgstr "Referans" msgid "Brief description of the build" msgstr "Yapım işinin kısa açıklaması" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Üst Yapım İşi" @@ -861,9 +866,9 @@ msgstr "Üst Yapım İşi" 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:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ 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:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "Kaynak Konum" @@ -965,19 +970,19 @@ msgstr "Yapım İşi Durumu" msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "Oluşturulma tarihi" @@ -989,7 +994,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:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -1006,15 +1011,15 @@ msgstr "Veren" msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "Harici Bağlantı" @@ -1074,11 +1079,11 @@ msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktıs msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" @@ -1090,7 +1095,7 @@ msgstr "Seri numaralı stok için miktar bir olmalı" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "Yapım İşi" msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "Stok Kalemi" msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "Kaynak stok kalemi" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "Kurulduğu yer" msgid "Destination stock item" msgstr "Hedef stok kalemi" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "Seri Numaraları" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "Konum" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Durum" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "Gerekli yapım işi miktarı tamamlanmadı" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "Barkod işlemleri" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "Yazdırma işlemleri" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "Yapım İşi işlemleri" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "Yapım İşini Düzenle" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "Yapım İşini İptal Et" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "Tamamlanmış Yapım İşi" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "Bu yapım işi emri, %(link)s sipariş emrine tahsis edilmiştir" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "Bu yapım işi emri, %(link)s yapım iş emrinin altıdır" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "Yapım işi tamamlandı olarak işaretlenmeye hazır" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Bekleyen çıktılar kaldığı için yapım işi emri tamamlanamıyor" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "Gerekli yapım işi miktarı henüz tamamlanmadı" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "Hedeflenen tarih" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor" msgid "Overdue" msgstr "Vadesi geçmiş" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Tamamlandı" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "Sipariş Emri" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Veren" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "Yapım İşi Emrini Sil" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "Yapım İşi Detayları" @@ -1597,9 +1652,8 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "Hedef" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "Toplu" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "Oluşturuldu" @@ -1678,7 +1733,7 @@ msgstr "Gerekli parçaları sipariş edin" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "Parça Siparişi" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" -msgstr "Formlarda Miktarı Göster" +msgid "Regex Search" +msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" -msgstr "" +msgid "Show Quantity in Forms" +msgstr "Formlarda Miktarı Göster" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "Fiyat" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "İletişim e-posta adresi" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "İletişim" @@ -3348,7 +3419,7 @@ msgstr "Bu şirket için varsayılan para birimi" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "Parça seçin" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "Üretici seçin" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "ÜPN" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" @@ -3410,7 +3481,7 @@ msgstr "Parametre adı" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "Parametre değeri" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Tedarikçi" @@ -3453,12 +3524,12 @@ msgstr "Tedarikçi" msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "temel maliyet" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "Resmi İndirin" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "Tedarikçi Parçaları" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "Parçaları Sil" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "Tedarikçi Stoku" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" @@ -3731,7 +3802,7 @@ msgstr "Yeni Satın Alma Emri" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Satış Emirleri" @@ -3757,7 +3828,7 @@ msgstr "Atanan Stok" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "Üreticiler" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Parça siparişi" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "Tedarikçi Parçası" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "Barkod işlemleri" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "Tedarikçi Parça Stoku" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "Tedarikçi Parçası Emirleri" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "Fiyat Bilgisi" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -4039,7 +4074,7 @@ msgstr "Müşteriler" msgid "New Customer" msgstr "Yeni Müşteri" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "Şirketler" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "Sipariş açıklaması" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "Sipariş notları" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "Emiri dosya çıkar" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "Siparişi iptal et" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Siparişi tamamlandı olarak işaretle" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "Sipariş Notları" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "Toplam Maliyet" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "DPN" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "Revizyon" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimum Stok" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Parçalar" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Varsayılan Konum" @@ -5199,8 +5262,8 @@ msgstr "Varsayılan Konum" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "Parça Kategorileri" @@ -5223,7 +5286,7 @@ msgstr "Parça Kategorileri" msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "Bu parça bir şablon parçası mı?" 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:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Çeşidi" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "Parça revizyon veya versiyon numarası" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" @@ -5415,8 +5478,8 @@ msgstr "Oluşturan Kullanıcı" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "Çeşide İzin Ver" 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:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "Yenile" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "Pasif" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "Bu parça %(link)s parçasının bir çeşididir" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "Son Seri Numarası" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "Hesapla" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "Barkod verisi için eşleşme bulundu" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "Seri Numara" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "Stok Konumları" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 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:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "Stok kalemi tüm gerekli testleri geçmedi" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." -msgstr "Bu stok kalemi seri numaları - Benzersiz bir seri numarasına sahip ve miktarı ayarlanamaz." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" +msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "Konum ayarlanmadı" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "Stok kalemi tüm gerekli testleri geçmedi" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Uyarı" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Bu işlem kolayca geri alınamaz" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "Stok Kalemine Dönüştür" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenlenemez." -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "Yeni stok konumu oluştur" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "Yeni Konum" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "Stok kalemi zaten bu konumda" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "Konuma Kaydet" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "Barkod geçerli bir konumla eşleşmiyor" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Kapat" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "Stok tahsisini düzenle" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "Stok tahsisini sil" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "Parçaları Seçin" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "Çeşit bulunamadı" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "Ürünler" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "Stok tahsisini onayla" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "Silme İşlemini Onayla" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "Seri numaralarını tahsis et" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "Seri Numaralarını Tahsis Et" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "Gösteriliyor" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "için" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "yüzünden" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "satırlar" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "Sonuç bulunamadı" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "Sayfalandırmayı Göster" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "Değiştir" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "Sütunlar" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "Tümü" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 76be7798b6..e120bce69d 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-03-31 11:38\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "" @@ -33,25 +33,25 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "" @@ -137,7 +137,7 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "" @@ -209,7 +209,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "" @@ -245,9 +249,9 @@ msgstr "Bình luận" msgid "File comment" msgstr "" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "" @@ -374,11 +378,11 @@ msgstr "" msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "" @@ -459,107 +463,107 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "" @@ -610,9 +614,10 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "" @@ -800,7 +805,7 @@ msgstr "Thông tin hệ thống" msgid "About InvenTree" msgstr "Giới thiệu" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -820,7 +825,7 @@ msgstr "Tạo đơn hàng" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "Tạo đơn hàng" @@ -832,19 +837,19 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "" @@ -852,7 +857,7 @@ msgstr "" msgid "Brief description of the build" msgstr "" -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" @@ -861,9 +866,9 @@ msgstr "" msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "" @@ -965,19 +970,19 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "" @@ -989,7 +994,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "Ngày hoàn thành" @@ -1006,15 +1011,15 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "" @@ -1074,11 +1079,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1090,7 +1095,7 @@ msgstr "" msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "" msgid "Source stock item" msgstr "" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "" msgid "Destination stock item" msgstr "" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "Trạng thái" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 -msgid "Print actions" +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" msgstr "" #: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "" msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "Đã hoàn thành" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "" @@ -1597,9 +1652,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "" @@ -1678,7 +1733,7 @@ msgstr "" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" +msgid "Regex Search" msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" +msgid "Enable regular expressions in search queries" msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1998 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:2004 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2012 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2018 +msgid "Date Format" +msgstr "" + +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" @@ -3348,7 +3419,7 @@ msgstr "" msgid "Company" msgstr "" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" @@ -3410,7 +3481,7 @@ msgstr "" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "Nhà cung cấp" @@ -3453,12 +3524,12 @@ msgstr "Nhà cung cấp" msgid "Select supplier" msgstr "" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "" @@ -3602,15 +3673,15 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "" @@ -3708,7 +3779,7 @@ msgstr "" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" @@ -3731,7 +3802,7 @@ msgstr "" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -3953,67 +3995,60 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4039,7 +4074,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "" @@ -4113,365 +4148,365 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:510 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Nguyên liệu" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5199,8 +5262,8 @@ msgstr "" msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "" @@ -5223,7 +5286,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,8 +6574,7 @@ msgid "Part can be sold to customers" msgstr "" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" +msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 @@ -6523,71 +6585,70 @@ msgstr "" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "Số seri mới nhất" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 -msgid "This stock item is in production and cannot be edited." +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" msgstr "" #: stock/templates/stock/item_base.html:272 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 38d5268247..2878ee852b 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-03-31 00:00+0000\n" -"PO-Revision-Date: 2023-04-01 12:00\n" +"POT-Creation-Date: 2023-04-10 14:27+0000\n" +"PO-Revision-Date: 2023-04-10 17:58\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -21,11 +21,11 @@ msgstr "" msgid "API endpoint not found" msgstr "未找到 API 端点" -#: InvenTree/api.py:310 +#: InvenTree/api.py:299 msgid "User does not have permission to view this model" msgstr "用户无权查看该模型" -#: InvenTree/exceptions.py:79 +#: InvenTree/exceptions.py:94 msgid "Error details can be found in the admin panel" msgstr "在管理面板中可以找到错误详细信息" @@ -33,25 +33,25 @@ msgstr "在管理面板中可以找到错误详细信息" msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:204 build/serializers.py:389 +#: InvenTree/fields.py:204 build/serializers.py:392 #: build/templates/build/sidebar.html:21 company/models.py:554 -#: company/templates/company/sidebar.html:35 order/models.py:1046 +#: company/templates/company/sidebar.html:35 order/models.py:1058 #: 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:2989 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2102 stock/models.py:2210 +#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234 #: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531 #: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:319 +#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322 #: templates/js/translated/part.js:997 -#: templates/js/translated/purchase_order.js:2038 -#: templates/js/translated/return_order.js:715 -#: templates/js/translated/sales_order.js:960 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/purchase_order.js:2105 +#: templates/js/translated/return_order.js:718 +#: templates/js/translated/sales_order.js:963 +#: templates/js/translated/sales_order.js:1871 #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:2134 msgid "Notes" msgstr "备注" @@ -137,7 +137,7 @@ msgstr "远程服务器返回了空响应" msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" -#: InvenTree/helpers.py:602 order/models.py:409 order/models.py:565 +#: InvenTree/helpers.py:602 order/models.py:410 order/models.py:571 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -209,7 +209,7 @@ msgstr "缺少文件" msgid "Missing external link" msgstr "缺少外部链接" -#: InvenTree/models.py:409 stock/models.py:2204 +#: InvenTree/models.py:409 stock/models.py:2228 #: templates/js/translated/attachment.js:109 #: templates/js/translated/attachment.js:296 msgid "Attachment" @@ -219,20 +219,24 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:416 common/models.py:2607 company/models.py:129 -#: company/models.py:305 company/models.py:541 order/models.py:201 -#: order/models.py:1394 order/models.py:1877 part/admin.py:39 +#: InvenTree/models.py:416 common/models.py:2621 company/models.py:129 +#: company/models.py:305 company/models.py:541 order/models.py:202 +#: order/models.py:1062 order/models.py:1412 part/admin.py:39 #: part/models.py:892 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:962 -#: templates/js/translated/company.js:1261 templates/js/translated/part.js:1932 -#: templates/js/translated/purchase_order.js:1878 -#: templates/js/translated/sales_order.js:949 +#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326 +#: templates/js/translated/part.js:1932 +#: templates/js/translated/purchase_order.js:1945 +#: templates/js/translated/purchase_order.js:2109 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:952 +#: templates/js/translated/sales_order.js:1876 msgid "Link" msgstr "链接" #: InvenTree/models.py:417 build/models.py:293 part/models.py:893 -#: stock/models.py:727 +#: stock/models.py:728 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -245,9 +249,9 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2056 -#: common/models.py:2057 common/models.py:2280 common/models.py:2281 -#: common/models.py:2537 common/models.py:2538 part/models.py:2997 +#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:2070 +#: common/models.py:2071 common/models.py:2294 common/models.py:2295 +#: common/models.py:2551 common/models.py:2552 part/models.py:2997 #: part/models.py:3085 part/models.py:3164 part/models.py:3184 #: plugin/models.py:270 plugin/models.py:271 #: report/templates/report/inventree_test_report_base.html:105 @@ -292,7 +296,7 @@ msgstr "同一个主体下不能有相同名字" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2266 +#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2280 #: company/models.py:387 label/models.py:102 part/models.py:838 #: part/models.py:3332 plugin/models.py:94 report/models.py:158 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -315,7 +319,7 @@ msgstr "名称" #: company/models.py:547 company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:199 part/admin.py:194 part/admin.py:276 part/models.py:860 +#: order/models.py:200 part/admin.py:194 part/admin.py:276 part/models.py:860 #: part/models.py:3341 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:171 @@ -331,11 +335,11 @@ msgstr "名称" #: templates/js/translated/company.js:1236 templates/js/translated/part.js:1155 #: templates/js/translated/part.js:1597 templates/js/translated/part.js:1869 #: templates/js/translated/part.js:2348 templates/js/translated/part.js:2439 -#: templates/js/translated/purchase_order.js:1548 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/purchase_order.js:1860 +#: templates/js/translated/purchase_order.js:1615 +#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1927 #: templates/js/translated/return_order.js:272 -#: templates/js/translated/sales_order.js:737 +#: templates/js/translated/sales_order.js:740 #: templates/js/translated/stock.js:1418 templates/js/translated/stock.js:1791 #: templates/js/translated/stock.js:2551 templates/js/translated/stock.js:2623 msgid "Description" @@ -362,7 +366,7 @@ msgstr "条码数据" msgid "Third party barcode data" msgstr "第三方条形码数据" -#: InvenTree/models.py:702 order/serializers.py:503 +#: InvenTree/models.py:702 msgid "Barcode Hash" msgstr "条码哈希" @@ -374,11 +378,11 @@ msgstr "条码数据的唯一哈希" msgid "Existing barcode found" msgstr "发现现有条码" -#: InvenTree/models.py:801 +#: InvenTree/models.py:802 msgid "Server Error" msgstr "服务器错误" -#: InvenTree/models.py:802 +#: InvenTree/models.py:803 msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" @@ -459,107 +463,107 @@ msgstr "远程图像文件的 URL" msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/settings.py:705 +#: InvenTree/settings.py:708 msgid "Czech" msgstr "捷克语" -#: InvenTree/settings.py:706 +#: InvenTree/settings.py:709 msgid "Danish" msgstr "丹麦语" -#: InvenTree/settings.py:707 +#: InvenTree/settings.py:710 msgid "German" msgstr "德语" -#: InvenTree/settings.py:708 +#: InvenTree/settings.py:711 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:709 +#: InvenTree/settings.py:712 msgid "English" msgstr "英语" -#: InvenTree/settings.py:710 +#: InvenTree/settings.py:713 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:711 +#: InvenTree/settings.py:714 msgid "Spanish (Mexican)" msgstr "西班牙语(墨西哥)" -#: InvenTree/settings.py:712 +#: InvenTree/settings.py:715 msgid "Farsi / Persian" msgstr "波斯语" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:716 msgid "French" msgstr "法语" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:717 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:718 msgid "Hungarian" msgstr "匈牙利语" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:719 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:720 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:721 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:722 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:723 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:724 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:725 msgid "Portuguese" msgstr "葡萄牙语" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:726 msgid "Portuguese (Brazilian)" msgstr "葡萄牙语 (巴西)" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:727 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:728 msgid "Slovenian" msgstr "斯洛文尼亚" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:729 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:730 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:731 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:732 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:733 msgid "Chinese" msgstr "中文(简体)" @@ -586,8 +590,8 @@ msgid "Placed" msgstr "已添加" #: InvenTree/status_codes.py:141 InvenTree/status_codes.py:360 -#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:142 -#: order/templates/order/sales_order_base.html:142 +#: InvenTree/status_codes.py:396 order/templates/order/order_base.html:161 +#: order/templates/order/sales_order_base.html:161 msgid "Complete" msgstr "完成" @@ -610,9 +614,10 @@ msgstr "已退回" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1277 -#: templates/js/translated/sales_order.js:1526 -#: templates/js/translated/sales_order.js:1830 +#: InvenTree/status_codes.py:183 order/models.py:1295 +#: templates/js/translated/sales_order.js:1418 +#: templates/js/translated/sales_order.js:1542 +#: templates/js/translated/sales_order.js:1846 msgid "Shipped" msgstr "已发货" @@ -800,7 +805,7 @@ msgstr "系统信息" msgid "About InvenTree" msgstr "关于 InventTree" -#: build/api.py:243 +#: build/api.py:221 msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" @@ -820,7 +825,7 @@ msgstr "生产订单" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 users/models.py:42 +#: templates/js/translated/search.js:216 users/models.py:42 msgid "Build Orders" msgstr "生产订单" @@ -832,19 +837,19 @@ msgstr "上级生产选项无效" msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:158 order/models.py:326 order/models.py:722 -#: order/models.py:1044 order/models.py:1655 part/admin.py:278 +#: build/models.py:158 order/models.py:327 order/models.py:734 +#: order/models.py:1056 order/models.py:1673 part/admin.py:278 #: part/models.py:3602 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:739 templates/js/translated/bom.js:913 -#: templates/js/translated/build.js:1847 templates/js/translated/order.js:269 +#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272 #: templates/js/translated/pricing.js:368 -#: templates/js/translated/purchase_order.js:1903 -#: templates/js/translated/return_order.js:668 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/purchase_order.js:1970 +#: templates/js/translated/return_order.js:671 +#: templates/js/translated/sales_order.js:1710 msgid "Reference" msgstr "引用" @@ -852,7 +857,7 @@ msgstr "引用" msgid "Brief description of the build" msgstr "生产的简短描述." -#: build/models.py:177 build/templates/build/build_base.html:172 +#: build/models.py:177 build/templates/build/build_base.html:189 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" @@ -861,9 +866,9 @@ msgstr "上级生产" msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:183 build/templates/build/build_base.html:80 +#: build/models.py:183 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:720 -#: order/models.py:1140 order/models.py:1256 order/models.py:1257 +#: order/models.py:1158 order/models.py:1274 order/models.py:1275 #: part/models.py:382 part/models.py:2849 part/models.py:2963 #: part/models.py:3103 part/models.py:3122 part/models.py:3141 #: part/models.py:3162 part/models.py:3254 part/models.py:3375 @@ -884,7 +889,7 @@ msgstr "此次生产匹配的订单" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:502 templates/js/translated/bom.js:601 +#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601 #: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857 #: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714 #: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615 @@ -894,16 +899,16 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/company.js:1154 templates/js/translated/part.js:1582 #: templates/js/translated/part.js:1648 templates/js/translated/part.js:1838 #: templates/js/translated/pricing.js:351 -#: templates/js/translated/purchase_order.js:694 -#: templates/js/translated/purchase_order.js:1195 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/return_order.js:482 -#: templates/js/translated/return_order.js:649 -#: templates/js/translated/sales_order.js:236 -#: templates/js/translated/sales_order.js:1091 -#: templates/js/translated/sales_order.js:1477 -#: templates/js/translated/sales_order.js:1678 +#: templates/js/translated/purchase_order.js:697 +#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/purchase_order.js:1912 +#: templates/js/translated/return_order.js:485 +#: templates/js/translated/return_order.js:652 +#: templates/js/translated/sales_order.js:239 +#: templates/js/translated/sales_order.js:1094 +#: templates/js/translated/sales_order.js:1493 +#: templates/js/translated/sales_order.js:1694 #: templates/js/translated/stock.js:622 templates/js/translated/stock.js:788 #: templates/js/translated/stock.js:1000 templates/js/translated/stock.js:1747 #: templates/js/translated/stock.js:2649 templates/js/translated/stock.js:2873 @@ -923,9 +928,9 @@ msgstr "相关销售订单" msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:205 build/serializers.py:825 +#: build/models.py:205 build/serializers.py:828 #: templates/js/translated/build.js:2201 -#: templates/js/translated/sales_order.js:1079 +#: templates/js/translated/sales_order.js:1082 msgid "Source Location" msgstr "来源地点" @@ -965,19 +970,19 @@ msgstr "生产状态" msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:248 build/serializers.py:226 order/serializers.py:481 -#: stock/models.py:731 templates/js/translated/purchase_order.js:1058 +#: build/models.py:248 build/serializers.py:229 order/serializers.py:487 +#: stock/models.py:732 templates/js/translated/purchase_order.js:1048 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:252 build/serializers.py:227 +#: build/models.py:252 build/serializers.py:230 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:255 order/models.py:209 part/models.py:1028 -#: part/templates/part/part_base.html:319 +#: build/models.py:255 order/models.py:210 part/models.py:1028 +#: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:285 -#: templates/js/translated/sales_order.js:750 +#: templates/js/translated/sales_order.js:753 msgid "Creation Date" msgstr "创建日期" @@ -989,7 +994,7 @@ msgstr "预计完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:263 order/models.py:376 order/models.py:1698 +#: build/models.py:263 order/models.py:377 order/models.py:1716 #: templates/js/translated/build.js:2700 msgid "Completion Date" msgstr "完成日期:" @@ -1006,15 +1011,15 @@ msgstr "发布者" msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:286 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:122 order/models.py:223 -#: order/templates/order/order_base.html:194 -#: order/templates/order/return_order_base.html:162 -#: order/templates/order/sales_order_base.html:202 part/models.py:1032 -#: part/templates/part/part_base.html:399 +#: build/models.py:286 build/templates/build/build_base.html:210 +#: build/templates/build/detail.html:122 order/models.py:224 +#: order/templates/order/order_base.html:213 +#: order/templates/order/return_order_base.html:183 +#: order/templates/order/sales_order_base.html:221 part/models.py:1032 +#: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2672 -#: templates/js/translated/purchase_order.js:1593 +#: templates/js/translated/purchase_order.js:1660 #: templates/js/translated/return_order.js:305 #: templates/js/translated/table_filters.js:391 msgid "Responsible" @@ -1026,9 +1031,9 @@ msgstr "构建此订单的用户或组" #: build/models.py:292 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:392 stock/models.py:725 -#: stock/templates/stock/item_base.html:206 +#: company/templates/company/supplier_part.html:182 +#: part/templates/part/part_base.html:385 stock/models.py:726 +#: stock/templates/stock/item_base.html:201 msgid "External Link" msgstr "外部链接" @@ -1074,11 +1079,11 @@ msgstr "生产项必须指定生产产出,因为主部件已经被标记为可 msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1209 order/models.py:1532 +#: build/models.py:1209 order/models.py:1550 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1215 order/models.py:1535 +#: build/models.py:1215 order/models.py:1553 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" @@ -1090,7 +1095,7 @@ msgstr "序列化库存的数量必须是 1" msgid "Selected stock item not found in BOM" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1347 stock/templates/stock/item_base.html:175 +#: build/models.py:1347 stock/templates/stock/item_base.html:170 #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588 #: templates/navbar.html:38 msgid "Build" @@ -1100,19 +1105,19 @@ msgstr "生产" msgid "Build to allocate parts" msgstr "生产以分配部件" -#: build/models.py:1364 build/serializers.py:674 order/serializers.py:1026 -#: order/serializers.py:1047 stock/serializers.py:388 stock/serializers.py:741 +#: build/models.py:1364 build/serializers.py:677 order/serializers.py:1035 +#: order/serializers.py:1056 stock/serializers.py:388 stock/serializers.py:741 #: stock/serializers.py:867 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:801 templates/js/translated/build.js:806 #: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785 -#: templates/js/translated/sales_order.js:237 -#: templates/js/translated/sales_order.js:1092 -#: templates/js/translated/sales_order.js:1390 -#: templates/js/translated/sales_order.js:1395 -#: templates/js/translated/sales_order.js:1484 -#: templates/js/translated/sales_order.js:1574 +#: templates/js/translated/sales_order.js:240 +#: templates/js/translated/sales_order.js:1095 +#: templates/js/translated/sales_order.js:1394 +#: templates/js/translated/sales_order.js:1399 +#: templates/js/translated/sales_order.js:1500 +#: templates/js/translated/sales_order.js:1590 #: templates/js/translated/stock.js:623 templates/js/translated/stock.js:789 #: templates/js/translated/stock.js:2756 msgid "Stock Item" @@ -1122,10 +1127,10 @@ msgstr "库存项" msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1377 build/serializers.py:194 -#: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:2088 -#: order/models.py:1030 order/models.py:1576 order/serializers.py:1200 +#: build/models.py:1377 build/serializers.py:197 +#: build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2102 +#: order/models.py:1042 order/models.py:1594 order/serializers.py:1209 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 #: part/forms.py:47 part/models.py:2976 part/models.py:3583 #: part/templates/part/part_pricing.html:16 @@ -1137,31 +1142,32 @@ msgstr "源库存项" #: 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:281 -#: stock/templates/stock/item_base.html:293 -#: stock/templates/stock/item_base.html:301 +#: 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:504 templates/js/translated/bom.js:740 +#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740 #: templates/js/translated/bom.js:921 templates/js/translated/build.js:477 #: templates/js/translated/build.js:638 templates/js/translated/build.js:828 #: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740 #: templates/js/translated/build.js:2216 #: templates/js/translated/company.js:1406 #: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/order.js:276 templates/js/translated/part.js:878 +#: templates/js/translated/order.js:279 templates/js/translated/part.js:878 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:2876 #: templates/js/translated/pricing.js:363 #: templates/js/translated/pricing.js:456 #: templates/js/translated/pricing.js:504 #: templates/js/translated/pricing.js:598 -#: templates/js/translated/purchase_order.js:697 -#: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/sales_order.js:253 -#: templates/js/translated/sales_order.js:1093 -#: templates/js/translated/sales_order.js:1409 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1580 -#: templates/js/translated/sales_order.js:1700 +#: templates/js/translated/purchase_order.js:700 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/purchase_order.js:1976 +#: templates/js/translated/sales_order.js:256 +#: templates/js/translated/sales_order.js:1096 +#: templates/js/translated/sales_order.js:1413 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1716 #: templates/js/translated/stock.js:494 templates/js/translated/stock.js:648 #: templates/js/translated/stock.js:819 templates/js/translated/stock.js:2800 #: templates/js/translated/stock.js:2885 @@ -1180,255 +1186,256 @@ msgstr "安装到" msgid "Destination stock item" msgstr "目标库存项" -#: build/serializers.py:145 build/serializers.py:703 +#: build/serializers.py:148 build/serializers.py:706 #: templates/js/translated/build.js:1240 msgid "Build Output" msgstr "生产产出" -#: build/serializers.py:157 +#: build/serializers.py:160 msgid "Build output does not match the parent build" msgstr "生产产出与对应生产不匹配" -#: build/serializers.py:161 +#: build/serializers.py:164 msgid "Output part does not match BuildOrder part" msgstr "产出部件与生产订单部件不匹配" -#: build/serializers.py:165 +#: build/serializers.py:168 msgid "This build output has already been completed" msgstr "此生产产出已经完成" -#: build/serializers.py:176 +#: build/serializers.py:179 msgid "This build output is not fully allocated" msgstr "生产产出未被完成分配" -#: build/serializers.py:195 +#: build/serializers.py:198 msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:209 build/serializers.py:694 order/models.py:407 -#: order/serializers.py:354 order/serializers.py:476 part/serializers.py:1088 -#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1346 +#: build/serializers.py:212 build/serializers.py:697 order/models.py:408 +#: order/serializers.py:360 order/serializers.py:482 part/serializers.py:1088 +#: part/serializers.py:1409 stock/models.py:586 stock/models.py:1370 #: stock/serializers.py:290 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/serializers.py:216 +#: build/serializers.py:219 msgid "Integer quantity required for trackable parts" msgstr "对于可追踪的部件,需要整数型数值" -#: build/serializers.py:219 +#: build/serializers.py:222 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:233 order/serializers.py:489 order/serializers.py:1204 -#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1069 +#: build/serializers.py:236 order/serializers.py:495 order/serializers.py:1213 +#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1072 #: templates/js/translated/stock.js:301 templates/js/translated/stock.js:495 msgid "Serial Numbers" msgstr "序列号" -#: build/serializers.py:234 +#: build/serializers.py:237 msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" -#: build/serializers.py:247 +#: build/serializers.py:250 msgid "Auto Allocate Serial Numbers" msgstr "自动分配序列号" -#: build/serializers.py:248 +#: build/serializers.py:251 msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:283 stock/api.py:637 +#: build/serializers.py:286 stock/api.py:630 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" -#: build/serializers.py:332 build/serializers.py:401 +#: build/serializers.py:335 build/serializers.py:404 msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:371 order/serializers.py:462 order/serializers.py:581 -#: order/serializers.py:1553 part/serializers.py:855 stock/serializers.py:310 +#: build/serializers.py:374 order/serializers.py:468 order/serializers.py:589 +#: order/serializers.py:1562 part/serializers.py:855 stock/serializers.py:310 #: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902 -#: stock/serializers.py:1144 stock/templates/stock/item_base.html:391 -#: templates/js/translated/barcode.js:503 -#: templates/js/translated/barcode.js:747 templates/js/translated/build.js:813 +#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384 +#: templates/js/translated/barcode.js:517 +#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813 #: templates/js/translated/build.js:1755 -#: templates/js/translated/purchase_order.js:1096 -#: templates/js/translated/sales_order.js:1402 -#: templates/js/translated/sales_order.js:1501 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1588 +#: templates/js/translated/purchase_order.js:1097 +#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/sales_order.js:1406 +#: templates/js/translated/sales_order.js:1517 +#: templates/js/translated/sales_order.js:1525 +#: templates/js/translated/sales_order.js:1604 #: templates/js/translated/stock.js:624 templates/js/translated/stock.js:790 #: templates/js/translated/stock.js:1002 templates/js/translated/stock.js:1911 #: templates/js/translated/stock.js:2663 msgid "Location" msgstr "地点" -#: build/serializers.py:372 +#: build/serializers.py:375 msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:378 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:748 -#: order/models.py:1681 order/serializers.py:499 stock/admin.py:106 -#: stock/templates/stock/item_base.html:424 -#: templates/js/translated/barcode.js:236 templates/js/translated/build.js:2644 -#: templates/js/translated/purchase_order.js:1200 -#: templates/js/translated/purchase_order.js:1552 +#: build/serializers.py:381 build/templates/build/build_base.html:157 +#: build/templates/build/detail.html:62 order/models.py:760 +#: order/models.py:1699 order/serializers.py:505 stock/admin.py:106 +#: stock/templates/stock/item_base.html:417 +#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644 +#: templates/js/translated/purchase_order.js:1227 +#: templates/js/translated/purchase_order.js:1619 #: templates/js/translated/return_order.js:277 -#: templates/js/translated/sales_order.js:742 +#: templates/js/translated/sales_order.js:745 #: templates/js/translated/stock.js:1886 templates/js/translated/stock.js:2774 #: templates/js/translated/stock.js:2901 msgid "Status" msgstr "状态" -#: build/serializers.py:384 +#: build/serializers.py:387 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:385 +#: build/serializers.py:388 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未完成分配,完成产出" -#: build/serializers.py:454 +#: build/serializers.py:457 msgid "Remove Allocated Stock" msgstr "移除已分配的库存" -#: build/serializers.py:455 +#: build/serializers.py:458 msgid "Subtract any stock which has already been allocated to this build" msgstr "减去已经分配至此生产的库存" -#: build/serializers.py:461 +#: build/serializers.py:464 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:462 +#: build/serializers.py:465 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的生产产出" -#: build/serializers.py:490 +#: build/serializers.py:493 msgid "Accept as consumed by this build order" msgstr "接受此构建订单所消耗的内容" -#: build/serializers.py:491 +#: build/serializers.py:494 msgid "Deallocate before completing this build order" msgstr "在完成此构建订单前取消分配" -#: build/serializers.py:514 +#: build/serializers.py:517 msgid "Overallocated Stock" msgstr "超出分配的库存" -#: build/serializers.py:516 +#: build/serializers.py:519 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "你想如何处理分配给构建订单的额外库存物品" -#: build/serializers.py:526 +#: build/serializers.py:529 msgid "Some stock items have been overallocated" msgstr "一些库存项已被过度分配" -#: build/serializers.py:531 +#: build/serializers.py:534 msgid "Accept Unallocated" msgstr "接受未分配的" -#: build/serializers.py:532 +#: build/serializers.py:535 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完成分配至此生产订单" -#: build/serializers.py:542 templates/js/translated/build.js:265 +#: build/serializers.py:545 templates/js/translated/build.js:265 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:547 order/serializers.py:237 order/serializers.py:1094 +#: build/serializers.py:550 order/serializers.py:242 order/serializers.py:1103 msgid "Accept Incomplete" msgstr "接受未完成" -#: build/serializers.py:548 +#: build/serializers.py:551 msgid "Accept that the required number of build outputs have not been completed" msgstr "接受所需的生产产出未完成" -#: build/serializers.py:558 templates/js/translated/build.js:269 +#: build/serializers.py:561 templates/js/translated/build.js:269 msgid "Required build quantity has not been completed" msgstr "所需生产数量尚未完成" -#: build/serializers.py:567 templates/js/translated/build.js:253 +#: build/serializers.py:570 templates/js/translated/build.js:253 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:597 build/serializers.py:651 part/models.py:3490 +#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490 #: part/models.py:3873 msgid "BOM Item" msgstr "BOM项" -#: build/serializers.py:607 +#: build/serializers.py:610 msgid "Build output" msgstr "生产产出" -#: build/serializers.py:615 +#: build/serializers.py:618 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:665 +#: build/serializers.py:668 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:680 stock/serializers.py:754 +#: build/serializers.py:683 stock/serializers.py:754 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:729 order/serializers.py:1084 +#: build/serializers.py:732 order/serializers.py:1093 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" -#: build/serializers.py:735 +#: build/serializers.py:738 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的部件的分配,必须指定生产产出" -#: build/serializers.py:742 +#: build/serializers.py:745 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的部件,无法指定生产产出" -#: build/serializers.py:747 +#: build/serializers.py:750 msgid "This stock item has already been allocated to this build output" msgstr "此库存项已被分配至此生产产出" -#: build/serializers.py:770 order/serializers.py:1368 +#: build/serializers.py:773 order/serializers.py:1377 msgid "Allocation items must be provided" msgstr "必须提供分配的项" -#: build/serializers.py:826 +#: build/serializers.py:829 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)" -#: build/serializers.py:834 +#: build/serializers.py:837 msgid "Exclude Location" msgstr "排除地点" -#: build/serializers.py:835 +#: build/serializers.py:838 msgid "Exclude stock items from this selected location" msgstr "从该选定的仓储地点排除库存项" -#: build/serializers.py:840 +#: build/serializers.py:843 msgid "Interchangeable Stock" msgstr "可互换的库存" -#: build/serializers.py:841 +#: build/serializers.py:844 msgid "Stock items in multiple locations can be used interchangeably" msgstr "多处地点的库存项可以互换使用" -#: build/serializers.py:846 +#: build/serializers.py:849 msgid "Substitute Stock" msgstr "可替换的库存" -#: build/serializers.py:847 +#: build/serializers.py:850 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的部件" -#: build/serializers.py:852 +#: build/serializers.py:855 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:853 +#: build/serializers.py:856 msgid "Allocate optional BOM items to build order" msgstr "分配可选的BOM项目来建立订单" @@ -1446,101 +1453,141 @@ msgid "Build order {bo} is now overdue" msgstr "生成订单 {bo} 现在已过期" #: build/templates/build/build_base.html:39 -#: order/templates/order/order_base.html:28 -#: order/templates/order/return_order_base.html:38 -#: order/templates/order/sales_order_base.html:38 +#: company/templates/company/supplier_part.html:36 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:39 +#: order/templates/order/sales_order_base.html:39 +#: part/templates/part/part_base.html:43 +#: stock/templates/stock/item_base.html:41 +#: stock/templates/stock/location.html:54 +msgid "Barcode actions" +msgstr "" + +#: build/templates/build/build_base.html:43 +#: company/templates/company/supplier_part.html:40 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:43 +#: order/templates/order/sales_order_base.html:43 +#: part/templates/part/part_base.html:46 +#: stock/templates/stock/item_base.html:45 +#: stock/templates/stock/location.html:56 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "显示二维码" + +#: build/templates/build/build_base.html:46 +#: company/templates/company/supplier_part.html:42 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:46 +#: order/templates/order/sales_order_base.html:46 +#: stock/templates/stock/item_base.html:48 +#: stock/templates/stock/location.html:58 +#: templates/js/translated/barcode.js:466 +#: templates/js/translated/barcode.js:471 +msgid "Unlink Barcode" +msgstr "解绑条形码" + +#: build/templates/build/build_base.html:48 +#: company/templates/company/supplier_part.html:44 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:48 +#: order/templates/order/sales_order_base.html:48 +#: part/templates/part/part_base.html:51 +#: stock/templates/stock/item_base.html:50 +#: stock/templates/stock/location.html:60 +msgid "Link Barcode" +msgstr "绑定条码" + +#: build/templates/build/build_base.html:57 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:56 +#: order/templates/order/sales_order_base.html:56 msgid "Print actions" msgstr "打印操作" -#: build/templates/build/build_base.html:43 +#: build/templates/build/build_base.html:61 msgid "Print build order report" msgstr "打印构建订单报告" -#: build/templates/build/build_base.html:50 +#: build/templates/build/build_base.html:68 msgid "Build actions" msgstr "生产操作" -#: build/templates/build/build_base.html:54 +#: build/templates/build/build_base.html:72 msgid "Edit Build" msgstr "编辑生产" -#: build/templates/build/build_base.html:56 +#: build/templates/build/build_base.html:74 msgid "Cancel Build" msgstr "取消生产" -#: build/templates/build/build_base.html:59 +#: build/templates/build/build_base.html:77 msgid "Duplicate Build" msgstr "重复构件" -#: build/templates/build/build_base.html:62 +#: build/templates/build/build_base.html:80 msgid "Delete Build" msgstr "删除生产" -#: build/templates/build/build_base.html:67 -#: build/templates/build/build_base.html:68 +#: build/templates/build/build_base.html:85 +#: build/templates/build/build_base.html:86 msgid "Complete Build" msgstr "生产完成" -#: build/templates/build/build_base.html:90 +#: build/templates/build/build_base.html:108 msgid "Build Description" msgstr "构建描述" -#: build/templates/build/build_base.html:98 +#: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" msgstr "针对此生产订单,尚未创建生产产出" -#: build/templates/build/build_base.html:104 -#, python-format -msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "此构建订单已分配给销售订单 %(link)s" - -#: build/templates/build/build_base.html:111 +#: build/templates/build/build_base.html:123 #, python-format msgid "This Build Order is a child of Build Order %(link)s" msgstr "此构建订单是 %(link)s 订单的一个子订单" -#: build/templates/build/build_base.html:118 +#: build/templates/build/build_base.html:130 msgid "Build Order is ready to mark as completed" msgstr "构建订单已准备好标记为已完成" -#: build/templates/build/build_base.html:123 +#: build/templates/build/build_base.html:135 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "创建订单无法完成,因为未完成的输出" -#: build/templates/build/build_base.html:128 +#: build/templates/build/build_base.html:140 msgid "Required build quantity has not yet been completed" msgstr "所需生产数量尚未完成" -#: build/templates/build/build_base.html:133 +#: build/templates/build/build_base.html:145 msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" -#: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:138 order/models.py:205 -#: order/models.py:1050 order/templates/order/order_base.html:170 -#: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:173 +#: build/templates/build/build_base.html:166 +#: build/templates/build/detail.html:138 order/models.py:206 +#: order/models.py:1068 order/templates/order/order_base.html:189 +#: order/templates/order/return_order_base.html:166 +#: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2692 templates/js/translated/part.js:1465 -#: templates/js/translated/purchase_order.js:1569 -#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/purchase_order.js:1636 +#: templates/js/translated/purchase_order.js:2052 #: templates/js/translated/return_order.js:293 -#: templates/js/translated/return_order.js:690 -#: templates/js/translated/sales_order.js:758 -#: templates/js/translated/sales_order.js:1743 +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:761 +#: templates/js/translated/sales_order.js:1759 msgid "Target Date" msgstr "预计日期" -#: build/templates/build/build_base.html:159 +#: build/templates/build/build_base.html:171 #, python-format msgid "This build was due on %(target)s" msgstr "此次生产的截止日期为 %(target)s" -#: build/templates/build/build_base.html:159 -#: build/templates/build/build_base.html:211 -#: order/templates/order/order_base.html:106 -#: order/templates/order/return_order_base.html:98 -#: order/templates/order/sales_order_base.html:103 +#: build/templates/build/build_base.html:171 +#: build/templates/build/build_base.html:228 +#: order/templates/order/order_base.html:125 +#: order/templates/order/return_order_base.html:119 +#: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:384 #: templates/js/translated/table_filters.js:444 @@ -1548,43 +1595,51 @@ msgstr "此次生产的截止日期为 %(target)s" msgid "Overdue" msgstr "逾期" -#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:183 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:183 +#: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:487 msgid "Completed" msgstr "已完成" -#: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:101 order/api.py:1450 order/models.py:1249 -#: order/models.py:1348 order/models.py:1482 +#: build/templates/build/build_base.html:196 +#: build/templates/build/detail.html:101 order/api.py:1422 order/models.py:1267 +#: order/models.py:1366 order/models.py:1500 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 -#: stock/templates/stock/item_base.html:371 +#: stock/templates/stock/item_base.html:364 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:894 -#: templates/js/translated/sales_order.js:704 +#: templates/js/translated/sales_order.js:707 #: templates/js/translated/stock.js:2703 msgid "Sales Order" msgstr "销售订单" -#: build/templates/build/build_base.html:186 +#: build/templates/build/build_base.html:203 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "发布者" -#: build/templates/build/build_base.html:200 +#: build/templates/build/build_base.html:217 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2609 msgid "Priority" msgstr "优先级" -#: build/templates/build/build_base.html:263 +#: build/templates/build/build_base.html:280 msgid "Delete Build Order" msgstr "删除生产订单" +#: build/templates/build/build_base.html:290 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:302 +msgid "Link Barcode to Build Order" +msgstr "" + #: build/templates/build/detail.html:15 msgid "Build Details" msgstr "生产详情" @@ -1597,9 +1652,8 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1167 -#: templates/js/translated/purchase_order.js:1201 -#: templates/js/translated/purchase_order.js:2027 +#: build/templates/build/detail.html:49 order/models.py:1185 +#: templates/js/translated/purchase_order.js:2094 msgid "Destination" msgstr "目的地" @@ -1612,9 +1666,10 @@ msgid "Allocated Parts" msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:105 -#: stock/templates/stock/item_base.html:168 +#: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1259 #: templates/js/translated/model_renderers.js:206 +#: templates/js/translated/purchase_order.js:1193 #: templates/js/translated/stock.js:1072 templates/js/translated/stock.js:1900 #: templates/js/translated/stock.js:2908 #: templates/js/translated/table_filters.js:211 @@ -1623,9 +1678,9 @@ msgid "Batch" msgstr "批量" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:157 -#: order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/order_base.html:176 +#: order/templates/order/return_order_base.html:153 +#: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2652 msgid "Created" msgstr "已创建" @@ -1678,7 +1733,7 @@ msgstr "订单所需部件" #: company/templates/company/detail.html:38 #: company/templates/company/detail.html:86 #: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:737 +#: templates/js/translated/purchase_order.js:740 msgid "Order Parts" msgstr "订购商品" @@ -2679,7 +2734,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1670 common/models.py:2049 +#: common/models.py:1670 common/models.py:2063 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -3000,89 +3055,105 @@ msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1983 -msgid "Show Quantity in Forms" -msgstr "在表格中显示数量" +msgid "Regex Search" +msgstr "" #: common/models.py:1984 -msgid "Display available part quantity in some forms" -msgstr "在某些表格中显示可用的商品数量" +msgid "Enable regular expressions in search queries" +msgstr "" #: common/models.py:1990 -msgid "Escape Key Closes Forms" +msgid "Whole Word Search" msgstr "" #: common/models.py:1991 -msgid "Use the escape key to close modal forms" +msgid "Search queries return results for whole word matches" msgstr "" #: common/models.py:1997 +msgid "Show Quantity in Forms" +msgstr "在表格中显示数量" + +#: common/models.py:1998 +msgid "Display available part quantity in some forms" +msgstr "在某些表格中显示可用的商品数量" + +#: common/models.py:2004 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:2005 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2011 msgid "Fixed Navbar" msgstr "固定导航栏" -#: common/models.py:1998 +#: common/models.py:2012 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2004 +#: common/models.py:2018 msgid "Date Format" msgstr "日期格式" -#: common/models.py:2005 +#: common/models.py:2019 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2019 part/templates/part/detail.html:41 +#: common/models.py:2033 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2020 +#: common/models.py:2034 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2026 part/templates/part/detail.html:62 +#: common/models.py:2040 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2027 +#: common/models.py:2041 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2033 +#: common/models.py:2047 msgid "Table String Length" msgstr "" -#: common/models.py:2034 +#: common/models.py:2048 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2089 +#: common/models.py:2103 msgid "Price break quantity" msgstr "" -#: common/models.py:2096 company/serializers.py:424 order/models.py:1077 -#: order/models.py:1873 templates/js/translated/company.js:1411 +#: common/models.py:2110 company/serializers.py:424 order/models.py:1095 +#: order/models.py:1888 templates/js/translated/company.js:1411 #: templates/js/translated/part.js:1520 templates/js/translated/pricing.js:603 -#: templates/js/translated/return_order.js:680 +#: templates/js/translated/return_order.js:683 msgid "Price" msgstr "价格" -#: common/models.py:2097 +#: common/models.py:2111 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2257 common/models.py:2435 +#: common/models.py:2271 common/models.py:2449 msgid "Endpoint" msgstr "" -#: common/models.py:2258 +#: common/models.py:2272 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2267 +#: common/models.py:2281 msgid "Name for this webhook" msgstr "" -#: common/models.py:2272 part/admin.py:50 part/models.py:1011 +#: common/models.py:2286 part/admin.py:50 part/models.py:1011 #: plugin/models.py:100 templates/js/translated/table_filters.js:62 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:380 @@ -3090,97 +3161,97 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2273 +#: common/models.py:2287 msgid "Is this webhook active" msgstr "" -#: common/models.py:2287 +#: common/models.py:2301 msgid "Token" msgstr "令牌" -#: common/models.py:2288 +#: common/models.py:2302 msgid "Token for access" msgstr "" -#: common/models.py:2295 +#: common/models.py:2309 msgid "Secret" msgstr "" -#: common/models.py:2296 +#: common/models.py:2310 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2402 +#: common/models.py:2416 msgid "Message ID" msgstr "" -#: common/models.py:2403 +#: common/models.py:2417 msgid "Unique identifier for this message" msgstr "该消息的唯一标识符" -#: common/models.py:2411 +#: common/models.py:2425 msgid "Host" msgstr "" -#: common/models.py:2412 +#: common/models.py:2426 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2419 +#: common/models.py:2433 msgid "Header" msgstr "" -#: common/models.py:2420 +#: common/models.py:2434 msgid "Header of this message" msgstr "" -#: common/models.py:2426 +#: common/models.py:2440 msgid "Body" msgstr "" -#: common/models.py:2427 +#: common/models.py:2441 msgid "Body of this message" msgstr "" -#: common/models.py:2436 +#: common/models.py:2450 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2441 +#: common/models.py:2455 msgid "Worked on" msgstr "" -#: common/models.py:2442 +#: common/models.py:2456 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2596 +#: common/models.py:2610 msgid "Id" msgstr "" -#: common/models.py:2602 templates/js/translated/news.js:35 +#: common/models.py:2616 templates/js/translated/news.js:35 msgid "Title" msgstr "标题" -#: common/models.py:2612 templates/js/translated/news.js:51 +#: common/models.py:2626 templates/js/translated/news.js:51 msgid "Published" msgstr "" -#: common/models.py:2617 templates/InvenTree/settings/plugin.html:62 +#: common/models.py:2631 templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:33 #: templates/js/translated/news.js:47 msgid "Author" msgstr "作者" -#: common/models.py:2622 templates/js/translated/news.js:43 +#: common/models.py:2636 templates/js/translated/news.js:43 msgid "Summary" msgstr "概述" -#: common/models.py:2627 +#: common/models.py:2641 msgid "Read" msgstr "" -#: common/models.py:2628 +#: common/models.py:2642 msgid "Was this news item read?" msgstr "" @@ -3292,9 +3363,9 @@ msgid "Contact email address" msgstr "联系人电子邮件" #: company/models.py:126 company/templates/company/company_base.html:140 -#: order/models.py:231 order/templates/order/order_base.html:187 -#: order/templates/order/return_order_base.html:155 -#: order/templates/order/sales_order_base.html:195 +#: order/models.py:232 order/templates/order/order_base.html:206 +#: order/templates/order/return_order_base.html:176 +#: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "联系人" @@ -3348,7 +3419,7 @@ msgstr "该公司使用的默认货币" msgid "Company" msgstr "公司" -#: company/models.py:277 company/models.py:512 stock/models.py:667 +#: company/models.py:277 company/models.py:512 stock/models.py:668 #: stock/serializers.py:143 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" @@ -3360,8 +3431,8 @@ msgstr "选择商品" #: company/models.py:292 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:152 part/serializers.py:359 -#: stock/templates/stock/item_base.html:213 +#: company/templates/company/supplier_part.html:146 part/serializers.py:359 +#: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 @@ -3375,13 +3446,13 @@ msgid "Select manufacturer" msgstr "选择制造商" #: company/models.py:299 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:160 part/serializers.py:365 +#: company/templates/company/supplier_part.html:154 part/serializers.py:365 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1435 -#: templates/js/translated/purchase_order.js:1684 -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1751 +#: templates/js/translated/purchase_order.js:1958 msgid "MPN" msgstr "" @@ -3400,7 +3471,7 @@ msgstr "制造商商品描述" #: company/models.py:357 company/models.py:381 company/models.py:535 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:223 +#: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "制造商商品" @@ -3410,7 +3481,7 @@ msgstr "参数名称" #: company/models.py:394 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2197 templates/js/translated/company.js:857 +#: stock/models.py:2221 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1268 #: templates/js/translated/stock.js:1425 msgid "Value" @@ -3421,7 +3492,7 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:401 part/admin.py:40 part/models.py:978 -#: part/models.py:3337 part/templates/part/part_base.html:287 +#: part/models.py:3337 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings_staff_js.html:255 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1274 msgid "Units" @@ -3436,15 +3507,15 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:522 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:136 order/models.py:349 -#: order/templates/order/order_base.html:120 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:348 stock/templates/stock/item_base.html:230 +#: company/templates/company/supplier_part.html:130 order/models.py:350 +#: order/templates/order/order_base.html:139 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:348 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1403 #: templates/js/translated/pricing.js:480 -#: templates/js/translated/purchase_order.js:1535 +#: templates/js/translated/purchase_order.js:1602 #: templates/js/translated/table_filters.js:510 msgid "Supplier" msgstr "供应商" @@ -3453,12 +3524,12 @@ msgstr "供应商" msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:528 company/templates/company/supplier_part.html:146 +#: company/models.py:528 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:354 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1421 #: templates/js/translated/pricing.js:492 -#: templates/js/translated/purchase_order.js:1683 -#: templates/js/translated/purchase_order.js:1866 +#: templates/js/translated/purchase_order.js:1750 +#: templates/js/translated/purchase_order.js:1933 msgid "SKU" msgstr "" @@ -3478,7 +3549,7 @@ msgstr "外部供货商商品链接URL" msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:553 company/templates/company/supplier_part.html:181 +#: company/models.py:553 company/templates/company/supplier_part.html:175 #: part/admin.py:279 part/models.py:3605 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 @@ -3496,9 +3567,9 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:559 company/templates/company/supplier_part.html:167 -#: stock/admin.py:119 stock/models.py:693 -#: stock/templates/stock/item_base.html:246 +#: company/models.py:559 company/templates/company/supplier_part.html:161 +#: stock/admin.py:119 stock/models.py:694 +#: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 #: templates/js/translated/stock.js:2130 msgid "Packaging" @@ -3509,14 +3580,14 @@ msgid "Part packaging" msgstr "商品打包" #: company/models.py:562 company/serializers.py:319 -#: company/templates/company/supplier_part.html:174 +#: company/templates/company/supplier_part.html:168 #: templates/js/translated/company.js:1246 templates/js/translated/part.js:1456 #: templates/js/translated/part.js:1512 #: templates/js/translated/purchase_order.js:250 -#: templates/js/translated/purchase_order.js:775 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:1922 -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:778 +#: templates/js/translated/purchase_order.js:1022 +#: templates/js/translated/purchase_order.js:1989 +#: templates/js/translated/purchase_order.js:2006 msgid "Pack Quantity" msgstr "包装数量" @@ -3602,15 +3673,15 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "删除图片" -#: company/templates/company/company_base.html:87 order/models.py:736 -#: order/models.py:1669 order/templates/order/return_order_base.html:112 -#: order/templates/order/sales_order_base.html:125 stock/models.py:712 -#: stock/models.py:713 stock/serializers.py:796 -#: stock/templates/stock/item_base.html:402 +#: company/templates/company/company_base.html:87 order/models.py:748 +#: order/models.py:1687 order/templates/order/return_order_base.html:133 +#: order/templates/order/sales_order_base.html:144 stock/models.py:713 +#: stock/models.py:714 stock/serializers.py:796 +#: stock/templates/stock/item_base.html:395 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:480 #: templates/js/translated/return_order.js:254 -#: templates/js/translated/sales_order.js:719 +#: templates/js/translated/sales_order.js:722 #: templates/js/translated/stock.js:2738 #: templates/js/translated/table_filters.js:514 msgid "Customer" @@ -3625,7 +3696,7 @@ msgid "Phone" msgstr "电话" #: company/templates/company/company_base.html:206 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:529 msgid "Remove Image" msgstr "移除图像" @@ -3634,25 +3705,25 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:209 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:532 #: templates/InvenTree/settings/user.html:87 #: templates/InvenTree/settings/user.html:149 msgid "Remove" msgstr "移除" #: company/templates/company/company_base.html:238 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:561 msgid "Upload Image" msgstr "上传图片" #: company/templates/company/company_base.html:253 -#: part/templates/part/part_base.html:623 +#: part/templates/part/part_base.html:616 msgid "Download Image" msgstr "下载图片" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:175 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:177 msgid "Supplier Parts" msgstr "供应商商品" @@ -3683,7 +3754,7 @@ msgid "Delete Parts" msgstr "删除商品" #: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:179 +#: templates/js/translated/search.js:181 msgid "Manufacturer Parts" msgstr "制造商商品" @@ -3708,7 +3779,7 @@ msgstr "供货商库存" #: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/search.js:233 templates/navbar.html:50 +#: templates/js/translated/search.js:235 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "采购订单" @@ -3731,7 +3802,7 @@ msgstr "新建采购订单" #: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:247 templates/navbar.html:62 +#: templates/js/translated/search.js:249 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "销售订单" @@ -3757,7 +3828,7 @@ msgstr "" #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:260 templates/navbar.html:65 +#: templates/js/translated/search.js:262 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" @@ -3791,7 +3862,7 @@ msgid "Manufacturers" msgstr "制造商" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:221 +#: company/templates/company/supplier_part.html:215 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "订购商品" @@ -3880,50 +3951,21 @@ msgid "Contacts" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:676 -#: stock/templates/stock/item_base.html:239 +#: company/templates/company/supplier_part.html:24 stock/models.py:677 +#: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1195 -#: templates/js/translated/purchase_order.js:695 +#: templates/js/translated/purchase_order.js:698 #: templates/js/translated/stock.js:1990 msgid "Supplier Part" msgstr "供应商商品" -#: company/templates/company/supplier_part.html:36 -#: part/templates/part/part_base.html:43 -#: stock/templates/stock/item_base.html:41 -#: stock/templates/stock/location.html:54 -msgid "Barcode actions" -msgstr "" - -#: company/templates/company/supplier_part.html:40 -#: part/templates/part/part_base.html:46 -#: stock/templates/stock/item_base.html:45 -#: stock/templates/stock/location.html:56 templates/qr_button.html:1 -msgid "Show QR Code" -msgstr "显示二维码" - -#: company/templates/company/supplier_part.html:42 -#: stock/templates/stock/item_base.html:48 -#: stock/templates/stock/location.html:58 -#: templates/js/translated/barcode.js:453 -#: templates/js/translated/barcode.js:458 -msgid "Unlink Barcode" -msgstr "解绑条形码" - -#: company/templates/company/supplier_part.html:44 -#: part/templates/part/part_base.html:51 -#: stock/templates/stock/item_base.html:50 -#: stock/templates/stock/location.html:60 -msgid "Link Barcode" -msgstr "绑定条码" - #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:222 +#: company/templates/company/supplier_part.html:216 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "订购商品" @@ -3953,67 +3995,60 @@ msgstr "删除供应商部件" msgid "Delete Supplier Part" msgstr "删除供应商部件" -#: company/templates/company/supplier_part.html:122 -#: part/templates/part/part_base.html:308 -#: stock/templates/stock/item_base.html:161 -#: stock/templates/stock/location.html:156 -msgid "Barcode Identifier" -msgstr "" - -#: company/templates/company/supplier_part.html:140 +#: company/templates/company/supplier_part.html:134 msgid "No supplier information available" msgstr "无可用供应商信息" -#: company/templates/company/supplier_part.html:200 +#: company/templates/company/supplier_part.html:194 msgid "Supplier Part Stock" msgstr "供货商商品库存" -#: company/templates/company/supplier_part.html:203 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203 +#: company/templates/company/supplier_part.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "新建库存物品" -#: company/templates/company/supplier_part.html:204 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204 +#: company/templates/company/supplier_part.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:471 msgid "New Stock Item" msgstr "新库存物品" -#: company/templates/company/supplier_part.html:217 +#: company/templates/company/supplier_part.html:211 msgid "Supplier Part Orders" msgstr "供应商商品订单" -#: company/templates/company/supplier_part.html:242 +#: company/templates/company/supplier_part.html:236 msgid "Pricing Information" msgstr "价格信息" -#: company/templates/company/supplier_part.html:247 +#: company/templates/company/supplier_part.html:241 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:666 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:274 +#: company/templates/company/supplier_part.html:268 msgid "Supplier Part QR Code" msgstr "供应商部件二维码" -#: company/templates/company/supplier_part.html:285 +#: company/templates/company/supplier_part.html:279 msgid "Link Barcode to Supplier Part" msgstr "将条码绑定至供应商部件" -#: company/templates/company/supplier_part.html:360 +#: company/templates/company/supplier_part.html:354 msgid "Update Part Availability" msgstr "更新部件可用性" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:174 -#: stock/templates/stock/location.html:188 -#: stock/templates/stock/location.html:200 +#: stock/templates/stock/location.html:168 +#: stock/templates/stock/location.html:182 +#: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:977 -#: templates/js/translated/search.js:200 templates/js/translated/stock.js:2569 +#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2569 #: users/models.py:41 msgid "Stock Items" msgstr "库存项" @@ -4039,7 +4074,7 @@ msgstr "客户信息" msgid "New Customer" msgstr "新建客户" -#: company/views.py:52 templates/js/translated/search.js:220 +#: company/views.py:52 templates/js/translated/search.js:222 msgid "Companies" msgstr "公司" @@ -4113,365 +4148,365 @@ msgstr "查询筛选器 (逗号分隔的键值对列表" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "商品查询筛选器 (逗号分隔的键值对列表)" -#: order/api.py:229 +#: order/api.py:225 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1448 order/models.py:1123 order/models.py:1207 +#: order/api.py:1420 order/models.py:1141 order/models.py:1225 #: 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:182 +#: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1380 templates/js/translated/pricing.js:772 #: templates/js/translated/purchase_order.js:108 -#: templates/js/translated/purchase_order.js:696 -#: templates/js/translated/purchase_order.js:1519 +#: templates/js/translated/purchase_order.js:699 +#: templates/js/translated/purchase_order.js:1586 #: templates/js/translated/stock.js:1970 templates/js/translated/stock.js:2685 msgid "Purchase Order" msgstr "" -#: order/api.py:1452 +#: order/api.py:1424 msgid "Unknown" msgstr "未知" -#: order/models.py:66 report/templates/report/inventree_po_report_base.html:31 +#: order/models.py:67 report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 -#: templates/js/translated/order.js:299 -#: templates/js/translated/purchase_order.js:1963 -#: templates/js/translated/sales_order.js:1723 +#: templates/js/translated/order.js:302 +#: templates/js/translated/purchase_order.js:2030 +#: templates/js/translated/sales_order.js:1739 msgid "Total Price" msgstr "" -#: order/models.py:67 +#: order/models.py:68 msgid "Total price for this order" msgstr "" -#: order/models.py:177 +#: order/models.py:178 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:199 +#: order/models.py:200 msgid "Order description" msgstr "订单描述" -#: order/models.py:201 order/models.py:1395 order/models.py:1877 +#: order/models.py:202 order/models.py:1063 order/models.py:1413 msgid "Link to external page" msgstr "链接到外部页面" -#: order/models.py:206 +#: order/models.py:207 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "预期订单交付日期。超过该日期后订单将逾期。" -#: order/models.py:215 +#: order/models.py:216 msgid "Created By" msgstr "创建者" -#: order/models.py:222 +#: order/models.py:223 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:232 +#: order/models.py:233 msgid "Point of contact for this order" msgstr "" -#: order/models.py:236 +#: order/models.py:237 msgid "Order notes" msgstr "订单备注" -#: order/models.py:327 order/models.py:723 +#: order/models.py:328 order/models.py:735 msgid "Order reference" msgstr "" -#: order/models.py:335 order/models.py:748 +#: order/models.py:336 order/models.py:760 msgid "Purchase order status" msgstr "" -#: order/models.py:350 +#: order/models.py:351 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:358 order/templates/order/order_base.html:132 -#: templates/js/translated/purchase_order.js:1544 +#: order/models.py:359 order/templates/order/order_base.html:151 +#: templates/js/translated/purchase_order.js:1611 msgid "Supplier Reference" msgstr "" -#: order/models.py:358 +#: order/models.py:359 msgid "Supplier order reference code" msgstr "" -#: order/models.py:365 +#: order/models.py:366 msgid "received by" msgstr "接收方" -#: order/models.py:370 order/models.py:1692 +#: order/models.py:371 order/models.py:1710 msgid "Issue Date" msgstr "签发日期" -#: order/models.py:371 order/models.py:1693 +#: order/models.py:372 order/models.py:1711 msgid "Date order was issued" msgstr "订单签发日期" -#: order/models.py:377 order/models.py:1699 +#: order/models.py:378 order/models.py:1717 msgid "Date order was completed" msgstr "订单完成日期" -#: order/models.py:412 +#: order/models.py:413 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:560 +#: order/models.py:566 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:737 +#: order/models.py:749 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:756 order/models.py:1686 +#: order/models.py:768 order/models.py:1704 msgid "Customer Reference " msgstr "" -#: order/models.py:756 order/models.py:1687 +#: order/models.py:768 order/models.py:1705 msgid "Customer order reference code" msgstr "" -#: order/models.py:758 order/models.py:1353 -#: templates/js/translated/sales_order.js:766 -#: templates/js/translated/sales_order.js:929 +#: order/models.py:770 order/models.py:1371 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:932 msgid "Shipment Date" msgstr "发货日期" -#: order/models.py:765 +#: order/models.py:777 msgid "shipped by" msgstr "" -#: order/models.py:814 +#: order/models.py:826 msgid "Order cannot be completed as no parts have been assigned" msgstr "尚未分配部件,因此订单无法完成" -#: order/models.py:818 -msgid "Only a pending order can be marked as complete" -msgstr "只有带完成订单可被标记为完成" +#: order/models.py:830 +msgid "Only an open order can be marked as complete" +msgstr "" -#: order/models.py:821 templates/js/translated/sales_order.js:438 +#: order/models.py:833 templates/js/translated/sales_order.js:441 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:824 +#: order/models.py:836 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1031 +#: order/models.py:1043 msgid "Item quantity" msgstr "物品数量" -#: order/models.py:1044 +#: order/models.py:1056 msgid "Line item reference" msgstr "" -#: order/models.py:1046 +#: order/models.py:1058 msgid "Line item notes" msgstr "" -#: order/models.py:1051 +#: order/models.py:1069 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1068 +#: order/models.py:1086 msgid "Context" msgstr "" -#: order/models.py:1069 +#: order/models.py:1087 msgid "Additional context for this line" msgstr "" -#: order/models.py:1078 +#: order/models.py:1096 msgid "Unit price" msgstr "单价" -#: order/models.py:1108 +#: order/models.py:1126 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1116 +#: order/models.py:1134 msgid "deleted" msgstr "" -#: order/models.py:1122 order/models.py:1207 order/models.py:1248 -#: order/models.py:1347 order/models.py:1482 order/models.py:1842 -#: order/models.py:1891 templates/js/translated/sales_order.js:1380 +#: order/models.py:1140 order/models.py:1225 order/models.py:1266 +#: order/models.py:1365 order/models.py:1500 order/models.py:1857 +#: order/models.py:1904 templates/js/translated/sales_order.js:1383 msgid "Order" msgstr "" -#: order/models.py:1141 +#: order/models.py:1159 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1148 order/templates/order/order_base.html:180 +#: order/models.py:1166 order/templates/order/order_base.html:199 #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1536 -#: templates/js/translated/purchase_order.js:1198 -#: templates/js/translated/purchase_order.js:2007 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/purchase_order.js:1225 +#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/return_order.js:706 #: templates/js/translated/table_filters.js:48 #: templates/js/translated/table_filters.js:421 msgid "Received" msgstr "" -#: order/models.py:1149 +#: order/models.py:1167 msgid "Number of items received" msgstr "" -#: order/models.py:1156 stock/models.py:809 stock/serializers.py:229 -#: stock/templates/stock/item_base.html:189 +#: order/models.py:1174 stock/models.py:810 stock/serializers.py:229 +#: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2021 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1157 +#: order/models.py:1175 msgid "Unit purchase price" msgstr "" -#: order/models.py:1170 +#: order/models.py:1188 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1236 +#: order/models.py:1254 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1241 +#: order/models.py:1259 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1267 part/templates/part/part_pricing.html:107 +#: order/models.py:1285 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:922 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1268 +#: order/models.py:1286 msgid "Unit sale price" msgstr "" -#: order/models.py:1278 +#: order/models.py:1296 msgid "Shipped quantity" msgstr "" -#: order/models.py:1354 +#: order/models.py:1372 msgid "Date of shipment" msgstr "" -#: order/models.py:1361 +#: order/models.py:1379 msgid "Checked By" msgstr "" -#: order/models.py:1362 +#: order/models.py:1380 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1369 order/models.py:1558 order/serializers.py:1215 -#: order/serializers.py:1343 templates/js/translated/model_renderers.js:409 +#: order/models.py:1387 order/models.py:1576 order/serializers.py:1224 +#: order/serializers.py:1352 templates/js/translated/model_renderers.js:409 msgid "Shipment" msgstr "" -#: order/models.py:1370 +#: order/models.py:1388 msgid "Shipment number" msgstr "" -#: order/models.py:1374 +#: order/models.py:1392 msgid "Shipment notes" msgstr "" -#: order/models.py:1380 +#: order/models.py:1398 msgid "Tracking Number" msgstr "" -#: order/models.py:1381 +#: order/models.py:1399 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1388 +#: order/models.py:1406 msgid "Invoice Number" msgstr "" -#: order/models.py:1389 +#: order/models.py:1407 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1407 +#: order/models.py:1425 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1410 +#: order/models.py:1428 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1517 order/models.py:1519 +#: order/models.py:1535 order/models.py:1537 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1523 +#: order/models.py:1541 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1525 +#: order/models.py:1543 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1528 +#: order/models.py:1546 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1538 order/serializers.py:1077 +#: order/models.py:1556 order/serializers.py:1086 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1541 +#: order/models.py:1559 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1542 +#: order/models.py:1560 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1550 +#: order/models.py:1568 msgid "Line" msgstr "" -#: order/models.py:1559 +#: order/models.py:1577 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1572 order/models.py:1850 -#: templates/js/translated/return_order.js:661 +#: order/models.py:1590 order/models.py:1865 +#: templates/js/translated/return_order.js:664 msgid "Item" msgstr "物品" -#: order/models.py:1573 +#: order/models.py:1591 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1576 +#: order/models.py:1594 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1656 +#: order/models.py:1674 msgid "Return Order reference" msgstr "" -#: order/models.py:1670 +#: order/models.py:1688 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1681 +#: order/models.py:1699 msgid "Return order status" msgstr "" -#: order/models.py:1835 +#: order/models.py:1850 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1843 order/models.py:1891 +#: order/models.py:1858 order/models.py:1904 #: 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 @@ -4480,164 +4515,168 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/models.py:1851 +#: order/models.py:1866 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1856 +#: order/models.py:1871 msgid "Received Date" msgstr "" -#: order/models.py:1857 +#: order/models.py:1872 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1868 templates/js/translated/return_order.js:672 +#: order/models.py:1883 templates/js/translated/return_order.js:675 #: templates/js/translated/table_filters.js:51 msgid "Outcome" msgstr "" -#: order/models.py:1868 +#: order/models.py:1883 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1874 +#: order/models.py:1889 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:223 +#: order/serializers.py:228 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:238 order/serializers.py:1095 +#: order/serializers.py:243 order/serializers.py:1104 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:249 order/serializers.py:1106 +#: order/serializers.py:254 order/serializers.py:1115 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:361 +#: order/serializers.py:367 msgid "Order is not open" msgstr "" -#: order/serializers.py:379 +#: order/serializers.py:385 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:397 +#: order/serializers.py:403 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:408 +#: order/serializers.py:414 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:409 +#: order/serializers.py:415 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:447 order/serializers.py:1183 +#: order/serializers.py:453 order/serializers.py:1192 msgid "Line Item" msgstr "" -#: order/serializers.py:453 +#: order/serializers.py:459 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:463 order/serializers.py:582 order/serializers.py:1554 +#: order/serializers.py:469 order/serializers.py:590 order/serializers.py:1563 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:482 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:488 templates/js/translated/purchase_order.js:1049 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:490 templates/js/translated/purchase_order.js:1070 +#: order/serializers.py:496 templates/js/translated/purchase_order.js:1073 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:504 -msgid "Unique identifier field" +#: order/serializers.py:509 templates/js/translated/barcode.js:41 +msgid "Barcode" +msgstr "条形码" + +#: order/serializers.py:510 +msgid "Scanned barcode" msgstr "" -#: order/serializers.py:518 +#: order/serializers.py:526 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:552 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:598 order/serializers.py:1569 +#: order/serializers.py:606 order/serializers.py:1578 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:615 +#: order/serializers.py:623 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:626 +#: order/serializers.py:634 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:920 +#: order/serializers.py:929 msgid "Sale price currency" msgstr "" -#: order/serializers.py:975 +#: order/serializers.py:984 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1038 order/serializers.py:1192 +#: order/serializers.py:1047 order/serializers.py:1201 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1060 +#: order/serializers.py:1069 msgid "Quantity must be positive" msgstr "数量必须大于0" -#: order/serializers.py:1205 +#: order/serializers.py:1214 msgid "Enter serial numbers to allocate" msgstr "输入序列号以进行分配" -#: order/serializers.py:1227 order/serializers.py:1351 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1230 order/serializers.py:1354 +#: order/serializers.py:1239 order/serializers.py:1363 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1284 +#: order/serializers.py:1293 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1294 +#: order/serializers.py:1303 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1520 +#: order/serializers.py:1529 msgid "Return order line item" msgstr "" -#: order/serializers.py:1527 +#: order/serializers.py:1536 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1530 +#: order/serializers.py:1539 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1571 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1642 +#: order/serializers.py:1652 msgid "Line price currency" msgstr "" @@ -4659,111 +4698,119 @@ msgstr "" msgid "Sales order {so} is now overdue" msgstr "" -#: order/templates/order/order_base.html:33 +#: order/templates/order/order_base.html:51 msgid "Print purchase order report" msgstr "" -#: order/templates/order/order_base.html:35 -#: order/templates/order/return_order_base.html:45 -#: order/templates/order/sales_order_base.html:45 +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:63 +#: order/templates/order/sales_order_base.html:63 msgid "Export order to file" msgstr "" -#: order/templates/order/order_base.html:41 -#: order/templates/order/return_order_base.html:55 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:73 +#: order/templates/order/sales_order_base.html:72 msgid "Order actions" msgstr "" -#: order/templates/order/order_base.html:46 -#: order/templates/order/return_order_base.html:59 -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:77 +#: order/templates/order/sales_order_base.html:76 msgid "Edit order" msgstr "编辑订单" -#: order/templates/order/order_base.html:50 -#: order/templates/order/return_order_base.html:61 -#: order/templates/order/sales_order_base.html:60 +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:79 +#: order/templates/order/sales_order_base.html:78 msgid "Cancel order" msgstr "取消订单" -#: order/templates/order/order_base.html:55 +#: order/templates/order/order_base.html:73 msgid "Duplicate order" msgstr "复制订单" -#: order/templates/order/order_base.html:61 -#: order/templates/order/order_base.html:62 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 msgid "Submit Order" msgstr "提交订单" -#: order/templates/order/order_base.html:65 +#: order/templates/order/order_base.html:83 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:67 +#: order/templates/order/order_base.html:85 msgid "Receive Items" msgstr "" -#: order/templates/order/order_base.html:69 -#: order/templates/order/return_order_base.html:69 +#: order/templates/order/order_base.html:87 +#: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "标记订单为完成" -#: order/templates/order/order_base.html:70 -#: order/templates/order/return_order_base.html:70 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/order_base.html:88 +#: order/templates/order/return_order_base.html:88 +#: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "完成订单" -#: order/templates/order/order_base.html:92 -#: order/templates/order/return_order_base.html:84 -#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/order_base.html:110 +#: order/templates/order/return_order_base.html:102 +#: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:97 -#: order/templates/order/return_order_base.html:89 -#: order/templates/order/sales_order_base.html:94 +#: order/templates/order/order_base.html:115 +#: order/templates/order/return_order_base.html:107 +#: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:102 -#: order/templates/order/return_order_base.html:94 -#: order/templates/order/sales_order_base.html:99 +#: order/templates/order/order_base.html:121 +#: order/templates/order/return_order_base.html:115 +#: order/templates/order/sales_order_base.html:118 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:125 +#: order/templates/order/order_base.html:144 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:138 +#: order/templates/order/order_base.html:157 +#: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:144 -#: order/templates/order/sales_order_base.html:144 -#: order/templates/order/sales_order_base.html:154 +#: order/templates/order/order_base.html:163 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:163 -#: order/templates/order/return_order_base.html:138 +#: order/templates/order/order_base.html:182 +#: order/templates/order/return_order_base.html:159 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:201 +#: order/templates/order/order_base.html:220 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:205 -#: order/templates/order/return_order_base.html:173 -#: order/templates/order/sales_order_base.html:213 +#: order/templates/order/order_base.html:224 +#: order/templates/order/return_order_base.html:194 +#: order/templates/order/sales_order_base.html:232 msgid "Total cost could not be calculated" msgstr "" +#: order/templates/order/order_base.html:330 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:342 +msgid "Link Barcode to Purchase Order" +msgstr "" + #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 @@ -4815,10 +4862,10 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:485 #: templates/js/translated/build.js:646 templates/js/translated/build.js:2097 -#: templates/js/translated/purchase_order.js:640 -#: templates/js/translated/purchase_order.js:1144 -#: templates/js/translated/return_order.js:449 -#: templates/js/translated/sales_order.js:1002 +#: templates/js/translated/purchase_order.js:643 +#: templates/js/translated/purchase_order.js:1155 +#: templates/js/translated/return_order.js:452 +#: templates/js/translated/sales_order.js:1005 #: templates/js/translated/stock.js:660 templates/js/translated/stock.js:829 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4880,9 +4927,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:28 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:367 -#: templates/js/translated/return_order.js:402 -#: templates/js/translated/sales_order.js:176 +#: templates/js/translated/purchase_order.js:370 +#: templates/js/translated/return_order.js:405 +#: templates/js/translated/sales_order.js:179 msgid "Add Line Item" msgstr "" @@ -4920,70 +4967,86 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/return_order_base.html:43 +#: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" -#: order/templates/order/return_order_base.html:47 -#: order/templates/order/sales_order_base.html:47 +#: order/templates/order/return_order_base.html:65 +#: order/templates/order/sales_order_base.html:65 msgid "Print packing list" msgstr "" -#: order/templates/order/return_order_base.html:65 -#: order/templates/order/return_order_base.html:66 -#: order/templates/order/sales_order_base.html:66 -#: order/templates/order/sales_order_base.html:67 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/return_order_base.html:84 +#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:85 msgid "Issue Order" msgstr "" -#: order/templates/order/return_order_base.html:119 -#: order/templates/order/sales_order_base.html:132 +#: order/templates/order/return_order_base.html:140 +#: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:267 -#: templates/js/translated/sales_order.js:732 +#: templates/js/translated/sales_order.js:735 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:169 -#: order/templates/order/sales_order_base.html:209 +#: order/templates/order/return_order_base.html:190 +#: order/templates/order/sales_order_base.html:228 #: part/templates/part/part_pricing.html:32 #: 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:989 -#: templates/js/translated/purchase_order.js:1582 +#: templates/js/translated/purchase_order.js:1649 #: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:778 +#: templates/js/translated/sales_order.js:781 msgid "Total Cost" msgstr "总成本" +#: order/templates/order/return_order_base.html:258 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:270 +msgid "Link Barcode to Return Order" +msgstr "" + #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:43 +#: order/templates/order/sales_order_base.html:61 msgid "Print sales order report" msgstr "" -#: order/templates/order/sales_order_base.html:71 -#: order/templates/order/sales_order_base.html:72 +#: order/templates/order/sales_order_base.html:89 +#: order/templates/order/sales_order_base.html:90 msgid "Ship Items" msgstr "" -#: order/templates/order/sales_order_base.html:75 -#: templates/js/translated/sales_order.js:416 +#: order/templates/order/sales_order_base.html:93 +#: templates/js/translated/sales_order.js:419 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:112 +#: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:150 +#: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:105 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" +#: order/templates/order/sales_order_base.html:305 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:317 +msgid "Link Barcode to Sales Order" +msgstr "" + #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" @@ -5039,20 +5102,20 @@ msgstr "部件名称" msgid "Part Description" msgstr "部件描述" -#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:272 +#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1143 templates/js/translated/part.js:1855 #: templates/js/translated/stock.js:1769 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:280 +#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279 #: report/models.py:177 templates/js/translated/part.js:1148 #: templates/js/translated/part.js:1861 msgid "Revision" msgstr "版本号" #: part/admin.py:38 part/admin.py:198 part/models.py:866 -#: part/templates/part/category.html:93 part/templates/part/part_base.html:301 +#: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "关键词" @@ -5072,17 +5135,17 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:206 +#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "最低库存" -#: part/admin.py:61 part/templates/part/part_base.html:200 +#: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1277 #: templates/js/translated/table_filters.js:253 msgid "In Stock" msgstr "有库存" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213 +#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940 #: templates/js/translated/part.js:630 templates/js/translated/part.js:1749 #: templates/js/translated/table_filters.js:96 @@ -5095,11 +5158,11 @@ msgstr "用于" #: part/admin.py:64 templates/js/translated/build.js:1954 #: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799 -#: templates/js/translated/sales_order.js:1802 +#: templates/js/translated/sales_order.js:1818 msgid "Allocated" msgstr "已分配" -#: part/admin.py:65 part/templates/part/part_base.html:244 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:635 templates/js/translated/part.js:1753 msgid "Building" msgstr "" @@ -5131,7 +5194,7 @@ msgstr "类别路径" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:43 -#: templates/js/translated/part.js:2367 templates/js/translated/search.js:158 +#: templates/js/translated/part.js:2367 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" @@ -5162,36 +5225,36 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:504 +#: part/api.py:495 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:515 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:533 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:628 +#: part/api.py:619 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:776 +#: part/api.py:767 msgid "Valid" msgstr "" -#: part/api.py:777 +#: part/api.py:768 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:783 +#: part/api.py:774 msgid "This option must be selected" msgstr "必须选择此项" #: part/bom.py:175 part/models.py:121 part/models.py:914 -#: part/templates/part/category.html:115 part/templates/part/part_base.html:376 +#: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "默认仓储地点" @@ -5199,8 +5262,8 @@ msgstr "默认仓储地点" msgid "Total Stock" msgstr "总库存" -#: part/bom.py:177 part/templates/part/part_base.html:195 -#: templates/js/translated/sales_order.js:1769 +#: part/bom.py:177 part/templates/part/part_base.html:194 +#: templates/js/translated/sales_order.js:1785 msgid "Available Stock" msgstr "可用库存" @@ -5214,7 +5277,7 @@ msgid "Part Category" msgstr "商品类别" #: part/models.py:72 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:186 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188 #: users/models.py:37 msgid "Part Categories" msgstr "商品类别" @@ -5223,7 +5286,7 @@ msgstr "商品类别" msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2575 +#: part/models.py:127 stock/models.py:120 templates/js/translated/stock.js:2575 #: templates/js/translated/table_filters.js:163 #: templates/js/translated/table_filters.js:182 msgid "Structural" @@ -5241,11 +5304,11 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:138 stock/models.py:108 +#: part/models.py:138 stock/models.py:109 msgid "Icon" msgstr "图标" -#: part/models.py:139 stock/models.py:109 +#: part/models.py:139 stock/models.py:110 msgid "Icon (optional)" msgstr "图标(可选)" @@ -5299,7 +5362,7 @@ msgstr "" msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:855 +#: part/models.py:855 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" @@ -5312,7 +5375,7 @@ msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" #: part/models.py:874 part/models.py:3182 part/models.py:3419 -#: part/serializers.py:849 part/templates/part/part_base.html:263 +#: part/serializers.py:849 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:132 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1885 templates/js/translated/part.js:2097 @@ -5335,7 +5398,7 @@ msgstr "商品版本号" msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:957 part/templates/part/part_base.html:385 +#: part/models.py:957 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" @@ -5415,8 +5478,8 @@ msgstr "新建用户" msgid "User responsible for this part" msgstr "" -#: part/models.py:1036 part/templates/part/part_base.html:348 -#: stock/templates/stock/item_base.html:448 +#: part/models.py:1036 part/templates/part/part_base.html:341 +#: stock/templates/stock/item_base.html:441 #: templates/js/translated/part.js:1947 msgid "Last Stocktake" msgstr "" @@ -5573,7 +5636,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 #: templates/js/translated/part.js:1002 templates/js/translated/pricing.js:794 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/purchase_order.js:1561 +#: templates/js/translated/purchase_order.js:1628 #: templates/js/translated/stock.js:2613 msgid "Date" msgstr "日期" @@ -5826,7 +5889,7 @@ msgstr "" msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3713 stock/models.py:569 +#: part/models.py:3713 stock/models.py:570 msgid "Quantity must be integer value for trackable parts" msgstr "" @@ -6106,7 +6169,7 @@ msgstr "" #: part/tasks.py:289 templates/js/translated/part.js:983 #: templates/js/translated/part.js:1456 templates/js/translated/part.js:1512 -#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/purchase_order.js:1989 msgid "Total Quantity" msgstr "总数量" @@ -6268,7 +6331,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:562 +#: templates/js/translated/tables.js:572 msgid "Refresh" msgstr "" @@ -6420,13 +6483,13 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:109 templates/js/translated/tables.js:183 +#: templates/js/translated/order.js:112 templates/js/translated/tables.js:183 msgid "Format" msgstr "格式" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:110 +#: templates/js/translated/order.js:113 msgid "Select file format" msgstr "" @@ -6511,9 +6574,8 @@ msgid "Part can be sold to customers" msgstr "商品可以销售给客户" #: part/templates/part/part_base.html:147 -#: part/templates/part/part_base.html:155 -msgid "Part is virtual (not a physical part)" -msgstr "商品是虚拟的(不是实体零件)" +msgid "Part is not active" +msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:930 @@ -6523,71 +6585,70 @@ msgstr "商品是虚拟的(不是实体零件)" msgid "Inactive" msgstr "" +#: part/templates/part/part_base.html:155 +msgid "Part is virtual (not a physical part)" +msgstr "商品是虚拟的(不是实体零件)" + #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:691 +#: part/templates/part/part_base.html:684 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:183 -#, python-format -msgid "This part is a variant of %(link)s" -msgstr "" - -#: part/templates/part/part_base.html:221 -#: stock/templates/stock/item_base.html:385 +#: part/templates/part/part_base.html:220 +#: stock/templates/stock/item_base.html:378 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:230 -#: stock/templates/stock/item_base.html:378 +#: part/templates/part/part_base.html:229 +#: stock/templates/stock/item_base.html:371 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1174 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1174 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:294 +#: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1037 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 #: templates/js/translated/part.js:1181 templates/js/translated/part.js:1920 #: templates/js/translated/pricing.js:373 #: templates/js/translated/pricing.js:1019 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:354 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 -#: stock/templates/stock/item_base.html:334 +#: part/templates/part/part_base.html:358 +#: stock/templates/stock/item_base.html:323 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:446 msgid "Part QR Code" msgstr "商品二维码" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:463 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:513 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:530 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:589 +#: part/templates/part/part_base.html:582 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:685 +#: part/templates/part/part_base.html:678 msgid "Hide Part Details" msgstr "" @@ -6677,7 +6738,7 @@ msgid "Refresh Part Pricing" msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 -#: stock/templates/stock/item_base.html:443 +#: stock/templates/stock/item_base.html:436 #: templates/js/translated/company.js:1291 #: templates/js/translated/company.js:1301 #: templates/js/translated/stock.js:1956 @@ -6857,6 +6918,7 @@ msgid "Match found for barcode data" msgstr "找到匹配条形码数据" #: plugin/base/barcodes/api.py:120 +#: templates/js/translated/purchase_order.js:1321 msgid "Barcode matches existing item" msgstr "" @@ -6868,15 +6930,15 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:26 +#: plugin/builtin/barcodes/inventree_barcode.py:28 msgid "InvenTree Barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:27 +#: plugin/builtin/barcodes/inventree_barcode.py:29 msgid "Provides native support for barcodes" msgstr "" -#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/barcodes/inventree_barcode.py:31 #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree contributors" msgstr "" @@ -7172,11 +7234,11 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:30 #: report/templates/report/inventree_so_report_base.html:30 -#: templates/js/translated/order.js:288 templates/js/translated/pricing.js:509 +#: templates/js/translated/order.js:291 templates/js/translated/pricing.js:509 #: templates/js/translated/pricing.js:578 #: templates/js/translated/pricing.js:802 -#: templates/js/translated/purchase_order.js:1953 -#: templates/js/translated/sales_order.js:1713 +#: templates/js/translated/purchase_order.js:2020 +#: templates/js/translated/sales_order.js:1729 msgid "Unit Price" msgstr "单价" @@ -7188,22 +7250,22 @@ 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:1855 -#: templates/js/translated/sales_order.js:1688 +#: templates/js/translated/purchase_order.js:1922 +#: templates/js/translated/sales_order.js:1704 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:717 stock/templates/stock/item_base.html:323 +#: stock/models.py:718 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:475 templates/js/translated/build.js:636 #: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738 #: templates/js/translated/model_renderers.js:195 -#: templates/js/translated/return_order.js:483 -#: templates/js/translated/return_order.js:663 -#: templates/js/translated/sales_order.js:251 -#: templates/js/translated/sales_order.js:1493 -#: templates/js/translated/sales_order.js:1578 +#: templates/js/translated/return_order.js:486 +#: templates/js/translated/return_order.js:666 +#: templates/js/translated/sales_order.js:254 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1594 #: templates/js/translated/stock.js:526 msgid "Serial Number" msgstr "序列号" @@ -7217,12 +7279,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2185 templates/js/translated/stock.js:1398 +#: stock/models.py:2209 templates/js/translated/stock.js:1398 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2191 +#: stock/models.py:2215 msgid "Result" msgstr "" @@ -7290,8 +7352,8 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:700 -#: stock/templates/stock/item_base.html:362 +#: stock/admin.py:114 stock/models.py:701 +#: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7315,278 +7377,278 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:773 -#: stock/templates/stock/item_base.html:430 +#: stock/admin.py:131 stock/models.py:774 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/stock.js:1940 msgid "Expiry Date" msgstr "" -#: stock/api.py:416 templates/js/translated/table_filters.js:325 +#: stock/api.py:409 templates/js/translated/table_filters.js:325 msgid "External Location" msgstr "" -#: stock/api.py:577 +#: stock/api.py:570 msgid "Quantity is required" msgstr "" -#: stock/api.py:584 +#: stock/api.py:577 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:609 +#: stock/api.py:602 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:53 stock/models.py:684 +#: stock/models.py:54 stock/models.py:685 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:54 stock/templates/stock/location.html:183 -#: templates/InvenTree/search.html:167 templates/js/translated/search.js:206 +#: stock/models.py:55 stock/templates/stock/location.html:177 +#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208 #: users/models.py:40 msgid "Stock Locations" msgstr "仓储地点" -#: stock/models.py:113 stock/models.py:814 -#: stock/templates/stock/item_base.html:253 +#: stock/models.py:114 stock/models.py:815 +#: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:114 stock/models.py:815 +#: stock/models.py:115 stock/models.py:816 msgid "Select Owner" msgstr "" -#: stock/models.py:121 +#: stock/models.py:122 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:127 templates/js/translated/stock.js:2584 +#: stock/models.py:128 templates/js/translated/stock.js:2584 #: templates/js/translated/table_filters.js:167 msgid "External" msgstr "" -#: stock/models.py:128 +#: stock/models.py:129 msgid "This is an external stock location" msgstr "" -#: stock/models.py:170 +#: stock/models.py:171 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:549 +#: stock/models.py:550 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:575 stock/serializers.py:151 +#: stock/models.py:576 stock/serializers.py:151 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:592 +#: stock/models.py:593 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:602 stock/models.py:611 +#: stock/models.py:603 stock/models.py:612 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:603 +#: stock/models.py:604 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:625 +#: stock/models.py:626 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:631 +#: stock/models.py:632 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:645 +#: stock/models.py:646 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:659 +#: stock/models.py:660 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:669 +#: stock/models.py:670 msgid "Base part" msgstr "" -#: stock/models.py:677 +#: stock/models.py:678 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:687 +#: stock/models.py:688 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:694 +#: stock/models.py:695 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:703 +#: stock/models.py:704 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:719 +#: stock/models.py:720 msgid "Serial number for this item" msgstr "" -#: stock/models.py:733 +#: stock/models.py:734 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:738 +#: stock/models.py:739 msgid "Stock Quantity" msgstr "" -#: stock/models.py:745 +#: stock/models.py:746 msgid "Source Build" msgstr "" -#: stock/models.py:747 +#: stock/models.py:748 msgid "Build for this stock item" msgstr "" -#: stock/models.py:758 +#: stock/models.py:759 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:761 +#: stock/models.py:762 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:767 +#: stock/models.py:768 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:774 +#: stock/models.py:775 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete on deplete" msgstr "" -#: stock/models.py:789 +#: stock/models.py:790 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:802 stock/templates/stock/item.html:132 +#: stock/models.py:803 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:810 +#: stock/models.py:811 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:838 +#: stock/models.py:839 msgid "Converted to part" msgstr "" -#: stock/models.py:1337 +#: stock/models.py:1361 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1343 +#: stock/models.py:1367 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1349 +#: stock/models.py:1373 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1352 +#: stock/models.py:1376 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1379 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1362 +#: stock/models.py:1386 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1432 +#: stock/models.py:1456 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1435 +#: stock/models.py:1459 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1438 +#: stock/models.py:1462 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1441 +#: stock/models.py:1465 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1444 +#: stock/models.py:1468 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1447 +#: stock/models.py:1471 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1454 stock/serializers.py:946 +#: stock/models.py:1478 stock/serializers.py:946 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1458 +#: stock/models.py:1482 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1462 +#: stock/models.py:1486 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1466 +#: stock/models.py:1490 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1635 +#: stock/models.py:1659 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:2127 msgid "Entry notes" msgstr "" -#: stock/models.py:2161 +#: stock/models.py:2185 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2167 +#: stock/models.py:2191 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2186 +#: stock/models.py:2210 msgid "Test name" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2216 msgid "Test result" msgstr "" -#: stock/models.py:2198 +#: stock/models.py:2222 msgid "Test output value" msgstr "" -#: stock/models.py:2205 +#: stock/models.py:2229 msgid "Test result attachment" msgstr "" -#: stock/models.py:2211 +#: stock/models.py:2235 msgid "Test notes" msgstr "" @@ -7843,129 +7905,133 @@ msgstr "" msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:199 +#: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:212 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:257 +#: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:258 +#: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:266 +msgid "This stock item is unavailable" +msgstr "" + +#: stock/templates/stock/item_base.html:272 msgid "This stock item is in production and cannot be edited." msgstr "此库存项目正在生产中,无法编辑。" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:273 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:285 -msgid "This stock item has not passed all required tests" -msgstr "" - -#: stock/templates/stock/item_base.html:293 +#: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:301 +#: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:307 -msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." +#: stock/templates/stock/item_base.html:312 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:329 +#: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:338 +#: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:351 +#: stock/templates/stock/item_base.html:341 msgid "Available Quantity" msgstr "" -#: stock/templates/stock/item_base.html:395 +#: stock/templates/stock/item_base.html:388 #: templates/js/translated/build.js:1764 msgid "No location set" msgstr "未设置仓储地点" -#: stock/templates/stock/item_base.html:410 +#: stock/templates/stock/item_base.html:403 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:409 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:427 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:434 +#: stock/templates/stock/item_base.html:427 #: templates/js/translated/table_filters.js:333 msgid "Expired" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:436 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/table_filters.js:339 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:452 +#: stock/templates/stock/item_base.html:445 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:530 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:538 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:550 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:617 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "警告" -#: stock/templates/stock/item_base.html:618 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:626 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:649 msgid "Return to Stock" msgstr "" @@ -8025,29 +8091,29 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。" -#: stock/templates/stock/location.html:169 -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:163 +#: stock/templates/stock/location.html:211 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:221 +#: stock/templates/stock/location.html:215 msgid "Create new stock location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:222 +#: stock/templates/stock/location.html:216 msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:309 +#: stock/templates/stock/location.html:303 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:382 +#: stock/templates/stock/location.html:376 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:393 +#: stock/templates/stock/location.html:387 msgid "Link Barcode to Stock Location" msgstr "" @@ -8585,7 +8651,7 @@ msgid "Home Page" msgstr "主页" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:553 templates/navbar.html:107 +#: templates/js/translated/tables.js:563 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9105,6 +9171,10 @@ msgstr "" msgid "Delete Attachments" msgstr "" +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + #: templates/base.html:102 msgid "Server Restart Required" msgstr "" @@ -9259,10 +9329,6 @@ msgstr "" msgid "Enter barcode data" msgstr "输入条形码数据" -#: templates/js/translated/barcode.js:41 -msgid "Barcode" -msgstr "条形码" - #: templates/js/translated/barcode.js:48 msgid "Scan barcode using connected webcam" msgstr "" @@ -9275,94 +9341,94 @@ msgstr "" msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:172 +#: templates/js/translated/barcode.js:175 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:201 +#: templates/js/translated/barcode.js:204 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:236 +#: templates/js/translated/barcode.js:239 #: templates/js/translated/modals.js:1100 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:354 +#: templates/js/translated/barcode.js:359 msgid "Scan barcode data" msgstr "" -#: templates/js/translated/barcode.js:404 templates/navbar.html:114 +#: templates/js/translated/barcode.js:407 templates/navbar.html:114 msgid "Scan Barcode" msgstr "扫描条形码" -#: templates/js/translated/barcode.js:416 +#: templates/js/translated/barcode.js:427 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:455 +#: templates/js/translated/barcode.js:468 msgid "This will remove the link to the associated barcode" msgstr "" -#: templates/js/translated/barcode.js:461 +#: templates/js/translated/barcode.js:474 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:523 templates/js/translated/stock.js:1097 +#: templates/js/translated/barcode.js:537 templates/js/translated/stock.js:1097 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:566 +#: templates/js/translated/barcode.js:580 msgid "Scan Stock Items Into Location" msgstr "" -#: templates/js/translated/barcode.js:568 +#: templates/js/translated/barcode.js:582 msgid "Scan stock item barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:571 -#: templates/js/translated/barcode.js:763 +#: templates/js/translated/barcode.js:585 +#: templates/js/translated/barcode.js:780 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:602 +#: templates/js/translated/barcode.js:616 msgid "No barcode provided" msgstr "" -#: templates/js/translated/barcode.js:642 +#: templates/js/translated/barcode.js:656 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:646 +#: templates/js/translated/barcode.js:660 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:653 +#: templates/js/translated/barcode.js:667 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:662 +#: templates/js/translated/barcode.js:676 msgid "Barcode does not match valid stock item" msgstr "" -#: templates/js/translated/barcode.js:679 +#: templates/js/translated/barcode.js:695 msgid "Scan Stock Container Into Location" msgstr "" -#: templates/js/translated/barcode.js:681 +#: templates/js/translated/barcode.js:697 msgid "Scan stock container barcode to check in to this location" msgstr "" -#: templates/js/translated/barcode.js:715 +#: templates/js/translated/barcode.js:731 msgid "Barcode does not match valid stock location" msgstr "" -#: templates/js/translated/barcode.js:758 +#: templates/js/translated/barcode.js:775 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:826 -#: templates/js/translated/barcode.js:835 +#: templates/js/translated/barcode.js:843 +#: templates/js/translated/barcode.js:852 msgid "Barcode does not match a valid location" msgstr "" @@ -9381,7 +9447,7 @@ msgstr "" #: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669 #: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608 #: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040 -#: templates/js/translated/purchase_order.js:739 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:742 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -9515,7 +9581,7 @@ msgid "No pricing available" msgstr "" #: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922 -#: templates/js/translated/sales_order.js:1783 +#: templates/js/translated/sales_order.js:1799 msgid "No Stock Available" msgstr "" @@ -9716,12 +9782,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803 -#: templates/js/translated/sales_order.js:1528 +#: templates/js/translated/sales_order.js:1544 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1545 msgid "Delete stock allocation" msgstr "" @@ -9742,17 +9808,17 @@ msgid "Quantity Per" msgstr "" #: templates/js/translated/build.js:1916 -#: templates/js/translated/sales_order.js:1790 +#: templates/js/translated/sales_order.js:1806 msgid "Insufficient stock available" msgstr "" #: templates/js/translated/build.js:1918 -#: templates/js/translated/sales_order.js:1788 +#: templates/js/translated/sales_order.js:1804 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:2014 -#: templates/js/translated/sales_order.js:1879 +#: templates/js/translated/sales_order.js:1905 msgid "Build stock" msgstr "" @@ -9761,23 +9827,23 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2021 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1899 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2059 -#: templates/js/translated/purchase_order.js:564 -#: templates/js/translated/sales_order.js:1065 +#: templates/js/translated/purchase_order.js:567 +#: templates/js/translated/sales_order.js:1068 msgid "Select Parts" msgstr "选择商品" #: templates/js/translated/build.js:2060 -#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1069 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:2108 -#: templates/js/translated/sales_order.js:1014 +#: templates/js/translated/sales_order.js:1017 msgid "Specify stock allocation quantity" msgstr "" @@ -9790,7 +9856,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:2202 -#: templates/js/translated/sales_order.js:1080 +#: templates/js/translated/sales_order.js:1083 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -9799,12 +9865,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:2241 -#: templates/js/translated/sales_order.js:1177 +#: templates/js/translated/sales_order.js:1180 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:2314 -#: templates/js/translated/sales_order.js:1254 +#: templates/js/translated/sales_order.js:1257 msgid "No matching stock items" msgstr "" @@ -10120,7 +10186,7 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:267 +#: templates/js/translated/forms.js:2010 templates/js/translated/search.js:269 msgid "Searching" msgstr "" @@ -10148,7 +10214,7 @@ msgstr "" msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:460 +#: templates/js/translated/helpers.js:466 msgid "Notes updated" msgstr "" @@ -10275,40 +10341,40 @@ msgstr "" msgid "Notifications will load here" msgstr "" -#: templates/js/translated/order.js:69 +#: templates/js/translated/order.js:72 msgid "Add Extra Line Item" msgstr "" -#: templates/js/translated/order.js:106 +#: templates/js/translated/order.js:109 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:219 +#: templates/js/translated/order.js:222 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:233 +#: templates/js/translated/order.js:236 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:246 +#: templates/js/translated/order.js:249 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:259 -#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/order.js:262 +#: templates/js/translated/purchase_order.js:1895 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:332 +#: templates/js/translated/order.js:344 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:333 +#: templates/js/translated/order.js:345 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:349 msgid "Delete line" msgstr "" @@ -10510,19 +10576,19 @@ msgid "No variants found" msgstr "" #: templates/js/translated/part.js:1351 -#: templates/js/translated/purchase_order.js:1500 +#: templates/js/translated/purchase_order.js:1567 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1495 -#: templates/js/translated/purchase_order.js:1991 -#: templates/js/translated/return_order.js:695 -#: templates/js/translated/sales_order.js:1751 +#: templates/js/translated/purchase_order.js:2058 +#: templates/js/translated/return_order.js:698 +#: templates/js/translated/sales_order.js:1767 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1541 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:2125 msgid "Receive line item" msgstr "" @@ -10718,184 +10784,206 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:384 +#: templates/js/translated/purchase_order.js:387 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:401 +#: templates/js/translated/purchase_order.js:404 #: templates/js/translated/return_order.js:165 -#: templates/js/translated/sales_order.js:432 +#: templates/js/translated/sales_order.js:435 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:407 +#: templates/js/translated/purchase_order.js:410 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:412 +#: templates/js/translated/purchase_order.js:415 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:413 -#: templates/js/translated/sales_order.js:446 +#: templates/js/translated/purchase_order.js:416 +#: templates/js/translated/sales_order.js:449 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:439 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:441 +#: templates/js/translated/purchase_order.js:444 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:447 +#: templates/js/translated/purchase_order.js:450 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:468 +#: templates/js/translated/purchase_order.js:471 #: templates/js/translated/return_order.js:119 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:476 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:565 +#: templates/js/translated/purchase_order.js:568 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:590 +#: templates/js/translated/purchase_order.js:593 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:599 +#: templates/js/translated/purchase_order.js:602 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:620 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:649 +#: templates/js/translated/purchase_order.js:652 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:793 +#: templates/js/translated/purchase_order.js:796 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:812 +#: templates/js/translated/purchase_order.js:815 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:991 +#: templates/js/translated/purchase_order.js:994 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:992 -#: templates/js/translated/return_order.js:435 +#: templates/js/translated/purchase_order.js:995 +#: templates/js/translated/return_order.js:438 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1012 -#: templates/js/translated/purchase_order.js:1125 -msgid "Add batch code" -msgstr "" - -#: templates/js/translated/purchase_order.js:1018 -#: templates/js/translated/purchase_order.js:1136 -msgid "Add serial numbers" -msgstr "" - -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1023 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1034 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1108 +#: templates/js/translated/purchase_order.js:1110 #: templates/js/translated/stock.js:2273 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1196 -msgid "Order Code" -msgstr "订单编码" +#: templates/js/translated/purchase_order.js:1124 +msgid "Add barcode" +msgstr "" -#: templates/js/translated/purchase_order.js:1197 -msgid "Ordered" +#: templates/js/translated/purchase_order.js:1125 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1128 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1136 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1147 +msgid "Add serial numbers" msgstr "" #: templates/js/translated/purchase_order.js:1199 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1224 +msgid "Order Code" +msgstr "订单编码" + +#: templates/js/translated/purchase_order.js:1226 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1222 -#: templates/js/translated/return_order.js:500 +#: templates/js/translated/purchase_order.js:1248 +#: templates/js/translated/return_order.js:503 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1223 +#: templates/js/translated/purchase_order.js:1249 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1527 +#: templates/js/translated/purchase_order.js:1317 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1318 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1332 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1594 #: templates/js/translated/return_order.js:244 -#: templates/js/translated/sales_order.js:709 +#: templates/js/translated/sales_order.js:712 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1644 #: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:777 +#: templates/js/translated/sales_order.js:919 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1676 +#: templates/js/translated/purchase_order.js:1743 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1694 +#: templates/js/translated/purchase_order.js:1761 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1754 -#: templates/js/translated/sales_order.js:1933 +#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/sales_order.js:1959 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1769 -#: templates/js/translated/return_order.js:419 -#: templates/js/translated/return_order.js:608 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/return_order.js:422 +#: templates/js/translated/return_order.js:611 +#: templates/js/translated/sales_order.js:1972 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1780 -#: templates/js/translated/return_order.js:621 -#: templates/js/translated/sales_order.js:1957 +#: templates/js/translated/purchase_order.js:1847 +#: templates/js/translated/return_order.js:624 +#: templates/js/translated/sales_order.js:1983 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2053 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/purchase_order.js:2129 +#: templates/js/translated/sales_order.js:1913 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2054 -#: templates/js/translated/return_order.js:731 -#: templates/js/translated/sales_order.js:1888 +#: templates/js/translated/purchase_order.js:2130 +#: templates/js/translated/return_order.js:743 +#: templates/js/translated/sales_order.js:1914 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2055 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:1894 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:1920 msgid "Delete line item" msgstr "" @@ -10953,20 +11041,20 @@ msgid "No return orders found" msgstr "" #: templates/js/translated/return_order.js:258 -#: templates/js/translated/sales_order.js:723 +#: templates/js/translated/sales_order.js:726 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:501 +#: templates/js/translated/return_order.js:504 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:632 -#: templates/js/translated/sales_order.js:2093 +#: templates/js/translated/return_order.js:635 +#: templates/js/translated/sales_order.js:2119 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:728 +#: templates/js/translated/return_order.js:740 msgid "Mark item as received" msgstr "" @@ -10978,195 +11066,196 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:227 +#: templates/js/translated/sales_order.js:230 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:232 +#: templates/js/translated/sales_order.js:235 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:272 +#: templates/js/translated/sales_order.js:275 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:292 +#: templates/js/translated/sales_order.js:295 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:348 +#: templates/js/translated/sales_order.js:351 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:352 +#: templates/js/translated/sales_order.js:355 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:362 +#: templates/js/translated/sales_order.js:365 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:384 +#: templates/js/translated/sales_order.js:387 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:445 +#: templates/js/translated/sales_order.js:448 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:467 +#: templates/js/translated/sales_order.js:470 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:472 +#: templates/js/translated/sales_order.js:475 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:491 +#: templates/js/translated/sales_order.js:494 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:496 +#: templates/js/translated/sales_order.js:499 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:550 +#: templates/js/translated/sales_order.js:553 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:660 +#: templates/js/translated/sales_order.js:663 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:828 +#: templates/js/translated/sales_order.js:831 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:831 +#: templates/js/translated/sales_order.js:834 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:836 +#: templates/js/translated/sales_order.js:839 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:853 +#: templates/js/translated/sales_order.js:856 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:868 +#: templates/js/translated/sales_order.js:871 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:901 +#: templates/js/translated/sales_order.js:904 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:914 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:935 +#: templates/js/translated/sales_order.js:938 +#: templates/js/translated/sales_order.js:1424 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:941 +#: templates/js/translated/sales_order.js:944 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:945 +#: templates/js/translated/sales_order.js:948 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1113 +#: templates/js/translated/sales_order.js:1116 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1164 +#: templates/js/translated/sales_order.js:1167 msgid "Confirm stock allocation" msgstr "确认库存分配" -#: templates/js/translated/sales_order.js:1165 +#: templates/js/translated/sales_order.js:1168 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1369 +#: templates/js/translated/sales_order.js:1372 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1448 +#: templates/js/translated/sales_order.js:1464 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1462 +#: templates/js/translated/sales_order.js:1478 msgid "Confirm Delete Operation" msgstr "确认删除操作" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1479 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1505 -#: templates/js/translated/sales_order.js:1592 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1608 #: templates/js/translated/stock.js:1664 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1513 -#: templates/js/translated/sales_order.js:1601 +#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1617 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1871 +#: templates/js/translated/sales_order.js:1897 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/sales_order.js:1901 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1884 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:2097 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:1898 +#: templates/js/translated/sales_order.js:1924 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:1901 +#: templates/js/translated/sales_order.js:1927 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:1972 +#: templates/js/translated/sales_order.js:1998 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2079 +#: templates/js/translated/sales_order.js:2105 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:298 +#: templates/js/translated/search.js:300 msgid "No results" msgstr "" -#: templates/js/translated/search.js:320 templates/search.html:25 +#: templates/js/translated/search.js:322 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "result" msgstr "" -#: templates/js/translated/search.js:370 +#: templates/js/translated/search.js:372 msgid "results" msgstr "" -#: templates/js/translated/search.js:380 +#: templates/js/translated/search.js:382 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:383 +#: templates/js/translated/search.js:385 msgid "Remove results" msgstr "" @@ -11848,51 +11937,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:539 +#: templates/js/translated/tables.js:549 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:552 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:557 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "to" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "of" msgstr "" -#: templates/js/translated/tables.js:549 +#: templates/js/translated/tables.js:559 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:556 +#: templates/js/translated/tables.js:566 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:559 +#: templates/js/translated/tables.js:569 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:565 +#: templates/js/translated/tables.js:575 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:568 +#: templates/js/translated/tables.js:578 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:581 msgid "All" msgstr "" From 25e2126b03f3805c70496a2bb3b763b50865ce7d Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 11 Apr 2023 23:37:34 +1000 Subject: [PATCH 129/140] Change text for purchase order (#4599) --- InvenTree/order/templates/order/order_base.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/order/templates/order/order_base.html b/InvenTree/order/templates/order/order_base.html index 3049edf0f1..3160ade55c 100644 --- a/InvenTree/order/templates/order/order_base.html +++ b/InvenTree/order/templates/order/order_base.html @@ -76,8 +76,8 @@
    {% if order.is_pending %} - {% elif order.is_open %}